Home » Archimedes archive » Archimedes World » AW-1991-08.adf » August91 » !AWAug91/Goodies/ADFSFiler/!FreeSpace/AliasCode
!AWAug91/Goodies/ADFSFiler/!FreeSpace/AliasCode
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1991-08.adf » August91 |
Filename: | !AWAug91/Goodies/ADFSFiler/!FreeSpace/AliasCode |
Read OK: | ✔ |
File size: | 2DE9 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM > AliasCode 20REM Program Alias for *free 30 version$= "2.00" 40REM Author Majid Anwar LEN Archimedes World August 1991 50 date$ = " (10 Dec 1990)" 60REM Program Subject to Copyright 70: 80DIM code 3000 90FOR pass=4 TO 7 STEP 3 100O%=code:P%=0 110[OPT pass 120.header EQUD 0 130 EQUD 0 140 EQUD 0 150 EQUD service 160 EQUD title 170 EQUD help 180 EQUD commtable 190 EQUD 0 200 EQUD 0 210 EQUD 0 220 230 ALIGN 240.title EQUS "AliasFree" :EQUB0 250 260 ALIGN 270.help EQUS "AliasFree"+CHR$9+version$+date$+CHR$9+"(c) Majid Anwar" :EQUB0 280 290 ALIGN 300.commtable EQUS "AliasFree" :EQUB0 310 ALIGN 320 EQUD aliasfree 330 EQUD &00010000 340 EQUD ALsyntax 350 EQUD ALhelptext 360 370 EQUD 0 380 390 ALIGN 400.ALhelptext EQUS "*AliasFree supports the !FreeSpace application." :EQUB13 410 EQUS "It is not supposed to be used by the user." :EQUB13 420.ALsyntax EQUS "Syntax: *AliasFree [<disc spec.>]" :EQUB0 430 440 450 460 470 ALIGN 480.service CMP r1,#&57 ; If Service_ReportError, 490 MOVNE pc,r14 500 STMDB r13!,{r1} 510 LDR r1,hogging ; and currently hogging 520 CMP r1,#0 ; the WriteC vector, 530 LDMIA r13!,{r1} 540 MOVEQ pc,r14 550 CMP r0,#0 560 BEQL link ; relink vector after 570 MOVEQ pc,r14 ; Wimp error window, 580 CMP r0,#1 590 BEQL delink ; or delink vector and 600 BEQL clear ; clear the variables, 610 MOV pc,r14 ; before window opens. 620 630.aliasfree STMDB r13!,{r7-r11,r14} ; Save regs 640 650 ADR r1,tail ; Make a copy of 660 MOV r3,#0 ; the command tail 670.loop LDRB r4,[r0,r3] ; after the "FREE" 680 STRB r4,[r1,r3] ; string at end of 690 ADD r3,r3,#1 ; code, so we can 700 CMP r4,#31 ; do a *free later, 710 BGT loop ; when we're ready 720 730 ADR r0,sysvar4 ; Set the system var 740 ADR r1,tail ; 'Tail' to the tail 750 MOV r2,r3 ; string (which happens 760 MOV r3,#0 ; to be the drive spec. 770 MOV r4,#0 ; in this case) 780 SWI "XOS_SetVarVal" 790 800 MOV r0,#20 ; Find out the FileCore 810 SWI "XOS_FSControl" ; private word of the 820 STR r2,value ; current filing system 830 ADR r0,sysvar2 ; and save into system 840 ADR r1,value ; variable called 850 MOV r2,4 ; 'PrivateWord' 860 MOV r3,#0 870 MOV r4,#1 880 SWI "XOS_SetVarVal" 890 900 MOV r0,#0 ; Find out the number 910 MOV r1,#0 ; of the current filing 920 SWI "XOS_Args" ; system and save into 930 STR r0,value ; system variable 940 ADR r0,sysvar3 ; called 'FSnum' 950 ADR r1,value 960 MOV r2,4 970 MOV r3,#0 980 MOV r4,#1 990 SWI "XOS_SetVarVal" 1000 1010 SWI "XWimp_ReadSysInfo" ; Don't look now, Acorn !... a bit of jiggery-pokery here. 1020 CMP r0,#0 ; We need to know exactly where we are... i.e. did a task (filer) 1030 BEQ normal ; ask for a *free, or was it the user after pressing f12 ? 1040 ADR r1,pinfo ; Unfortunately, some stupid filers issue a *free without 1050 SWI "XWimp_GetPointerInfo" ; using Wimp_StartTask, giving the impression that the user 1060 BVC doit ; typed the command after pressing f12. 1070 SWI "XShell_Destroy" ; Hence we need to see if Shell_CLI is active... sorry Acorn. 1080 SWICS "XShell_Create" 1090 BCS normal 1100 MOV r0,#200 ; Finally, we need to close the CommandWindow, which is still 1110 LDR r1,task ; pending... the task is killed automatically (OS_Exit) 1120 ADR r2,sysvar ; by the CLI. (I think ?) 1130 SWI "XWimp_Initialise" 1140 1150 1160.doit MOV r0,#0 ; If everything checks out, 1170 SUB r0,r0,#1 ; close the CommandWindow 1180 SWI "XWimp_CommandWindow" ; in case a WimpTask opened it. 1190 1200 BL link ; Grab WriteC vector, and 1210 MOV r0,#1 ; set flag for Service_ 1220 STR r0,hogging ; ReportError. 1230 1240 ADR r0,unset ; Unset our Alias$ 'cos 1250 SWI "XOS_CLI" ; we don't want called now. 1260 ADR r0,free ; Issue a 'normal' *free. 1270 SWI "XOS_CLI" 1280 BVSL error ; And tell us about it. 1290 ADR r0,set ; Set our Alias$ again 1300 SWI "XOS_CLI" ; for future *free's. 1310 1320 BL delink ; Release WriteC vector, and 1330 MOV r0,#0 ; clear flag for Service_ 1340 STR r0,hogging ; ReportError. 1350 LDR r2,cnt 1360 ADR r1,data 1370 MOV r0,#ASC"|" ; Stick a |m on the end 1380 STRB r0,[r1,r2] ; of it so that the BASIC 1390 ADD r1,r1,#1 ; $ operand can read it 1400 MOV r0,#ASC"m" ; straight out the buffer. 1410 STRB r0,[r1,r2] 1420 ADD r1,r1,#1 1430 MOV r0,#13 1440 STRB r0,[r1,r2] 1450 ADR r0,sysvar ; Finally, set system variable 1460 ADR r1,data ; 'FreeData' to the this 1470 MOV r3,#0 ; *free output we nabbed 1480 MOV r4,#0 ; above. 1490 SWI "XOS_SetVarVal" 1500 1510 LDMIA r13!,{r7-r11,pc} ; Pull regs and clear off ! 1520 1530.normal ADR r0,unset ; If we happen to be in a 1540 SWI "XOS_CLI" ; Shell_CLI (i.e. after f12) 1550 ADR r0,free ; then issue a normal *free. 1560 SWI "XOS_CLI" 1570 BVSL error ; Tell us if error. 1580 ADR r0,set 1590 SWI "XOS_CLI" 1600 1610 BL clear ; Clear the variables. 1620 LDMIA r13!,{r7-r11,pc} ; Pull regs and clear off ! 1630 1640.oswrchv STMDB r13!,{r0-r3} ; WriteC vector intercept: 1650 LDR r2,cnt ; Load up the counter. 1660 CMP r2,#255 ; Range-check 1670 LDMEQIA r13!,{r0-r3,pc} 1680 ADR r1,data ; Get the buffer address. 1690 CMP r0,#32 ; Check for control-codes, 1700 MOVLE r0,#32 ; and make into spaces. 1710 STRB r0,[r1,r2] ; Save the data, 1720 ADD r2,r2,#1 ; increment the counter, 1730 STR r2,cnt ; save it, 1740 LDMIA r13!,{r0-r3,pc} ; and return. 1750 1760.clear STMDB r13!,{r14} 1770 ADR r1,value ; Clear the variables called 1780 MOV r4,#1 ; 'FSnum' and 'PrivateWord' 1790 SUB r2,r4,#2 ; 'cos these also act as 1800 MOV r3,#0 ; flags for the BASIC front- 1810 ADR r0,sysvar2 ; end, informing it that 1820 SWI "XOS_SetVarVal" ; 'FreeData' contains fresh 1830 MOV r3,#0 ; info waiting to be displayed. 1840 ADR r0,sysvar3 1850 SWI "XOS_SetVarVal" 1860 LDMIA r13!,{pc} 1870 1880.error STMDB r13!,{r14} 1890 ADD r0,r0,#4 1900 SWI "XOS_Write0" 1910 SWI "XOS_NewLine" 1920 LDMIA r13!,{pc} 1930 1940.link STMDB r13!,{r0-r2,r14} 1950 MOV r0,#3 ; Intercept all WriteC output 1960 ADR r1,oswrchv ; so we can grab the free/used 1970 MOV r2,#0 ; info normally sent to the 1980 STR r2,cnt ; screen. 1990 SWI "XOS_Claim" 2000 LDMIA r13!,{r0-r2,pc} 2010 2020.delink STMDB r13!,{r0-r2,r14} 2030 MOV r0,#3 ; Release WriteC vector 2040 ADR r1,oswrchv ; 'cos we've got all 2050 MOV r2,#0 ; we wanted from it. 2060 SWI "XOS_Release" 2070 LDMIA r13!,{r0-r2,pc} 2080 2090 2100 2110 ALIGN 2120.sysvar EQUS "FreeData" :EQUB0 2130 ALIGN 2140.data EQUS STRING$(255,CHR$0) 2150 ALIGN 2160.sysvar2 EQUS "PrivateWord" :EQUB0 2170 ALIGN 2180.sysvar3 EQUS "FSnum" :EQUB0 2190 ALIGN 2200.sysvar4 EQUS "Tail" :EQUB0 2210 ALIGN 2220.value EQUD 0 2230.pinfo EQUD 0 2240 EQUD 0 2250 EQUD 0 2260 EQUD 0 2270 EQUD 0 2280.cnt EQUD 0 2290.hogging EQUD 0 2300 2310.unset EQUS "UNSET Alias$Free" :EQUB0 2320 ALIGN 2330.set EQUS "SET Alias$Free ""AliasFree """ :EQUB0 2340 ALIGN 2350.free EQUS "Free " 2360.tail EQUS STRING$(255,CHR$0) 2370 ALIGN 2380.task EQUS "TASK" 2390 2400 2410 2420]NEXT 2430 2440REMSYS"OS_Module",11,code,P% 2450SYS"OS_CLI","SAVE AliasRM "+STR$~code+"+"+STR$P% 2460SYS"OS_CLI","SETTYPE AliasRM FFA"
� > AliasCode � Program Alias for *free version$= "2.00" (:� Author Majid Anwar � Archimedes World August 1991 2" date$ = " (10 Dec 1990)" <$� Program Subject to Copyright F: P� code 3000 Z� pass=4 � 7 � 3 dO%=code:P%=0 n [OPT pass x.header EQUD 0 � EQUD 0 � EQUD 0 � EQUD service � EQUD title � EQUD help �" EQUD commtable � EQUD 0 � EQUD 0 � EQUD 0 � � ALIGN �g.title EQUS "AliasFree" :EQUB0 � ALIGN a.help EQUS "AliasFree"+�9+version$+date$+�9+"(c) Majid Anwar" :EQUB0 " ALIGN ,g.commtable EQUS "AliasFree" :EQUB0 6 ALIGN @" EQUD aliasfree J" EQUD &00010000 T! EQUD ALsyntax ^# EQUD ALhelptext h r EQUD 0 | � ALIGN �i.ALhelptext EQUS "*AliasFree supports the !FreeSpace application." :EQUB13 �i EQUS "It is not supposed to be used by the user." :EQUB13 �h.ALsyntax EQUS "Syntax: *AliasFree [<disc spec.>]" :EQUB0 � � � � � ALIGN �K.service CMP r1,#&57 ; If Service_ReportError, � MOVNE pc,r14 �# STMDB r13!,{r1} �J LDR r1,hogging ; and currently hogging G CMP r1,#0 ; the WriteC vector, # LDMIA r13!,{r1} �Q pc,r14 & CMP r0,#0 0H BEQL link ; relink vector after :D �Q pc,r14 ; Wimp error window, D CMP r0,#1 NI BEQL delink ; or delink vector and XI BEQL clear ; clear the variables, bI MOV pc,r14 ; before window opens. l v=.aliasfree STMDB r13!,{r7-r11,r14} ; Save regs � �B ADR r1,tail ; Make a copy of �E MOV r3,#0 ; the command tail �E.loop LDRB r4,[r0,r3] ; after the "FREE" �E STRB r4,[r1,r3] ; string at end of �D ADD r3,r3,#1 ; code, so we can �F CMP r4,#31 ; do a *free later, �E BGT loop ; when we're ready � �F ADR r0,sysvar4 ; Set the system var �G ADR r1,tail ; 'Tail' to the tail �J MOV r2,r3 ; string (which happens �J MOV r3,#0 ; to be the drive spec. B MOV r4,#0 ; in this case) ( SWI "XOS_SetVarVal" I MOV r0,#20 ; Find out the FileCore *H SWI "XOS_FSControl" ; private word of the 4J STR r2,value ; current filing system >I ADR r0,sysvar2 ; and save into system HD ADR r1,value ; variable called RB MOV r2,4 ; 'PrivateWord' \ MOV r3,#0 f MOV r4,#1 p( SWI "XOS_SetVarVal" z �G MOV r0,#0 ; Find out the number �J MOV r1,#0 ; of the current filing �I SWI "XOS_Args" ; system and save into �D STR r0,value ; system variable �C ADR r0,sysvar3 ; called 'FSnum' �! ADR r1,value � MOV r2,4 � MOV r3,#0 � MOV r4,#1 �( SWI "XOS_SetVarVal" � �l SWI "XWimp_ReadSysInfo" ; Don't look now, Acorn !... a bit of jiggery-pokery here. �s CMP r0,#0 ; We need to know exactly where we are... i.e. did a task (filer) m BEQ normal ; ask for a *free, or was it the user after pressing f12 ? k ADR r1,pinfo ; Unfortunately, some stupid filers issue a *free without n SWI "XWimp_GetPointerInfo" ; using Wimp_StartTask, giving the impression that the user $Z BVC doit ; typed the command after pressing f12. .o SWI "XShell_Destroy" ; Hence we need to see if Shell_CLI is active... sorry Acorn. 8( SWICS "XShell_Create" B BCS normal Lo MOV r0,#200 ; Finally, we need to close the CommandWindow, which is still Vj LDR r1,task ; pending... the task is killed automatically (OS_Exit) `L ADR r2,sysvar ; by the CLI. (I think ?) j+ SWI "XWimp_Initialise" t ~ �M.doit MOV r0,#0 ; If everything checks out, �L SUB r0,r0,#1 ; close the CommandWindow �R SWI "XWimp_CommandWindow" ; in case a WimpTask opened it. � �K BL link ; Grab WriteC vector, and �J MOV r0,#1 ; set flag for Service_ �A STR r0,hogging ; ReportError. � �I ADR r0,unset ; Unset our Alias$ 'cos �N SWI "XOS_CLI" ; we don't want called now. �K ADR r0,free ; Issue a 'normal' *free. �" SWI "XOS_CLI" I BVSL error ; And tell us about it. H ADR r0,set ; Set our Alias$ again H SWI "XOS_CLI" ; for future *free's. (N BL delink ; Release WriteC vector, and 2L MOV r0,#0 ; clear flag for Service_ <A STR r0,hogging ; ReportError. F LDR r2,cnt P ADR r1,data ZG MOV r0,#�"|" ; Stick a |m on the end dL STRB r0,[r1,r2] ; of it so that the BASIC nJ ADD r1,r1,#1 ; $ operand can read it xK MOV r0,#�"m" ; straight out the buffer. �# STRB r0,[r1,r2] �! ADD r1,r1,#1 � MOV r0,#13 �# STRB r0,[r1,r2] �P ADR r0,sysvar ; Finally, set system variable �K ADR r1,data ; 'FreeData' to the this �K MOV r3,#0 ; *free output we nabbed �; MOV r4,#0 ; above. �( SWI "XOS_SetVarVal" � �M LDMIA r13!,{r7-r11,pc} ; Pull regs and clear off ! � �K.normal ADR r0,unset ; If we happen to be in a O SWI "XOS_CLI" ; Shell_CLI (i.e. after f12) O ADR r0,free ; then issue a normal *free. " SWI "XOS_CLI" "E BVSL error ; Tell us if error. , ADR r0,set 6" SWI "XOS_CLI" @ JH BL clear ; Clear the variables. TM LDMIA r13!,{r7-r11,pc} ; Pull regs and clear off ! ^ hL.oswrchv STMDB r13!,{r0-r3} ; WriteC vector intercept: rH LDR r2,cnt ; Load up the counter. |? CMP r2,#255 ; Range-check �( LDMEQIA r13!,{r0-r3,pc} �K ADR r1,data ; Get the buffer address. �L CMP r0,#32 ; Check for control-codes, �J MOVLE r0,#32 ; and make into spaces. �B STRB r0,[r1,r2] ; Save the data, �K ADD r2,r2,#1 ; increment the counter, �= STR r2,cnt ; save it, �@ LDMIA r13!,{r0-r3,pc} ; and return. � �#.clear STMDB r13!,{r14} �N ADR r1,value ; Clear the variables called �N MOV r4,#1 ; 'FSnum' and 'PrivateWord' �K SUB r2,r4,#2 ; 'cos these also act as O MOV r3,#0 ; flags for the BASIC front- K ADR r0,sysvar2 ; end, informing it that N SWI "XOS_SetVarVal" ; 'FreeData' contains fresh &R MOV r3,#0 ; info waiting to be displayed. 0# ADR r0,sysvar3 :( SWI "XOS_SetVarVal" D" LDMIA r13!,{pc} N X#.error STMDB r13!,{r14} b! ADD r0,r0,#4 l% SWI "XOS_Write0" v& SWI "XOS_NewLine" �" LDMIA r13!,{pc} � �).link STMDB r13!,{r0-r2,r14} �O MOV r0,#3 ; Intercept all WriteC output �Q ADR r1,oswrchv ; so we can grab the free/used �N MOV r2,#0 ; info normally sent to the �< STR r2,cnt ; screen. �$ SWI "XOS_Claim" �( LDMIA r13!,{r0-r2,pc} � �).delink STMDB r13!,{r0-r2,r14} �I MOV r0,#3 ; Release WriteC vector �G ADR r1,oswrchv ; 'cos we've got all G MOV r2,#0 ; we wanted from it. & SWI "XOS_Release" ( LDMIA r13!,{r0-r2,pc} * 4 > ALIGN Hh.sysvar EQUS "FreeData" :EQUB0 R ALIGN \!.data EQUS �255,�0) f ALIGN ph.sysvar2 EQUS "PrivateWord" :EQUB0 z ALIGN �h.sysvar3 EQUS "FSnum" :EQUB0 � ALIGN �h.sysvar4 EQUS "Tail" :EQUB0 � ALIGN �.value EQUD 0 �.pinfo EQUD 0 � EQUD 0 � EQUD 0 � EQUD 0 � EQUD 0 �.cnt EQUD 0 �.hogging EQUD 0 � h.unset EQUS "UNSET Alias$Free" :EQUB0 ALIGN h.set EQUS "SET Alias$Free ""AliasFree """ :EQUB0 $ ALIGN .#.free EQUS "Free " 8!.tail EQUS �255,�0) B ALIGN L.task EQUS "TASK" V ` j t]� ~ ��SYS"OS_Module",11,code,P% �-ș"OS_CLI","SAVE AliasRM "+�~code+"+"+�P% �$ș"OS_CLI","SETTYPE AliasRM FFA" �
00000000 0d 00 0a 1b f4 20 20 20 20 20 20 20 20 20 20 20 |..... | 00000010 3e 20 41 6c 69 61 73 43 6f 64 65 0d 00 14 1f f4 |> AliasCode.....| 00000020 20 50 72 6f 67 72 61 6d 20 20 20 41 6c 69 61 73 | Program Alias| 00000030 20 66 6f 72 20 2a 66 72 65 65 0d 00 1e 18 20 20 | for *free.... | 00000040 20 20 76 65 72 73 69 6f 6e 24 3d 20 22 32 2e 30 | version$= "2.0| 00000050 30 22 0d 00 28 3a f4 20 41 75 74 68 6f 72 20 20 |0"..(:. Author | 00000060 20 20 4d 61 6a 69 64 20 41 6e 77 61 72 20 a9 20 | Majid Anwar . | 00000070 41 72 63 68 69 6d 65 64 65 73 20 57 6f 72 6c 64 |Archimedes World| 00000080 20 41 75 67 75 73 74 20 31 39 39 31 0d 00 32 22 | August 1991..2"| 00000090 20 20 20 20 64 61 74 65 24 20 20 20 3d 20 22 20 | date$ = " | 000000a0 28 31 30 20 44 65 63 20 31 39 39 30 29 22 0d 00 |(10 Dec 1990)"..| 000000b0 3c 24 f4 20 50 72 6f 67 72 61 6d 20 20 20 53 75 |<$. Program Su| 000000c0 62 6a 65 63 74 20 74 6f 20 43 6f 70 79 72 69 67 |bject to Copyrig| 000000d0 68 74 0d 00 46 05 3a 0d 00 50 0f de 20 63 6f 64 |ht..F.:..P.. cod| 000000e0 65 20 33 30 30 30 0d 00 5a 14 e3 20 70 61 73 73 |e 3000..Z.. pass| 000000f0 3d 34 20 b8 20 37 20 88 20 33 0d 00 64 10 4f 25 |=4 . 7 . 3..d.O%| 00000100 3d 63 6f 64 65 3a 50 25 3d 30 0d 00 6e 0d 5b 4f |=code:P%=0..n.[O| 00000110 50 54 20 70 61 73 73 0d 00 78 1a 2e 68 65 61 64 |PT pass..x..head| 00000120 65 72 20 20 20 20 20 20 45 51 55 44 20 20 20 20 |er EQUD | 00000130 30 0d 00 82 1a 20 20 20 20 20 20 20 20 20 20 20 |0.... | 00000140 20 20 45 51 55 44 20 20 20 20 30 0d 00 8c 1a 20 | EQUD 0.... | 00000150 20 20 20 20 20 20 20 20 20 20 20 20 45 51 55 44 | EQUD| 00000160 20 20 20 20 30 0d 00 96 20 20 20 20 20 20 20 20 | 0... | 00000170 20 20 20 20 20 20 45 51 55 44 20 20 20 20 73 65 | EQUD se| 00000180 72 76 69 63 65 0d 00 a0 1e 20 20 20 20 20 20 20 |rvice.... | 00000190 20 20 20 20 20 20 45 51 55 44 20 20 20 20 74 69 | EQUD ti| 000001a0 74 6c 65 0d 00 aa 1d 20 20 20 20 20 20 20 20 20 |tle.... | 000001b0 20 20 20 20 45 51 55 44 20 20 20 20 68 65 6c 70 | EQUD help| 000001c0 0d 00 b4 22 20 20 20 20 20 20 20 20 20 20 20 20 |..." | 000001d0 20 45 51 55 44 20 20 20 20 63 6f 6d 6d 74 61 62 | EQUD commtab| 000001e0 6c 65 0d 00 be 1a 20 20 20 20 20 20 20 20 20 20 |le.... | 000001f0 20 20 20 45 51 55 44 20 20 20 20 30 0d 00 c8 1a | EQUD 0....| 00000200 20 20 20 20 20 20 20 20 20 20 20 20 20 45 51 55 | EQU| 00000210 44 20 20 20 20 30 0d 00 d2 1a 20 20 20 20 20 20 |D 0.... | 00000220 20 20 20 20 20 20 20 45 51 55 44 20 20 20 20 30 | EQUD 0| 00000230 0d 00 dc 04 0d 00 e6 16 20 20 20 20 20 20 20 20 |........ | 00000240 20 20 20 20 20 41 4c 49 47 4e 0d 00 f0 67 2e 74 | ALIGN...g.t| 00000250 69 74 6c 65 20 20 20 20 20 20 20 45 51 55 53 20 |itle EQUS | 00000260 20 20 20 22 41 6c 69 61 73 46 72 65 65 22 20 20 | "AliasFree" | 00000270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 000002a0 20 20 20 20 20 20 20 20 20 20 20 3a 45 51 55 42 | :EQUB| 000002b0 30 0d 00 fa 04 0d 01 04 16 20 20 20 20 20 20 20 |0........ | 000002c0 20 20 20 20 20 20 41 4c 49 47 4e 0d 01 0e 61 2e | ALIGN...a.| 000002d0 68 65 6c 70 20 20 20 20 20 20 20 20 45 51 55 53 |help EQUS| 000002e0 20 20 20 20 22 41 6c 69 61 73 46 72 65 65 22 2b | "AliasFree"+| 000002f0 bd 39 2b 76 65 72 73 69 6f 6e 24 2b 64 61 74 65 |.9+version$+date| 00000300 24 2b bd 39 2b 22 28 63 29 20 4d 61 6a 69 64 20 |$+.9+"(c) Majid | 00000310 41 6e 77 61 72 22 20 20 20 20 20 20 20 20 20 20 |Anwar" | 00000320 20 20 20 20 20 20 3a 45 51 55 42 30 0d 01 18 04 | :EQUB0....| 00000330 0d 01 22 16 20 20 20 20 20 20 20 20 20 20 20 20 |..". | 00000340 20 41 4c 49 47 4e 0d 01 2c 67 2e 63 6f 6d 6d 74 | ALIGN..,g.commt| 00000350 61 62 6c 65 20 20 20 45 51 55 53 20 20 20 20 22 |able EQUS "| 00000360 41 6c 69 61 73 46 72 65 65 22 20 20 20 20 20 20 |AliasFree" | 00000370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 000003a0 20 20 20 20 20 20 20 3a 45 51 55 42 30 0d 01 36 | :EQUB0..6| 000003b0 16 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4c |. AL| 000003c0 49 47 4e 0d 01 40 22 20 20 20 20 20 20 20 20 20 |IGN..@" | 000003d0 20 20 20 20 45 51 55 44 20 20 20 20 61 6c 69 61 | EQUD alia| 000003e0 73 66 72 65 65 0d 01 4a 22 20 20 20 20 20 20 20 |sfree..J" | 000003f0 20 20 20 20 20 20 45 51 55 44 20 20 20 20 26 30 | EQUD &0| 00000400 30 30 31 30 30 30 30 0d 01 54 21 20 20 20 20 20 |0010000..T! | 00000410 20 20 20 20 20 20 20 20 45 51 55 44 20 20 20 20 | EQUD | 00000420 41 4c 73 79 6e 74 61 78 0d 01 5e 23 20 20 20 20 |ALsyntax..^# | 00000430 20 20 20 20 20 20 20 20 20 45 51 55 44 20 20 20 | EQUD | 00000440 20 41 4c 68 65 6c 70 74 65 78 74 0d 01 68 04 0d | ALhelptext..h..| 00000450 01 72 1a 20 20 20 20 20 20 20 20 20 20 20 20 20 |.r. | 00000460 45 51 55 44 20 20 20 20 30 0d 01 7c 04 0d 01 86 |EQUD 0..|....| 00000470 16 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4c |. AL| 00000480 49 47 4e 0d 01 90 69 2e 41 4c 68 65 6c 70 74 65 |IGN...i.ALhelpte| 00000490 78 74 20 20 45 51 55 53 20 20 20 20 22 2a 41 6c |xt EQUS "*Al| 000004a0 69 61 73 46 72 65 65 20 73 75 70 70 6f 72 74 73 |iasFree supports| 000004b0 20 74 68 65 20 21 46 72 65 65 53 70 61 63 65 20 | the !FreeSpace | 000004c0 61 70 70 6c 69 63 61 74 69 6f 6e 2e 22 20 20 20 |application." | 000004d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000004e0 20 20 20 20 20 3a 45 51 55 42 31 33 0d 01 9a 69 | :EQUB13...i| 000004f0 20 20 20 20 20 20 20 20 20 20 20 20 20 45 51 55 | EQU| 00000500 53 20 20 20 20 22 49 74 20 69 73 20 6e 6f 74 20 |S "It is not | 00000510 73 75 70 70 6f 73 65 64 20 74 6f 20 62 65 20 75 |supposed to be u| 00000520 73 65 64 20 62 79 20 74 68 65 20 75 73 65 72 2e |sed by the user.| 00000530 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |" | 00000540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 45 | :E| 00000550 51 55 42 31 33 0d 01 a4 68 2e 41 4c 73 79 6e 74 |QUB13...h.ALsynt| 00000560 61 78 20 20 20 20 45 51 55 53 20 20 20 20 22 53 |ax EQUS "S| 00000570 79 6e 74 61 78 3a 20 2a 41 6c 69 61 73 46 72 65 |yntax: *AliasFre| 00000580 65 20 5b 3c 64 69 73 63 20 73 70 65 63 2e 3e 5d |e [<disc spec.>]| 00000590 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |" | 000005a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000005b0 20 20 20 20 20 20 20 3a 45 51 55 42 30 0d 01 ae | :EQUB0...| 000005c0 04 0d 01 b8 04 0d 01 c2 04 0d 01 cc 04 0d 01 d6 |................| 000005d0 16 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4c |. AL| 000005e0 49 47 4e 0d 01 e0 4b 2e 73 65 72 76 69 63 65 20 |IGN...K.service | 000005f0 20 20 20 20 43 4d 50 20 20 20 20 20 20 72 31 2c | CMP r1,| 00000600 23 26 35 37 20 20 20 20 20 20 20 20 20 20 20 20 |#&57 | 00000610 20 20 20 20 20 3b 20 49 66 20 53 65 72 76 69 63 | ; If Servic| 00000620 65 5f 52 65 70 6f 72 74 45 72 72 6f 72 2c 0d 01 |e_ReportError,..| 00000630 ea 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d |. M| 00000640 4f 56 4e 45 20 20 20 20 70 63 2c 72 31 34 0d 01 |OVNE pc,r14..| 00000650 f4 23 20 20 20 20 20 20 20 20 20 20 20 20 20 53 |.# S| 00000660 54 4d 44 42 20 20 20 20 72 31 33 21 2c 7b 72 31 |TMDB r13!,{r1| 00000670 7d 0d 01 fe 4a 20 20 20 20 20 20 20 20 20 20 20 |}...J | 00000680 20 20 4c 44 52 20 20 20 20 20 20 72 31 2c 68 6f | LDR r1,ho| 00000690 67 67 69 6e 67 20 20 20 20 20 20 20 20 20 20 20 |gging | 000006a0 20 20 20 3b 20 20 61 6e 64 20 63 75 72 72 65 6e | ; and curren| 000006b0 74 6c 79 20 68 6f 67 67 69 6e 67 0d 02 08 47 20 |tly hogging...G | 000006c0 20 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 | CMP | 000006d0 20 20 20 20 20 72 31 2c 23 30 20 20 20 20 20 20 | r1,#0 | 000006e0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 | ; | 000006f0 74 68 65 20 57 72 69 74 65 43 20 76 65 63 74 6f |the WriteC vecto| 00000700 72 2c 0d 02 12 23 20 20 20 20 20 20 20 20 20 20 |r,...# | 00000710 20 20 20 4c 44 4d 49 41 20 20 20 20 72 31 33 21 | LDMIA r13!| 00000720 2c 7b 72 31 7d 0d 02 1c 1d 20 20 20 20 20 20 20 |,{r1}.... | 00000730 20 20 20 20 20 20 ec 51 20 20 20 20 70 63 2c 72 | .Q pc,r| 00000740 31 34 0d 02 26 1f 20 20 20 20 20 20 20 20 20 20 |14..&. | 00000750 20 20 20 43 4d 50 20 20 20 20 20 20 72 30 2c 23 | CMP r0,#| 00000760 30 0d 02 30 48 20 20 20 20 20 20 20 20 20 20 20 |0..0H | 00000770 20 20 42 45 51 4c 20 20 20 20 20 6c 69 6e 6b 20 | BEQL link | 00000780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000790 20 20 20 3b 20 20 72 65 6c 69 6e 6b 20 76 65 63 | ; relink vec| 000007a0 74 6f 72 20 61 66 74 65 72 0d 02 3a 44 20 20 20 |tor after..:D | 000007b0 20 20 20 20 20 20 20 20 20 20 ec 51 20 20 20 20 | .Q | 000007c0 70 63 2c 72 31 34 20 20 20 20 20 20 20 20 20 20 |pc,r14 | 000007d0 20 20 20 20 20 20 20 20 3b 20 20 57 69 6d 70 20 | ; Wimp | 000007e0 65 72 72 6f 72 20 77 69 6e 64 6f 77 2c 0d 02 44 |error window,..D| 000007f0 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 43 4d |. CM| 00000800 50 20 20 20 20 20 20 72 30 2c 23 31 0d 02 4e 49 |P r0,#1..NI| 00000810 20 20 20 20 20 20 20 20 20 20 20 20 20 42 45 51 | BEQ| 00000820 4c 20 20 20 20 20 64 65 6c 69 6e 6b 20 20 20 20 |L delink | 00000830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00000840 20 6f 72 20 64 65 6c 69 6e 6b 20 76 65 63 74 6f | or delink vecto| 00000850 72 20 61 6e 64 0d 02 58 49 20 20 20 20 20 20 20 |r and..XI | 00000860 20 20 20 20 20 20 42 45 51 4c 20 20 20 20 20 63 | BEQL c| 00000870 6c 65 61 72 20 20 20 20 20 20 20 20 20 20 20 20 |lear | 00000880 20 20 20 20 20 20 20 3b 20 20 63 6c 65 61 72 20 | ; clear | 00000890 74 68 65 20 76 61 72 69 61 62 6c 65 73 2c 0d 02 |the variables,..| 000008a0 62 49 20 20 20 20 20 20 20 20 20 20 20 20 20 4d |bI M| 000008b0 4f 56 20 20 20 20 20 20 70 63 2c 72 31 34 20 20 |OV pc,r14 | 000008c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000008d0 3b 20 20 62 65 66 6f 72 65 20 77 69 6e 64 6f 77 |; before window| 000008e0 20 6f 70 65 6e 73 2e 0d 02 6c 04 0d 02 76 3d 2e | opens...l...v=.| 000008f0 61 6c 69 61 73 66 72 65 65 20 20 20 53 54 4d 44 |aliasfree STMD| 00000900 42 20 20 20 20 72 31 33 21 2c 7b 72 37 2d 72 31 |B r13!,{r7-r1| 00000910 31 2c 72 31 34 7d 20 20 20 20 20 20 20 3b 20 53 |1,r14} ; S| 00000920 61 76 65 20 72 65 67 73 0d 02 80 04 0d 02 8a 42 |ave regs.......B| 00000930 20 20 20 20 20 20 20 20 20 20 20 20 20 41 44 52 | ADR| 00000940 20 20 20 20 20 20 72 31 2c 74 61 69 6c 20 20 20 | r1,tail | 00000950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00000960 4d 61 6b 65 20 61 20 63 6f 70 79 20 6f 66 0d 02 |Make a copy of..| 00000970 94 45 20 20 20 20 20 20 20 20 20 20 20 20 20 4d |.E M| 00000980 4f 56 20 20 20 20 20 20 72 33 2c 23 30 20 20 20 |OV r3,#0 | 00000990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000009a0 3b 20 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 |; the command t| 000009b0 61 69 6c 0d 02 9e 45 2e 6c 6f 6f 70 20 20 20 20 |ail...E.loop | 000009c0 20 20 20 20 4c 44 52 42 20 20 20 20 20 72 34 2c | LDRB r4,| 000009d0 5b 72 30 2c 72 33 5d 20 20 20 20 20 20 20 20 20 |[r0,r3] | 000009e0 20 20 20 20 20 3b 20 20 61 66 74 65 72 20 74 68 | ; after th| 000009f0 65 20 22 46 52 45 45 22 0d 02 a8 45 20 20 20 20 |e "FREE"...E | 00000a00 20 20 20 20 20 20 20 20 20 53 54 52 42 20 20 20 | STRB | 00000a10 20 20 72 34 2c 5b 72 31 2c 72 33 5d 20 20 20 20 | r4,[r1,r3] | 00000a20 20 20 20 20 20 20 20 20 20 20 3b 20 20 73 74 72 | ; str| 00000a30 69 6e 67 20 61 74 20 65 6e 64 20 6f 66 0d 02 b2 |ing at end of...| 00000a40 44 20 20 20 20 20 20 20 20 20 20 20 20 20 41 44 |D AD| 00000a50 44 20 20 20 20 20 20 72 33 2c 72 33 2c 23 31 20 |D r3,r3,#1 | 00000a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00000a70 20 20 63 6f 64 65 2c 20 73 6f 20 77 65 20 63 61 | code, so we ca| 00000a80 6e 0d 02 bc 46 20 20 20 20 20 20 20 20 20 20 20 |n...F | 00000a90 20 20 43 4d 50 20 20 20 20 20 20 72 34 2c 23 33 | CMP r4,#3| 00000aa0 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |1 | 00000ab0 20 20 20 3b 20 20 64 6f 20 61 20 2a 66 72 65 65 | ; do a *free| 00000ac0 20 6c 61 74 65 72 2c 0d 02 c6 45 20 20 20 20 20 | later,...E | 00000ad0 20 20 20 20 20 20 20 20 42 47 54 20 20 20 20 20 | BGT | 00000ae0 20 6c 6f 6f 70 20 20 20 20 20 20 20 20 20 20 20 | loop | 00000af0 20 20 20 20 20 20 20 20 20 3b 20 20 77 68 65 6e | ; when| 00000b00 20 77 65 27 72 65 20 72 65 61 64 79 0d 02 d0 04 | we're ready....| 00000b10 0d 02 da 46 20 20 20 20 20 20 20 20 20 20 20 20 |...F | 00000b20 20 41 44 52 20 20 20 20 20 72 30 2c 73 79 73 76 | ADR r0,sysv| 00000b30 61 72 34 20 20 20 20 20 20 20 20 20 20 20 20 20 |ar4 | 00000b40 20 20 3b 20 53 65 74 20 74 68 65 20 73 79 73 74 | ; Set the syst| 00000b50 65 6d 20 76 61 72 0d 02 e4 47 20 20 20 20 20 20 |em var...G | 00000b60 20 20 20 20 20 20 20 41 44 52 20 20 20 20 20 72 | ADR r| 00000b70 31 2c 74 61 69 6c 20 20 20 20 20 20 20 20 20 20 |1,tail | 00000b80 20 20 20 20 20 20 20 20 3b 20 20 27 54 61 69 6c | ; 'Tail| 00000b90 27 20 74 6f 20 74 68 65 20 74 61 69 6c 0d 02 ee |' to the tail...| 00000ba0 4a 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f |J MO| 00000bb0 56 20 20 20 20 20 72 32 2c 72 33 20 20 20 20 20 |V r2,r3 | 00000bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00000bd0 20 20 73 74 72 69 6e 67 20 28 77 68 69 63 68 20 | string (which | 00000be0 68 61 70 70 65 6e 73 0d 02 f8 4a 20 20 20 20 20 |happens...J | 00000bf0 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 | MOV | 00000c00 72 33 2c 23 30 20 20 20 20 20 20 20 20 20 20 20 |r3,#0 | 00000c10 20 20 20 20 20 20 20 20 20 3b 20 20 74 6f 20 62 | ; to b| 00000c20 65 20 74 68 65 20 64 72 69 76 65 20 73 70 65 63 |e the drive spec| 00000c30 2e 0d 03 02 42 20 20 20 20 20 20 20 20 20 20 20 |....B | 00000c40 20 20 4d 4f 56 20 20 20 20 20 72 34 2c 23 30 20 | MOV r4,#0 | 00000c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000c60 20 20 20 3b 20 20 69 6e 20 74 68 69 73 20 63 61 | ; in this ca| 00000c70 73 65 29 0d 03 0c 28 20 20 20 20 20 20 20 20 20 |se)...( | 00000c80 20 20 20 20 53 57 49 20 20 20 20 20 22 58 4f 53 | SWI "XOS| 00000c90 5f 53 65 74 56 61 72 56 61 6c 22 0d 03 16 04 0d |_SetVarVal".....| 00000ca0 03 20 49 20 20 20 20 20 20 20 20 20 20 20 20 20 |. I | 00000cb0 4d 4f 56 20 20 20 20 20 72 30 2c 23 32 30 20 20 |MOV r0,#20 | 00000cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000cd0 20 3b 20 46 69 6e 64 20 6f 75 74 20 74 68 65 20 | ; Find out the | 00000ce0 46 69 6c 65 43 6f 72 65 0d 03 2a 48 20 20 20 20 |FileCore..*H | 00000cf0 20 20 20 20 20 20 20 20 20 53 57 49 20 20 20 20 | SWI | 00000d00 20 22 58 4f 53 5f 46 53 43 6f 6e 74 72 6f 6c 22 | "XOS_FSControl"| 00000d10 20 20 20 20 20 20 20 20 20 20 3b 20 20 70 72 69 | ; pri| 00000d20 76 61 74 65 20 77 6f 72 64 20 6f 66 20 74 68 65 |vate word of the| 00000d30 0d 03 34 4a 20 20 20 20 20 20 20 20 20 20 20 20 |..4J | 00000d40 20 53 54 52 20 20 20 20 20 72 32 2c 76 61 6c 75 | STR r2,valu| 00000d50 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |e | 00000d60 20 20 3b 20 20 63 75 72 72 65 6e 74 20 66 69 6c | ; current fil| 00000d70 69 6e 67 20 73 79 73 74 65 6d 0d 03 3e 49 20 20 |ing system..>I | 00000d80 20 20 20 20 20 20 20 20 20 20 20 41 44 52 20 20 | ADR | 00000d90 20 20 20 72 30 2c 73 79 73 76 61 72 32 20 20 20 | r0,sysvar2 | 00000da0 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 61 | ; a| 00000db0 6e 64 20 73 61 76 65 20 69 6e 74 6f 20 73 79 73 |nd save into sys| 00000dc0 74 65 6d 0d 03 48 44 20 20 20 20 20 20 20 20 20 |tem..HD | 00000dd0 20 20 20 20 41 44 52 20 20 20 20 20 72 31 2c 76 | ADR r1,v| 00000de0 61 6c 75 65 20 20 20 20 20 20 20 20 20 20 20 20 |alue | 00000df0 20 20 20 20 20 3b 20 20 76 61 72 69 61 62 6c 65 | ; variable| 00000e00 20 63 61 6c 6c 65 64 0d 03 52 42 20 20 20 20 20 | called..RB | 00000e10 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 | MOV | 00000e20 72 32 2c 34 20 20 20 20 20 20 20 20 20 20 20 20 |r2,4 | 00000e30 20 20 20 20 20 20 20 20 20 3b 20 20 27 50 72 69 | ; 'Pri| 00000e40 76 61 74 65 57 6f 72 64 27 0d 03 5c 1e 20 20 20 |vateWord'..\. | 00000e50 20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 | MOV | 00000e60 20 20 72 33 2c 23 30 0d 03 66 1e 20 20 20 20 20 | r3,#0..f. | 00000e70 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 | MOV | 00000e80 72 34 2c 23 31 0d 03 70 28 20 20 20 20 20 20 20 |r4,#1..p( | 00000e90 20 20 20 20 20 20 53 57 49 20 20 20 20 20 22 58 | SWI "X| 00000ea0 4f 53 5f 53 65 74 56 61 72 56 61 6c 22 0d 03 7a |OS_SetVarVal"..z| 00000eb0 04 0d 03 84 47 20 20 20 20 20 20 20 20 20 20 20 |....G | 00000ec0 20 20 4d 4f 56 20 20 20 20 20 72 30 2c 23 30 20 | MOV r0,#0 | 00000ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000ee0 20 20 20 3b 20 46 69 6e 64 20 6f 75 74 20 74 68 | ; Find out th| 00000ef0 65 20 6e 75 6d 62 65 72 0d 03 8e 4a 20 20 20 20 |e number...J | 00000f00 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 | MOV | 00000f10 20 72 31 2c 23 30 20 20 20 20 20 20 20 20 20 20 | r1,#0 | 00000f20 20 20 20 20 20 20 20 20 20 20 3b 20 20 6f 66 20 | ; of | 00000f30 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 69 |the current fili| 00000f40 6e 67 0d 03 98 49 20 20 20 20 20 20 20 20 20 20 |ng...I | 00000f50 20 20 20 53 57 49 20 20 20 20 20 22 58 4f 53 5f | SWI "XOS_| 00000f60 41 72 67 73 22 20 20 20 20 20 20 20 20 20 20 20 |Args" | 00000f70 20 20 20 20 3b 20 20 73 79 73 74 65 6d 20 61 6e | ; system an| 00000f80 64 20 73 61 76 65 20 69 6e 74 6f 0d 03 a2 44 20 |d save into...D | 00000f90 20 20 20 20 20 20 20 20 20 20 20 20 53 54 52 20 | STR | 00000fa0 20 20 20 20 72 30 2c 76 61 6c 75 65 20 20 20 20 | r0,value | 00000fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 | ; | 00000fc0 73 79 73 74 65 6d 20 76 61 72 69 61 62 6c 65 0d |system variable.| 00000fd0 03 ac 43 20 20 20 20 20 20 20 20 20 20 20 20 20 |..C | 00000fe0 41 44 52 20 20 20 20 20 72 30 2c 73 79 73 76 61 |ADR r0,sysva| 00000ff0 72 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |r3 | 00001000 20 3b 20 20 63 61 6c 6c 65 64 20 27 46 53 6e 75 | ; called 'FSnu| 00001010 6d 27 0d 03 b6 21 20 20 20 20 20 20 20 20 20 20 |m'...! | 00001020 20 20 20 41 44 52 20 20 20 20 20 72 31 2c 76 61 | ADR r1,va| 00001030 6c 75 65 0d 03 c0 1d 20 20 20 20 20 20 20 20 20 |lue.... | 00001040 20 20 20 20 4d 4f 56 20 20 20 20 20 72 32 2c 34 | MOV r2,4| 00001050 0d 03 ca 1e 20 20 20 20 20 20 20 20 20 20 20 20 |.... | 00001060 20 4d 4f 56 20 20 20 20 20 72 33 2c 23 30 0d 03 | MOV r3,#0..| 00001070 d4 1e 20 20 20 20 20 20 20 20 20 20 20 20 20 4d |.. M| 00001080 4f 56 20 20 20 20 20 72 34 2c 23 31 0d 03 de 28 |OV r4,#1...(| 00001090 20 20 20 20 20 20 20 20 20 20 20 20 20 53 57 49 | SWI| 000010a0 20 20 20 20 20 22 58 4f 53 5f 53 65 74 56 61 72 | "XOS_SetVar| 000010b0 56 61 6c 22 0d 03 e8 04 0d 03 f2 6c 20 20 20 20 |Val".......l | 000010c0 20 20 20 20 20 20 20 20 20 53 57 49 20 20 20 20 | SWI | 000010d0 20 22 58 57 69 6d 70 5f 52 65 61 64 53 79 73 49 | "XWimp_ReadSysI| 000010e0 6e 66 6f 22 20 20 20 20 20 20 3b 20 44 6f 6e 27 |nfo" ; Don'| 000010f0 74 20 6c 6f 6f 6b 20 6e 6f 77 2c 20 41 63 6f 72 |t look now, Acor| 00001100 6e 20 21 2e 2e 2e 20 61 20 62 69 74 20 6f 66 20 |n !... a bit of | 00001110 6a 69 67 67 65 72 79 2d 70 6f 6b 65 72 79 20 68 |jiggery-pokery h| 00001120 65 72 65 2e 0d 03 fc 73 20 20 20 20 20 20 20 20 |ere....s | 00001130 20 20 20 20 20 43 4d 50 20 20 20 20 20 72 30 2c | CMP r0,| 00001140 23 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |#0 | 00001150 20 20 20 20 20 20 3b 20 57 65 20 6e 65 65 64 20 | ; We need | 00001160 74 6f 20 6b 6e 6f 77 20 65 78 61 63 74 6c 79 20 |to know exactly | 00001170 77 68 65 72 65 20 77 65 20 61 72 65 2e 2e 2e 20 |where we are... | 00001180 69 2e 65 2e 20 64 69 64 20 61 20 74 61 73 6b 20 |i.e. did a task | 00001190 28 66 69 6c 65 72 29 0d 04 06 6d 20 20 20 20 20 |(filer)...m | 000011a0 20 20 20 20 20 20 20 20 42 45 51 20 20 20 20 20 | BEQ | 000011b0 6e 6f 72 6d 61 6c 20 20 20 20 20 20 20 20 20 20 |normal | 000011c0 20 20 20 20 20 20 20 20 20 3b 20 20 61 73 6b 20 | ; ask | 000011d0 66 6f 72 20 61 20 2a 66 72 65 65 2c 20 6f 72 20 |for a *free, or | 000011e0 77 61 73 20 69 74 20 74 68 65 20 75 73 65 72 20 |was it the user | 000011f0 61 66 74 65 72 20 70 72 65 73 73 69 6e 67 20 66 |after pressing f| 00001200 31 32 20 3f 0d 04 10 6b 20 20 20 20 20 20 20 20 |12 ?...k | 00001210 20 20 20 20 20 41 44 52 20 20 20 20 20 72 31 2c | ADR r1,| 00001220 70 69 6e 66 6f 20 20 20 20 20 20 20 20 20 20 20 |pinfo | 00001230 20 20 20 20 20 20 3b 20 55 6e 66 6f 72 74 75 6e | ; Unfortun| 00001240 61 74 65 6c 79 2c 20 73 6f 6d 65 20 73 74 75 70 |ately, some stup| 00001250 69 64 20 66 69 6c 65 72 73 20 69 73 73 75 65 20 |id filers issue | 00001260 61 20 2a 66 72 65 65 20 77 69 74 68 6f 75 74 0d |a *free without.| 00001270 04 1a 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 |..n | 00001280 53 57 49 20 20 20 20 20 22 58 57 69 6d 70 5f 47 |SWI "XWimp_G| 00001290 65 74 50 6f 69 6e 74 65 72 49 6e 66 6f 22 20 20 |etPointerInfo" | 000012a0 20 3b 20 20 75 73 69 6e 67 20 57 69 6d 70 5f 53 | ; using Wimp_S| 000012b0 74 61 72 74 54 61 73 6b 2c 20 67 69 76 69 6e 67 |tartTask, giving| 000012c0 20 74 68 65 20 69 6d 70 72 65 73 73 69 6f 6e 20 | the impression | 000012d0 74 68 61 74 20 74 68 65 20 75 73 65 72 0d 04 24 |that the user..$| 000012e0 5a 20 20 20 20 20 20 20 20 20 20 20 20 20 42 56 |Z BV| 000012f0 43 20 20 20 20 20 64 6f 69 74 20 20 20 20 20 20 |C doit | 00001300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00001310 20 20 74 79 70 65 64 20 74 68 65 20 63 6f 6d 6d | typed the comm| 00001320 61 6e 64 20 61 66 74 65 72 20 70 72 65 73 73 69 |and after pressi| 00001330 6e 67 20 66 31 32 2e 0d 04 2e 6f 20 20 20 20 20 |ng f12....o | 00001340 20 20 20 20 20 20 20 20 53 57 49 20 20 20 20 20 | SWI | 00001350 22 58 53 68 65 6c 6c 5f 44 65 73 74 72 6f 79 22 |"XShell_Destroy"| 00001360 20 20 20 20 20 20 20 20 20 3b 20 48 65 6e 63 65 | ; Hence| 00001370 20 77 65 20 6e 65 65 64 20 74 6f 20 73 65 65 20 | we need to see | 00001380 69 66 20 53 68 65 6c 6c 5f 43 4c 49 20 69 73 20 |if Shell_CLI is | 00001390 61 63 74 69 76 65 2e 2e 2e 20 73 6f 72 72 79 20 |active... sorry | 000013a0 41 63 6f 72 6e 2e 0d 04 38 28 20 20 20 20 20 20 |Acorn...8( | 000013b0 20 20 20 20 20 20 20 53 57 49 43 53 20 20 20 22 | SWICS "| 000013c0 58 53 68 65 6c 6c 5f 43 72 65 61 74 65 22 0d 04 |XShell_Create"..| 000013d0 42 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 42 |B. B| 000013e0 43 53 20 20 20 20 20 6e 6f 72 6d 61 6c 0d 04 4c |CS normal..L| 000013f0 6f 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f |o MO| 00001400 56 20 20 20 20 20 72 30 2c 23 32 30 30 20 20 20 |V r0,#200 | 00001410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00001420 20 46 69 6e 61 6c 6c 79 2c 20 77 65 20 6e 65 65 | Finally, we nee| 00001430 64 20 74 6f 20 63 6c 6f 73 65 20 74 68 65 20 43 |d to close the C| 00001440 6f 6d 6d 61 6e 64 57 69 6e 64 6f 77 2c 20 77 68 |ommandWindow, wh| 00001450 69 63 68 20 69 73 20 73 74 69 6c 6c 0d 04 56 6a |ich is still..Vj| 00001460 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 44 52 | LDR| 00001470 20 20 20 20 20 72 31 2c 74 61 73 6b 20 20 20 20 | r1,task | 00001480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00001490 20 70 65 6e 64 69 6e 67 2e 2e 2e 20 74 68 65 20 | pending... the | 000014a0 74 61 73 6b 20 69 73 20 6b 69 6c 6c 65 64 20 61 |task is killed a| 000014b0 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 28 4f 53 |utomatically (OS| 000014c0 5f 45 78 69 74 29 0d 04 60 4c 20 20 20 20 20 20 |_Exit)..`L | 000014d0 20 20 20 20 20 20 20 41 44 52 20 20 20 20 20 72 | ADR r| 000014e0 32 2c 73 79 73 76 61 72 20 20 20 20 20 20 20 20 |2,sysvar | 000014f0 20 20 20 20 20 20 20 20 3b 20 20 62 79 20 74 68 | ; by th| 00001500 65 20 43 4c 49 2e 20 28 49 20 74 68 69 6e 6b 20 |e CLI. (I think | 00001510 3f 29 0d 04 6a 2b 20 20 20 20 20 20 20 20 20 20 |?)..j+ | 00001520 20 20 20 53 57 49 20 20 20 20 20 22 58 57 69 6d | SWI "XWim| 00001530 70 5f 49 6e 69 74 69 61 6c 69 73 65 22 0d 04 74 |p_Initialise"..t| 00001540 04 0d 04 7e 04 0d 04 88 4d 2e 64 6f 69 74 20 20 |...~....M.doit | 00001550 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 72 30 | MOV r0| 00001560 2c 23 30 20 20 20 20 20 20 20 20 20 20 20 20 20 |,#0 | 00001570 20 20 20 20 20 20 20 3b 20 49 66 20 65 76 65 72 | ; If ever| 00001580 79 74 68 69 6e 67 20 63 68 65 63 6b 73 20 6f 75 |ything checks ou| 00001590 74 2c 0d 04 92 4c 20 20 20 20 20 20 20 20 20 20 |t,...L | 000015a0 20 20 20 53 55 42 20 20 20 20 20 72 30 2c 72 30 | SUB r0,r0| 000015b0 2c 23 31 20 20 20 20 20 20 20 20 20 20 20 20 20 |,#1 | 000015c0 20 20 20 20 3b 20 20 63 6c 6f 73 65 20 74 68 65 | ; close the| 000015d0 20 43 6f 6d 6d 61 6e 64 57 69 6e 64 6f 77 0d 04 | CommandWindow..| 000015e0 9c 52 20 20 20 20 20 20 20 20 20 20 20 20 20 53 |.R S| 000015f0 57 49 20 20 20 20 20 22 58 57 69 6d 70 5f 43 6f |WI "XWimp_Co| 00001600 6d 6d 61 6e 64 57 69 6e 64 6f 77 22 20 20 20 20 |mmandWindow" | 00001610 3b 20 20 69 6e 20 63 61 73 65 20 61 20 57 69 6d |; in case a Wim| 00001620 70 54 61 73 6b 20 6f 70 65 6e 65 64 20 69 74 2e |pTask opened it.| 00001630 0d 04 a6 04 0d 04 b0 4b 20 20 20 20 20 20 20 20 |.......K | 00001640 20 20 20 20 20 42 4c 20 20 20 20 20 20 6c 69 6e | BL lin| 00001650 6b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |k | 00001660 20 20 20 20 20 20 3b 20 47 72 61 62 20 57 72 69 | ; Grab Wri| 00001670 74 65 43 20 76 65 63 74 6f 72 2c 20 61 6e 64 0d |teC vector, and.| 00001680 04 ba 4a 20 20 20 20 20 20 20 20 20 20 20 20 20 |..J | 00001690 4d 4f 56 20 20 20 20 20 72 30 2c 23 31 20 20 20 |MOV r0,#1 | 000016a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000016b0 20 3b 20 20 73 65 74 20 66 6c 61 67 20 66 6f 72 | ; set flag for| 000016c0 20 53 65 72 76 69 63 65 5f 0d 04 c4 41 20 20 20 | Service_...A | 000016d0 20 20 20 20 20 20 20 20 20 20 53 54 52 20 20 20 | STR | 000016e0 20 20 72 30 2c 68 6f 67 67 69 6e 67 20 20 20 20 | r0,hogging | 000016f0 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 52 65 | ; Re| 00001700 70 6f 72 74 45 72 72 6f 72 2e 0d 04 ce 04 0d 04 |portError.......| 00001710 d8 49 20 20 20 20 20 20 20 20 20 20 20 20 20 41 |.I A| 00001720 44 52 20 20 20 20 20 72 30 2c 75 6e 73 65 74 20 |DR r0,unset | 00001730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001740 3b 20 55 6e 73 65 74 20 6f 75 72 20 41 6c 69 61 |; Unset our Alia| 00001750 73 24 20 27 63 6f 73 0d 04 e2 4e 20 20 20 20 20 |s$ 'cos...N | 00001760 20 20 20 20 20 20 20 20 53 57 49 20 20 20 20 20 | SWI | 00001770 22 58 4f 53 5f 43 4c 49 22 20 20 20 20 20 20 20 |"XOS_CLI" | 00001780 20 20 20 20 20 20 20 20 20 3b 20 20 77 65 20 64 | ; we d| 00001790 6f 6e 27 74 20 77 61 6e 74 20 63 61 6c 6c 65 64 |on't want called| 000017a0 20 6e 6f 77 2e 0d 04 ec 4b 20 20 20 20 20 20 20 | now....K | 000017b0 20 20 20 20 20 20 41 44 52 20 20 20 20 20 72 30 | ADR r0| 000017c0 2c 66 72 65 65 20 20 20 20 20 20 20 20 20 20 20 |,free | 000017d0 20 20 20 20 20 20 20 3b 20 49 73 73 75 65 20 61 | ; Issue a| 000017e0 20 27 6e 6f 72 6d 61 6c 27 20 2a 66 72 65 65 2e | 'normal' *free.| 000017f0 0d 04 f6 22 20 20 20 20 20 20 20 20 20 20 20 20 |..." | 00001800 20 53 57 49 20 20 20 20 20 22 58 4f 53 5f 43 4c | SWI "XOS_CL| 00001810 49 22 0d 05 00 49 20 20 20 20 20 20 20 20 20 20 |I"...I | 00001820 20 20 20 42 56 53 4c 20 20 20 20 65 72 72 6f 72 | BVSL error| 00001830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001840 20 20 20 20 3b 20 41 6e 64 20 74 65 6c 6c 20 75 | ; And tell u| 00001850 73 20 61 62 6f 75 74 20 69 74 2e 0d 05 0a 48 20 |s about it....H | 00001860 20 20 20 20 20 20 20 20 20 20 20 20 41 44 52 20 | ADR | 00001870 20 20 20 20 72 30 2c 73 65 74 20 20 20 20 20 20 | r0,set | 00001880 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 53 | ; S| 00001890 65 74 20 6f 75 72 20 41 6c 69 61 73 24 20 61 67 |et our Alias$ ag| 000018a0 61 69 6e 0d 05 14 48 20 20 20 20 20 20 20 20 20 |ain...H | 000018b0 20 20 20 20 53 57 49 20 20 20 20 20 22 58 4f 53 | SWI "XOS| 000018c0 5f 43 4c 49 22 20 20 20 20 20 20 20 20 20 20 20 |_CLI" | 000018d0 20 20 20 20 20 3b 20 20 66 6f 72 20 66 75 74 75 | ; for futu| 000018e0 72 65 20 2a 66 72 65 65 27 73 2e 0d 05 1e 04 0d |re *free's......| 000018f0 05 28 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 |.(N | 00001900 42 4c 20 20 20 20 20 20 64 65 6c 69 6e 6b 20 20 |BL delink | 00001910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001920 20 3b 20 52 65 6c 65 61 73 65 20 57 72 69 74 65 | ; Release Write| 00001930 43 20 76 65 63 74 6f 72 2c 20 61 6e 64 0d 05 32 |C vector, and..2| 00001940 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f |L MO| 00001950 56 20 20 20 20 20 72 30 2c 23 30 20 20 20 20 20 |V r0,#0 | 00001960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00001970 20 20 63 6c 65 61 72 20 66 6c 61 67 20 66 6f 72 | clear flag for| 00001980 20 53 65 72 76 69 63 65 5f 0d 05 3c 41 20 20 20 | Service_..<A | 00001990 20 20 20 20 20 20 20 20 20 20 53 54 52 20 20 20 | STR | 000019a0 20 20 72 30 2c 68 6f 67 67 69 6e 67 20 20 20 20 | r0,hogging | 000019b0 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 52 65 | ; Re| 000019c0 70 6f 72 74 45 72 72 6f 72 2e 0d 05 46 1f 20 20 |portError...F. | 000019d0 20 20 20 20 20 20 20 20 20 20 20 4c 44 52 20 20 | LDR | 000019e0 20 20 20 72 32 2c 63 6e 74 0d 05 50 20 20 20 20 | r2,cnt..P | 000019f0 20 20 20 20 20 20 20 20 20 20 41 44 52 20 20 20 | ADR | 00001a00 20 20 72 31 2c 64 61 74 61 0d 05 5a 47 20 20 20 | r1,data..ZG | 00001a10 20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 | MOV | 00001a20 20 20 72 30 2c 23 97 22 7c 22 20 20 20 20 20 20 | r0,#."|" | 00001a30 20 20 20 20 20 20 20 20 20 3b 20 53 74 69 63 6b | ; Stick| 00001a40 20 61 20 7c 6d 20 6f 6e 20 74 68 65 20 65 6e 64 | a |m on the end| 00001a50 0d 05 64 4c 20 20 20 20 20 20 20 20 20 20 20 20 |..dL | 00001a60 20 53 54 52 42 20 20 20 20 72 30 2c 5b 72 31 2c | STRB r0,[r1,| 00001a70 72 32 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 |r2] | 00001a80 20 20 3b 20 20 6f 66 20 69 74 20 73 6f 20 74 68 | ; of it so th| 00001a90 61 74 20 74 68 65 20 42 41 53 49 43 0d 05 6e 4a |at the BASIC..nJ| 00001aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 41 44 44 | ADD| 00001ab0 20 20 20 20 20 72 31 2c 72 31 2c 23 31 20 20 20 | r1,r1,#1 | 00001ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00001ad0 20 24 20 6f 70 65 72 61 6e 64 20 63 61 6e 20 72 | $ operand can r| 00001ae0 65 61 64 20 69 74 0d 05 78 4b 20 20 20 20 20 20 |ead it..xK | 00001af0 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 72 | MOV r| 00001b00 30 2c 23 97 22 6d 22 20 20 20 20 20 20 20 20 20 |0,#."m" | 00001b10 20 20 20 20 20 20 3b 20 20 73 74 72 61 69 67 68 | ; straigh| 00001b20 74 20 6f 75 74 20 74 68 65 20 62 75 66 66 65 72 |t out the buffer| 00001b30 2e 0d 05 82 23 20 20 20 20 20 20 20 20 20 20 20 |....# | 00001b40 20 20 53 54 52 42 20 20 20 20 72 30 2c 5b 72 31 | STRB r0,[r1| 00001b50 2c 72 32 5d 0d 05 8c 21 20 20 20 20 20 20 20 20 |,r2]...! | 00001b60 20 20 20 20 20 41 44 44 20 20 20 20 20 72 31 2c | ADD r1,| 00001b70 72 31 2c 23 31 0d 05 96 1f 20 20 20 20 20 20 20 |r1,#1.... | 00001b80 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 72 30 | MOV r0| 00001b90 2c 23 31 33 0d 05 a0 23 20 20 20 20 20 20 20 20 |,#13...# | 00001ba0 20 20 20 20 20 53 54 52 42 20 20 20 20 72 30 2c | STRB r0,| 00001bb0 5b 72 31 2c 72 32 5d 0d 05 aa 50 20 20 20 20 20 |[r1,r2]...P | 00001bc0 20 20 20 20 20 20 20 20 41 44 52 20 20 20 20 20 | ADR | 00001bd0 72 30 2c 73 79 73 76 61 72 20 20 20 20 20 20 20 |r0,sysvar | 00001be0 20 20 20 20 20 20 20 20 20 3b 20 46 69 6e 61 6c | ; Final| 00001bf0 6c 79 2c 20 73 65 74 20 73 79 73 74 65 6d 20 76 |ly, set system v| 00001c00 61 72 69 61 62 6c 65 0d 05 b4 4b 20 20 20 20 20 |ariable...K | 00001c10 20 20 20 20 20 20 20 20 41 44 52 20 20 20 20 20 | ADR | 00001c20 72 31 2c 64 61 74 61 20 20 20 20 20 20 20 20 20 |r1,data | 00001c30 20 20 20 20 20 20 20 20 20 3b 20 20 27 46 72 65 | ; 'Fre| 00001c40 65 44 61 74 61 27 20 74 6f 20 74 68 65 20 74 68 |eData' to the th| 00001c50 69 73 0d 05 be 4b 20 20 20 20 20 20 20 20 20 20 |is...K | 00001c60 20 20 20 4d 4f 56 20 20 20 20 20 72 33 2c 23 30 | MOV r3,#0| 00001c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001c80 20 20 20 20 3b 20 20 2a 66 72 65 65 20 6f 75 74 | ; *free out| 00001c90 70 75 74 20 77 65 20 6e 61 62 62 65 64 0d 05 c8 |put we nabbed...| 00001ca0 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f |; MO| 00001cb0 56 20 20 20 20 20 72 34 2c 23 30 20 20 20 20 20 |V r4,#0 | 00001cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00001cd0 20 20 61 62 6f 76 65 2e 0d 05 d2 28 20 20 20 20 | above....( | 00001ce0 20 20 20 20 20 20 20 20 20 53 57 49 20 20 20 20 | SWI | 00001cf0 20 22 58 4f 53 5f 53 65 74 56 61 72 56 61 6c 22 | "XOS_SetVarVal"| 00001d00 0d 05 dc 04 0d 05 e6 4d 20 20 20 20 20 20 20 20 |.......M | 00001d10 20 20 20 20 20 4c 44 4d 49 41 20 20 20 72 31 33 | LDMIA r13| 00001d20 21 2c 7b 72 37 2d 72 31 31 2c 70 63 7d 20 20 20 |!,{r7-r11,pc} | 00001d30 20 20 20 20 20 20 3b 20 50 75 6c 6c 20 72 65 67 | ; Pull reg| 00001d40 73 20 61 6e 64 20 63 6c 65 61 72 20 6f 66 66 20 |s and clear off | 00001d50 21 0d 05 f0 04 0d 05 fa 4b 2e 6e 6f 72 6d 61 6c |!.......K.normal| 00001d60 20 20 20 20 20 20 41 44 52 20 20 20 20 20 72 30 | ADR r0| 00001d70 2c 75 6e 73 65 74 20 20 20 20 20 20 20 20 20 20 |,unset | 00001d80 20 20 20 20 20 20 20 3b 20 49 66 20 77 65 20 68 | ; If we h| 00001d90 61 70 70 65 6e 20 74 6f 20 62 65 20 69 6e 20 61 |appen to be in a| 00001da0 0d 06 04 4f 20 20 20 20 20 20 20 20 20 20 20 20 |...O | 00001db0 20 53 57 49 20 20 20 20 20 22 58 4f 53 5f 43 4c | SWI "XOS_CL| 00001dc0 49 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |I" | 00001dd0 20 20 3b 20 20 53 68 65 6c 6c 5f 43 4c 49 20 28 | ; Shell_CLI (| 00001de0 69 2e 65 2e 20 61 66 74 65 72 20 66 31 32 29 0d |i.e. after f12).| 00001df0 06 0e 4f 20 20 20 20 20 20 20 20 20 20 20 20 20 |..O | 00001e00 41 44 52 20 20 20 20 20 72 30 2c 66 72 65 65 20 |ADR r0,free | 00001e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001e20 20 3b 20 20 74 68 65 6e 20 69 73 73 75 65 20 61 | ; then issue a| 00001e30 20 6e 6f 72 6d 61 6c 20 2a 66 72 65 65 2e 0d 06 | normal *free...| 00001e40 18 22 20 20 20 20 20 20 20 20 20 20 20 20 20 53 |." S| 00001e50 57 49 20 20 20 20 20 22 58 4f 53 5f 43 4c 49 22 |WI "XOS_CLI"| 00001e60 0d 06 22 45 20 20 20 20 20 20 20 20 20 20 20 20 |.."E | 00001e70 20 42 56 53 4c 20 20 20 20 65 72 72 6f 72 20 20 | BVSL error | 00001e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001e90 20 20 3b 20 54 65 6c 6c 20 75 73 20 69 66 20 65 | ; Tell us if e| 00001ea0 72 72 6f 72 2e 0d 06 2c 1f 20 20 20 20 20 20 20 |rror...,. | 00001eb0 20 20 20 20 20 20 41 44 52 20 20 20 20 20 72 30 | ADR r0| 00001ec0 2c 73 65 74 0d 06 36 22 20 20 20 20 20 20 20 20 |,set..6" | 00001ed0 20 20 20 20 20 53 57 49 20 20 20 20 20 22 58 4f | SWI "XO| 00001ee0 53 5f 43 4c 49 22 0d 06 40 04 0d 06 4a 48 20 20 |S_CLI"..@...JH | 00001ef0 20 20 20 20 20 20 20 20 20 20 20 42 4c 20 20 20 | BL | 00001f00 20 20 20 63 6c 65 61 72 20 20 20 20 20 20 20 20 | clear | 00001f10 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 43 6c | ; Cl| 00001f20 65 61 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 |ear the variable| 00001f30 73 2e 0d 06 54 4d 20 20 20 20 20 20 20 20 20 20 |s...TM | 00001f40 20 20 20 4c 44 4d 49 41 20 20 20 72 31 33 21 2c | LDMIA r13!,| 00001f50 7b 72 37 2d 72 31 31 2c 70 63 7d 20 20 20 20 20 |{r7-r11,pc} | 00001f60 20 20 20 20 3b 20 50 75 6c 6c 20 72 65 67 73 20 | ; Pull regs | 00001f70 61 6e 64 20 63 6c 65 61 72 20 6f 66 66 20 21 0d |and clear off !.| 00001f80 06 5e 04 0d 06 68 4c 2e 6f 73 77 72 63 68 76 20 |.^...hL.oswrchv | 00001f90 20 20 20 20 53 54 4d 44 42 20 20 20 72 31 33 21 | STMDB r13!| 00001fa0 2c 7b 72 30 2d 72 33 7d 20 20 20 20 20 20 20 20 |,{r0-r3} | 00001fb0 20 20 20 20 20 3b 20 57 72 69 74 65 43 20 76 65 | ; WriteC ve| 00001fc0 63 74 6f 72 20 69 6e 74 65 72 63 65 70 74 3a 0d |ctor intercept:.| 00001fd0 06 72 48 20 20 20 20 20 20 20 20 20 20 20 20 20 |.rH | 00001fe0 4c 44 52 20 20 20 20 20 72 32 2c 63 6e 74 20 20 |LDR r2,cnt | 00001ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002000 20 3b 20 4c 6f 61 64 20 75 70 20 74 68 65 20 63 | ; Load up the c| 00002010 6f 75 6e 74 65 72 2e 0d 06 7c 3f 20 20 20 20 20 |ounter...|? | 00002020 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 | CMP | 00002030 72 32 2c 23 32 35 35 20 20 20 20 20 20 20 20 20 |r2,#255 | 00002040 20 20 20 20 20 20 20 20 20 3b 20 52 61 6e 67 65 | ; Range| 00002050 2d 63 68 65 63 6b 0d 06 86 28 20 20 20 20 20 20 |-check...( | 00002060 20 20 20 20 20 20 20 4c 44 4d 45 51 49 41 20 72 | LDMEQIA r| 00002070 31 33 21 2c 7b 72 30 2d 72 33 2c 70 63 7d 0d 06 |13!,{r0-r3,pc}..| 00002080 90 4b 20 20 20 20 20 20 20 20 20 20 20 20 20 41 |.K A| 00002090 44 52 20 20 20 20 20 72 31 2c 64 61 74 61 20 20 |DR r1,data | 000020a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000020b0 3b 20 47 65 74 20 74 68 65 20 62 75 66 66 65 72 |; Get the buffer| 000020c0 20 61 64 64 72 65 73 73 2e 0d 06 9a 4c 20 20 20 | address....L | 000020d0 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 | CMP | 000020e0 20 20 72 30 2c 23 33 32 20 20 20 20 20 20 20 20 | r0,#32 | 000020f0 20 20 20 20 20 20 20 20 20 20 20 3b 20 43 68 65 | ; Che| 00002100 63 6b 20 66 6f 72 20 63 6f 6e 74 72 6f 6c 2d 63 |ck for control-c| 00002110 6f 64 65 73 2c 0d 06 a4 4a 20 20 20 20 20 20 20 |odes,...J | 00002120 20 20 20 20 20 20 4d 4f 56 4c 45 20 20 20 72 30 | MOVLE r0| 00002130 2c 23 33 32 20 20 20 20 20 20 20 20 20 20 20 20 |,#32 | 00002140 20 20 20 20 20 20 20 3b 20 20 61 6e 64 20 6d 61 | ; and ma| 00002150 6b 65 20 69 6e 74 6f 20 73 70 61 63 65 73 2e 0d |ke into spaces..| 00002160 06 ae 42 20 20 20 20 20 20 20 20 20 20 20 20 20 |..B | 00002170 53 54 52 42 20 20 20 20 72 30 2c 5b 72 31 2c 72 |STRB r0,[r1,r| 00002180 32 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |2] | 00002190 20 3b 20 53 61 76 65 20 74 68 65 20 64 61 74 61 | ; Save the data| 000021a0 2c 0d 06 b8 4b 20 20 20 20 20 20 20 20 20 20 20 |,...K | 000021b0 20 20 41 44 44 20 20 20 20 20 72 32 2c 72 32 2c | ADD r2,r2,| 000021c0 23 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |#1 | 000021d0 20 20 20 3b 20 20 69 6e 63 72 65 6d 65 6e 74 20 | ; increment | 000021e0 74 68 65 20 63 6f 75 6e 74 65 72 2c 0d 06 c2 3d |the counter,...=| 000021f0 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 52 | STR| 00002200 20 20 20 20 20 72 32 2c 63 6e 74 20 20 20 20 20 | r2,cnt | 00002210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00002220 20 73 61 76 65 20 69 74 2c 0d 06 cc 40 20 20 20 | save it,...@ | 00002230 20 20 20 20 20 20 20 20 20 20 4c 44 4d 49 41 20 | LDMIA | 00002240 20 20 72 31 33 21 2c 7b 72 30 2d 72 33 2c 70 63 | r13!,{r0-r3,pc| 00002250 7d 20 20 20 20 20 20 20 20 20 20 3b 20 20 61 6e |} ; an| 00002260 64 20 72 65 74 75 72 6e 2e 0d 06 d6 04 0d 06 e0 |d return........| 00002270 23 2e 63 6c 65 61 72 20 20 20 20 20 20 20 53 54 |#.clear ST| 00002280 4d 44 42 20 20 20 72 31 33 21 2c 7b 72 31 34 7d |MDB r13!,{r14}| 00002290 0d 06 ea 4e 20 20 20 20 20 20 20 20 20 20 20 20 |...N | 000022a0 20 41 44 52 20 20 20 20 20 72 31 2c 76 61 6c 75 | ADR r1,valu| 000022b0 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |e | 000022c0 20 20 3b 20 43 6c 65 61 72 20 74 68 65 20 76 61 | ; Clear the va| 000022d0 72 69 61 62 6c 65 73 20 63 61 6c 6c 65 64 0d 06 |riables called..| 000022e0 f4 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 4d |.N M| 000022f0 4f 56 20 20 20 20 20 72 34 2c 23 31 20 20 20 20 |OV r4,#1 | 00002300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002310 3b 20 20 27 46 53 6e 75 6d 27 20 61 6e 64 20 27 |; 'FSnum' and '| 00002320 50 72 69 76 61 74 65 57 6f 72 64 27 0d 06 fe 4b |PrivateWord'...K| 00002330 20 20 20 20 20 20 20 20 20 20 20 20 20 53 55 42 | SUB| 00002340 20 20 20 20 20 72 32 2c 72 34 2c 23 32 20 20 20 | r2,r4,#2 | 00002350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00002360 20 27 63 6f 73 20 74 68 65 73 65 20 61 6c 73 6f | 'cos these also| 00002370 20 61 63 74 20 61 73 0d 07 08 4f 20 20 20 20 20 | act as...O | 00002380 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 | MOV | 00002390 72 33 2c 23 30 20 20 20 20 20 20 20 20 20 20 20 |r3,#0 | 000023a0 20 20 20 20 20 20 20 20 20 3b 20 20 66 6c 61 67 | ; flag| 000023b0 73 20 66 6f 72 20 74 68 65 20 42 41 53 49 43 20 |s for the BASIC | 000023c0 66 72 6f 6e 74 2d 0d 07 12 4b 20 20 20 20 20 20 |front-...K | 000023d0 20 20 20 20 20 20 20 41 44 52 20 20 20 20 20 72 | ADR r| 000023e0 30 2c 73 79 73 76 61 72 32 20 20 20 20 20 20 20 |0,sysvar2 | 000023f0 20 20 20 20 20 20 20 20 3b 20 20 65 6e 64 2c 20 | ; end, | 00002400 69 6e 66 6f 72 6d 69 6e 67 20 69 74 20 74 68 61 |informing it tha| 00002410 74 0d 07 1c 4e 20 20 20 20 20 20 20 20 20 20 20 |t...N | 00002420 20 20 53 57 49 20 20 20 20 20 22 58 4f 53 5f 53 | SWI "XOS_S| 00002430 65 74 56 61 72 56 61 6c 22 20 20 20 20 20 20 20 |etVarVal" | 00002440 20 20 20 3b 20 20 27 46 72 65 65 44 61 74 61 27 | ; 'FreeData'| 00002450 20 63 6f 6e 74 61 69 6e 73 20 66 72 65 73 68 0d | contains fresh.| 00002460 07 26 52 20 20 20 20 20 20 20 20 20 20 20 20 20 |.&R | 00002470 4d 4f 56 20 20 20 20 20 72 33 2c 23 30 20 20 20 |MOV r3,#0 | 00002480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002490 20 3b 20 20 69 6e 66 6f 20 77 61 69 74 69 6e 67 | ; info waiting| 000024a0 20 74 6f 20 62 65 20 64 69 73 70 6c 61 79 65 64 | to be displayed| 000024b0 2e 0d 07 30 23 20 20 20 20 20 20 20 20 20 20 20 |...0# | 000024c0 20 20 41 44 52 20 20 20 20 20 72 30 2c 73 79 73 | ADR r0,sys| 000024d0 76 61 72 33 0d 07 3a 28 20 20 20 20 20 20 20 20 |var3..:( | 000024e0 20 20 20 20 20 53 57 49 20 20 20 20 20 22 58 4f | SWI "XO| 000024f0 53 5f 53 65 74 56 61 72 56 61 6c 22 0d 07 44 22 |S_SetVarVal"..D"| 00002500 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 44 4d | LDM| 00002510 49 41 20 20 20 72 31 33 21 2c 7b 70 63 7d 0d 07 |IA r13!,{pc}..| 00002520 4e 04 0d 07 58 23 2e 65 72 72 6f 72 20 20 20 20 |N...X#.error | 00002530 20 20 20 53 54 4d 44 42 20 20 20 72 31 33 21 2c | STMDB r13!,| 00002540 7b 72 31 34 7d 0d 07 62 21 20 20 20 20 20 20 20 |{r14}..b! | 00002550 20 20 20 20 20 20 41 44 44 20 20 20 20 20 72 30 | ADD r0| 00002560 2c 72 30 2c 23 34 0d 07 6c 25 20 20 20 20 20 20 |,r0,#4..l% | 00002570 20 20 20 20 20 20 20 53 57 49 20 20 20 20 20 22 | SWI "| 00002580 58 4f 53 5f 57 72 69 74 65 30 22 0d 07 76 26 20 |XOS_Write0"..v& | 00002590 20 20 20 20 20 20 20 20 20 20 20 20 53 57 49 20 | SWI | 000025a0 20 20 20 20 22 58 4f 53 5f 4e 65 77 4c 69 6e 65 | "XOS_NewLine| 000025b0 22 0d 07 80 22 20 20 20 20 20 20 20 20 20 20 20 |"..." | 000025c0 20 20 4c 44 4d 49 41 20 20 20 72 31 33 21 2c 7b | LDMIA r13!,{| 000025d0 70 63 7d 0d 07 8a 04 0d 07 94 29 2e 6c 69 6e 6b |pc}.......).link| 000025e0 20 20 20 20 20 20 20 20 53 54 4d 44 42 20 20 20 | STMDB | 000025f0 72 31 33 21 2c 7b 72 30 2d 72 32 2c 72 31 34 7d |r13!,{r0-r2,r14}| 00002600 0d 07 9e 4f 20 20 20 20 20 20 20 20 20 20 20 20 |...O | 00002610 20 4d 4f 56 20 20 20 20 20 72 30 2c 23 33 20 20 | MOV r0,#3 | 00002620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002630 20 20 3b 20 49 6e 74 65 72 63 65 70 74 20 61 6c | ; Intercept al| 00002640 6c 20 57 72 69 74 65 43 20 6f 75 74 70 75 74 0d |l WriteC output.| 00002650 07 a8 51 20 20 20 20 20 20 20 20 20 20 20 20 20 |..Q | 00002660 41 44 52 20 20 20 20 20 72 31 2c 6f 73 77 72 63 |ADR r1,oswrc| 00002670 68 76 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |hv | 00002680 20 3b 20 20 73 6f 20 77 65 20 63 61 6e 20 67 72 | ; so we can gr| 00002690 61 62 20 74 68 65 20 66 72 65 65 2f 75 73 65 64 |ab the free/used| 000026a0 0d 07 b2 4e 20 20 20 20 20 20 20 20 20 20 20 20 |...N | 000026b0 20 4d 4f 56 20 20 20 20 20 72 32 2c 23 30 20 20 | MOV r2,#0 | 000026c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000026d0 20 20 3b 20 20 69 6e 66 6f 20 6e 6f 72 6d 61 6c | ; info normal| 000026e0 6c 79 20 73 65 6e 74 20 74 6f 20 74 68 65 0d 07 |ly sent to the..| 000026f0 bc 3c 20 20 20 20 20 20 20 20 20 20 20 20 20 53 |.< S| 00002700 54 52 20 20 20 20 20 72 32 2c 63 6e 74 20 20 20 |TR r2,cnt | 00002710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002720 3b 20 20 73 63 72 65 65 6e 2e 0d 07 c6 24 20 20 |; screen....$ | 00002730 20 20 20 20 20 20 20 20 20 20 20 53 57 49 20 20 | SWI | 00002740 20 20 20 22 58 4f 53 5f 43 6c 61 69 6d 22 0d 07 | "XOS_Claim"..| 00002750 d0 28 20 20 20 20 20 20 20 20 20 20 20 20 20 4c |.( L| 00002760 44 4d 49 41 20 20 20 72 31 33 21 2c 7b 72 30 2d |DMIA r13!,{r0-| 00002770 72 32 2c 70 63 7d 0d 07 da 04 0d 07 e4 29 2e 64 |r2,pc}.......).d| 00002780 65 6c 69 6e 6b 20 20 20 20 20 20 53 54 4d 44 42 |elink STMDB| 00002790 20 20 20 72 31 33 21 2c 7b 72 30 2d 72 32 2c 72 | r13!,{r0-r2,r| 000027a0 31 34 7d 0d 07 ee 49 20 20 20 20 20 20 20 20 20 |14}...I | 000027b0 20 20 20 20 4d 4f 56 20 20 20 20 20 72 30 2c 23 | MOV r0,#| 000027c0 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |3 | 000027d0 20 20 20 20 20 3b 20 52 65 6c 65 61 73 65 20 57 | ; Release W| 000027e0 72 69 74 65 43 20 76 65 63 74 6f 72 0d 07 f8 47 |riteC vector...G| 000027f0 20 20 20 20 20 20 20 20 20 20 20 20 20 41 44 52 | ADR| 00002800 20 20 20 20 20 72 31 2c 6f 73 77 72 63 68 76 20 | r1,oswrchv | 00002810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00002820 20 27 63 6f 73 20 77 65 27 76 65 20 67 6f 74 20 | 'cos we've got | 00002830 61 6c 6c 0d 08 02 47 20 20 20 20 20 20 20 20 20 |all...G | 00002840 20 20 20 20 4d 4f 56 20 20 20 20 20 72 32 2c 23 | MOV r2,#| 00002850 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |0 | 00002860 20 20 20 20 20 3b 20 20 77 65 20 77 61 6e 74 65 | ; we wante| 00002870 64 20 66 72 6f 6d 20 69 74 2e 0d 08 0c 26 20 20 |d from it....& | 00002880 20 20 20 20 20 20 20 20 20 20 20 53 57 49 20 20 | SWI | 00002890 20 20 20 22 58 4f 53 5f 52 65 6c 65 61 73 65 22 | "XOS_Release"| 000028a0 0d 08 16 28 20 20 20 20 20 20 20 20 20 20 20 20 |...( | 000028b0 20 4c 44 4d 49 41 20 20 20 72 31 33 21 2c 7b 72 | LDMIA r13!,{r| 000028c0 30 2d 72 32 2c 70 63 7d 0d 08 20 04 0d 08 2a 04 |0-r2,pc}.. ...*.| 000028d0 0d 08 34 04 0d 08 3e 16 20 20 20 20 20 20 20 20 |..4...>. | 000028e0 20 20 20 20 20 41 4c 49 47 4e 0d 08 48 68 2e 73 | ALIGN..Hh.s| 000028f0 79 73 76 61 72 20 20 20 20 20 20 45 51 55 53 20 |ysvar EQUS | 00002900 20 20 20 22 46 72 65 65 44 61 74 61 22 20 20 20 | "FreeData" | 00002910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002940 20 20 20 20 20 20 20 20 20 20 20 20 3a 45 51 55 | :EQU| 00002950 42 30 0d 08 52 16 20 20 20 20 20 20 20 20 20 20 |B0..R. | 00002960 20 20 20 41 4c 49 47 4e 0d 08 5c 21 2e 64 61 74 | ALIGN..\!.dat| 00002970 61 20 20 20 20 20 20 20 20 45 51 55 53 20 20 20 |a EQUS | 00002980 20 c4 32 35 35 2c bd 30 29 0d 08 66 16 20 20 20 | .255,.0)..f. | 00002990 20 20 20 20 20 20 20 20 20 20 41 4c 49 47 4e 0d | ALIGN.| 000029a0 08 70 68 2e 73 79 73 76 61 72 32 20 20 20 20 20 |.ph.sysvar2 | 000029b0 45 51 55 53 20 20 20 20 22 50 72 69 76 61 74 65 |EQUS "Private| 000029c0 57 6f 72 64 22 20 20 20 20 20 20 20 20 20 20 20 |Word" | 000029d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002a00 20 3a 45 51 55 42 30 0d 08 7a 16 20 20 20 20 20 | :EQUB0..z. | 00002a10 20 20 20 20 20 20 20 20 41 4c 49 47 4e 0d 08 84 | ALIGN...| 00002a20 68 2e 73 79 73 76 61 72 33 20 20 20 20 20 45 51 |h.sysvar3 EQ| 00002a30 55 53 20 20 20 20 22 46 53 6e 75 6d 22 20 20 20 |US "FSnum" | 00002a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a | :| 00002a80 45 51 55 42 30 0d 08 8e 16 20 20 20 20 20 20 20 |EQUB0.... | 00002a90 20 20 20 20 20 20 41 4c 49 47 4e 0d 08 98 68 2e | ALIGN...h.| 00002aa0 73 79 73 76 61 72 34 20 20 20 20 20 45 51 55 53 |sysvar4 EQUS| 00002ab0 20 20 20 20 22 54 61 69 6c 22 20 20 20 20 20 20 | "Tail" | 00002ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002af0 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 45 51 | :EQ| 00002b00 55 42 30 0d 08 a2 16 20 20 20 20 20 20 20 20 20 |UB0.... | 00002b10 20 20 20 20 41 4c 49 47 4e 0d 08 ac 1a 2e 76 61 | ALIGN.....va| 00002b20 6c 75 65 20 20 20 20 20 20 20 45 51 55 44 20 20 |lue EQUD | 00002b30 20 20 30 0d 08 b6 1a 2e 70 69 6e 66 6f 20 20 20 | 0.....pinfo | 00002b40 20 20 20 20 45 51 55 44 20 20 20 20 30 0d 08 c0 | EQUD 0...| 00002b50 1a 20 20 20 20 20 20 20 20 20 20 20 20 20 45 51 |. EQ| 00002b60 55 44 20 20 20 20 30 0d 08 ca 1a 20 20 20 20 20 |UD 0.... | 00002b70 20 20 20 20 20 20 20 20 45 51 55 44 20 20 20 20 | EQUD | 00002b80 30 0d 08 d4 1a 20 20 20 20 20 20 20 20 20 20 20 |0.... | 00002b90 20 20 45 51 55 44 20 20 20 20 30 0d 08 de 1a 20 | EQUD 0.... | 00002ba0 20 20 20 20 20 20 20 20 20 20 20 20 45 51 55 44 | EQUD| 00002bb0 20 20 20 20 30 0d 08 e8 1a 2e 63 6e 74 20 20 20 | 0.....cnt | 00002bc0 20 20 20 20 20 20 45 51 55 44 20 20 20 20 30 0d | EQUD 0.| 00002bd0 08 f2 1a 2e 68 6f 67 67 69 6e 67 20 20 20 20 20 |....hogging | 00002be0 45 51 55 44 20 20 20 20 30 0d 08 fc 04 0d 09 06 |EQUD 0.......| 00002bf0 68 2e 75 6e 73 65 74 20 20 20 20 20 20 20 45 51 |h.unset EQ| 00002c00 55 53 20 20 20 20 22 55 4e 53 45 54 20 41 6c 69 |US "UNSET Ali| 00002c10 61 73 24 46 72 65 65 22 20 20 20 20 20 20 20 20 |as$Free" | 00002c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a | :| 00002c50 45 51 55 42 30 0d 09 10 16 20 20 20 20 20 20 20 |EQUB0.... | 00002c60 20 20 20 20 20 20 41 4c 49 47 4e 0d 09 1a 68 2e | ALIGN...h.| 00002c70 73 65 74 20 20 20 20 20 20 20 20 20 45 51 55 53 |set EQUS| 00002c80 20 20 20 20 22 53 45 54 20 41 6c 69 61 73 24 46 | "SET Alias$F| 00002c90 72 65 65 20 22 22 41 6c 69 61 73 46 72 65 65 20 |ree ""AliasFree | 00002ca0 22 22 22 20 20 20 20 20 20 20 20 20 20 20 20 20 |""" | 00002cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 45 51 | :EQ| 00002cd0 55 42 30 0d 09 24 16 20 20 20 20 20 20 20 20 20 |UB0..$. | 00002ce0 20 20 20 20 41 4c 49 47 4e 0d 09 2e 23 2e 66 72 | ALIGN...#.fr| 00002cf0 65 65 20 20 20 20 20 20 20 20 45 51 55 53 20 20 |ee EQUS | 00002d00 20 20 22 46 72 65 65 20 20 20 20 22 0d 09 38 21 | "Free "..8!| 00002d10 2e 74 61 69 6c 20 20 20 20 20 20 20 20 45 51 55 |.tail EQU| 00002d20 53 20 20 20 20 c4 32 35 35 2c bd 30 29 0d 09 42 |S .255,.0)..B| 00002d30 16 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4c |. AL| 00002d40 49 47 4e 0d 09 4c 1f 2e 74 61 73 6b 20 20 20 20 |IGN..L..task | 00002d50 20 20 20 20 45 51 55 53 20 20 20 20 22 54 41 53 | EQUS "TAS| 00002d60 4b 22 0d 09 56 04 0d 09 60 04 0d 09 6a 04 0d 09 |K"..V...`...j...| 00002d70 74 06 5d ed 0d 09 7e 04 0d 09 88 1e f4 53 59 53 |t.]...~......SYS| 00002d80 22 4f 53 5f 4d 6f 64 75 6c 65 22 2c 31 31 2c 63 |"OS_Module",11,c| 00002d90 6f 64 65 2c 50 25 0d 09 92 2d c8 99 22 4f 53 5f |ode,P%...-.."OS_| 00002da0 43 4c 49 22 2c 22 53 41 56 45 20 41 6c 69 61 73 |CLI","SAVE Alias| 00002db0 52 4d 20 22 2b c3 7e 63 6f 64 65 2b 22 2b 22 2b |RM "+.~code+"+"+| 00002dc0 c3 50 25 0d 09 9c 24 c8 99 22 4f 53 5f 43 4c 49 |.P%...$.."OS_CLI| 00002dd0 22 2c 22 53 45 54 54 59 50 45 20 41 6c 69 61 73 |","SETTYPE Alias| 00002de0 52 4d 20 46 46 41 22 0d ff |RM FFA"..| 00002de9