home *** CD-ROM | disk | FTP | other *** search
Unknown | 1989-05-21 | 13.3 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was not able to be converted.
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| file
| data
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 0a 10 f4 20 20 3e | 24 2e 49 6e 74 53 72 63 |..... >|$.IntSrc|
|00000010| 0d 00 14 19 f4 20 20 41 | 75 74 68 6f 72 20 53 74 |..... A|uthor St|
|00000020| 65 76 65 20 48 6f 61 72 | 65 0d 00 1e 12 f4 20 20 |eve Hoar|e..... |
|00000030| 32 31 20 4d 61 79 20 31 | 39 38 39 0d 00 28 2d f4 |21 May 1|989..(-.|
|00000040| 20 20 53 6f 75 72 63 65 | 20 63 6f 64 65 20 66 6f | Source| code fo|
|00000050| 72 20 49 6e 74 65 72 72 | 75 70 74 20 6d 6f 64 75 |r Interr|upt modu|
|00000060| 6c 65 20 56 31 2e 31 30 | 0d 00 32 04 0d 00 3c 11 |le V1.10|..2...<.|
|00000070| de 20 53 70 61 63 65 20 | 26 31 30 30 30 0d 00 46 |. Space |&1000..F|
|00000080| 12 e3 20 49 25 3d 34 20 | b8 20 37 20 88 20 33 0d |.. I%=4 |. 7 . 3.|
|00000090| 00 50 11 50 25 3d 30 3a | 4f 25 3d 53 70 61 63 65 |.P.P%=0:|O%=Space|
|000000a0| 0d 00 5a 0b 5b 4f 50 54 | 20 49 25 0d 00 64 19 20 |..Z.[OPT| I%..d. |
|000000b0| 20 20 45 51 55 44 20 30 | 3b 20 20 20 20 20 20 53 | EQUD 0|; S|
|000000c0| 74 61 72 74 0d 00 6e 10 | 20 20 20 45 51 55 44 20 |tart..n.| EQUD |
|000000d0| 49 6e 69 74 0d 00 78 11 | 20 20 20 45 51 55 44 20 |Init..x.| EQUD |
|000000e0| 46 69 6e 61 6c 0d 00 82 | 13 20 20 20 45 51 55 44 |Final...|. EQUD|
|000000f0| 20 53 65 72 76 69 63 65 | 0d 00 8c 11 20 20 20 45 | Service|.... E|
|00000100| 51 55 44 20 54 69 74 6c | 65 0d 00 96 10 20 20 20 |QUD Titl|e.... |
|00000110| 45 51 55 44 20 48 65 6c | 70 0d 00 a0 11 20 20 20 |EQUD Hel|p.... |
|00000120| 45 51 55 44 20 54 61 62 | 6c 65 0d 00 aa 2a 20 20 |EQUD Tab|le...* |
|00000130| 20 45 51 55 44 20 30 3b | 20 20 20 20 20 20 53 57 | EQUD 0;| SW|
|00000140| 49 20 73 74 75 66 66 20 | 28 6e 6f 74 20 6e 65 65 |I stuff |(not nee|
|00000150| 64 65 64 29 0d 00 b4 1d | 20 20 20 45 51 55 44 20 |ded)....| EQUD |
|00000160| 30 3b 20 20 20 20 20 20 | 53 57 49 20 73 74 75 66 |0; |SWI stuf|
|00000170| 66 0d 00 be 1d 20 20 20 | 45 51 55 44 20 30 3b 20 |f.... |EQUD 0; |
|00000180| 20 20 20 20 20 53 57 49 | 20 73 74 75 66 66 0d 00 | SWI| stuff..|
|00000190| c8 1d 20 20 20 45 51 55 | 44 20 30 3b 20 20 20 20 |.. EQU|D 0; |
|000001a0| 20 20 53 57 49 20 73 74 | 75 66 66 0d 00 d2 09 2e | SWI st|uff.....|
|000001b0| 48 65 6c 70 0d 00 dc 3d | 20 20 20 45 51 55 53 20 |Help...=| EQUS |
|000001c0| 22 50 72 6f 67 20 69 6e | 74 65 72 72 75 70 74 22 |"Prog in|terrupt"|
|000001d0| 3a 45 51 55 42 20 39 3a | 45 51 55 53 20 22 31 2e |:EQUB 9:|EQUS "1.|
|000001e0| 31 30 20 28 32 31 20 4d | 61 79 20 31 39 38 39 29 |10 (21 M|ay 1989)|
|000001f0| 22 0d 00 e6 0d 20 20 20 | 45 51 55 42 20 30 0d 00 |".... |EQUB 0..|
|00000200| f0 0a 2e 54 69 74 6c 65 | 0d 00 fa 17 20 20 20 45 |...Title|.... E|
|00000210| 51 55 53 20 22 49 6e 74 | 4d 6f 64 75 6c 65 22 0d |QUS "Int|Module".|
|00000220| 01 04 0d 20 20 20 45 51 | 55 42 20 30 0d 01 0e 0c |... EQ|UB 0....|
|00000230| 20 20 20 41 4c 49 47 4e | 0d 01 18 0a 2e 54 61 62 | ALIGN|.....Tab|
|00000240| 6c 65 0d 01 22 17 20 20 | 20 45 51 55 53 20 22 49 |le..". | EQUS "I|
|00000250| 6e 74 65 72 72 75 70 74 | 22 0d 01 2c 0d 20 20 20 |nterrupt|"..,. |
|00000260| 45 51 55 42 20 30 0d 01 | 36 0c 20 20 20 41 4c 49 |EQUB 0..|6. ALI|
|00000270| 47 4e 0d 01 40 15 20 20 | 20 45 51 55 44 20 49 6e |GN..@. | EQUD In|
|00000280| 74 65 72 72 75 70 74 0d | 01 4a 4e 20 20 20 45 51 |terrupt.|.JN EQ|
|00000290| 55 44 20 26 46 46 30 30 | 30 31 20 20 20 20 20 20 |UD &FF00|01 |
|000002a0| 20 20 20 3b 20 20 61 74 | 20 6c 65 61 73 74 20 31 | ; at| least 1|
|000002b0| 20 70 61 72 61 6d 65 74 | 65 72 2c 20 6e 6f 20 6d | paramet|er, no m|
|000002c0| 61 78 69 6d 75 6d 2c 20 | 6e 6f 74 20 47 53 54 72 |aximum, |not GSTr|
|000002d0| 61 6e 73 65 64 0d 01 54 | 18 20 20 20 45 51 55 44 |ansed..T|. EQUD|
|000002e0| 20 49 6e 74 65 72 72 75 | 70 74 53 79 6e 0d 01 5e | Interru|ptSyn..^|
|000002f0| 19 20 20 20 45 51 55 44 | 20 49 6e 74 65 72 72 75 |. EQUD| Interru|
|00000300| 70 74 48 65 6c 70 0d 01 | 68 14 20 20 20 45 51 55 |ptHelp..|h. EQU|
|00000310| 53 20 22 46 72 65 65 7a | 65 22 0d 01 72 0d 20 20 |S "Freez|e"..r. |
|00000320| 20 45 51 55 42 20 30 0d | 01 7c 0c 20 20 20 41 4c | EQUB 0.|.|. AL|
|00000330| 49 47 4e 0d 01 86 12 20 | 20 20 45 51 55 44 20 46 |IGN.... | EQUD F|
|00000340| 72 65 65 7a 65 0d 01 90 | 0d 20 20 20 45 51 55 44 |reeze...|. EQUD|
|00000350| 20 30 0d 01 9a 15 20 20 | 20 45 51 55 44 20 46 72 | 0.... | EQUD Fr|
|00000360| 65 65 7a 65 53 79 6e 0d | 01 a4 16 20 20 20 45 51 |eezeSyn.|... EQ|
|00000370| 55 44 20 46 72 65 65 7a | 65 48 65 6c 70 0d 01 ae |UD Freez|eHelp...|
|00000380| 30 20 20 20 45 51 55 44 | 20 30 3b 20 20 20 20 20 |0 EQUD| 0; |
|00000390| 20 20 20 20 20 20 20 20 | 20 45 6e 64 20 6f 66 20 | | End of |
|000003a0| 63 6f 6d 6d 61 6e 64 20 | 74 61 62 6c 65 0d 01 b8 |command |table...|
|000003b0| 04 0d 01 c2 12 2e 49 6e | 74 65 72 72 75 70 74 48 |......In|terruptH|
|000003c0| 65 6c 70 0d 01 cc 7d 20 | 20 20 45 51 55 53 20 22 |elp...} | EQUS "|
|000003d0| 2a 49 6e 74 65 72 72 75 | 70 74 20 73 65 74 73 20 |*Interru|pt sets |
|000003e0| 75 70 20 61 20 72 6f 75 | 74 69 6e 65 20 74 6f 20 |up a rou|tine to |
|000003f0| 73 74 6f 70 20 61 6e 20 | 61 70 70 6c 69 63 61 74 |stop an |applicat|
|00000400| 69 6f 6e 20 77 69 74 68 | 20 61 20 6b 65 79 20 70 |ion with| a key p|
|00000410| 72 65 73 73 20 61 6e 64 | 20 70 65 72 66 6f 72 6d |ress and| perform|
|00000420| 20 61 20 73 70 65 63 69 | 66 69 65 64 20 2a 63 6f | a speci|fied *co|
|00000430| 6d 6d 61 6e 64 22 3a 45 | 51 55 57 20 26 44 30 41 |mmand":E|QUW &D0A|
|00000440| 0d 01 d6 5d 20 20 20 45 | 51 55 53 20 22 49 66 20 |...] E|QUS "If |
|00000450| 6e 6f 20 63 6f 6d 6d 61 | 6e 64 20 69 73 20 67 69 |no comma|nd is gi|
|00000460| 76 65 6e 20 2a 63 6f 6d | 6d 61 6e 64 73 20 63 61 |ven *com|mands ca|
|00000470| 6e 20 62 65 20 74 79 70 | 65 64 20 64 75 72 69 6e |n be typ|ed durin|
|00000480| 67 20 74 68 65 20 69 6e | 74 65 72 72 75 70 74 69 |g the in|terrupti|
|00000490| 6f 6e 22 3a 45 51 55 57 | 20 26 44 30 41 0d 01 e0 |on":EQUW| &D0A...|
|000004a0| 61 20 20 20 45 51 55 53 | 20 22 2a 49 6e 74 65 72 |a EQUS| "*Inter|
|000004b0| 72 75 70 74 20 3c 6b 65 | 79 3e 20 46 72 65 65 7a |rupt <ke|y> Freez|
|000004c0| 65 20 2d 20 77 61 69 74 | 73 20 75 6e 74 69 6c 20 |e - wait|s until |
|000004d0| 74 68 65 20 73 70 61 63 | 65 20 62 61 72 20 69 73 |the spac|e bar is|
|000004e0| 20 70 72 65 73 73 65 64 | 20 26 20 72 65 6c 65 61 | pressed| & relea|
|000004f0| 73 65 64 22 3a 45 51 55 | 57 20 26 44 30 41 0d 01 |sed":EQU|W &D0A..|
|00000500| ea 44 20 20 20 45 51 55 | 53 20 22 2a 49 6e 74 65 |.D EQU|S "*Inte|
|00000510| 72 72 75 70 74 20 2d 31 | 20 64 69 73 61 62 6c 65 |rrupt -1| disable|
|00000520| 73 20 74 68 65 20 69 6e | 74 65 72 72 75 70 74 20 |s the in|terrupt |
|00000530| 72 6f 75 74 69 6e 65 22 | 3a 45 51 55 57 20 26 44 |routine"|:EQUW &D|
|00000540| 30 41 0d 01 f4 11 2e 49 | 6e 74 65 72 72 75 70 74 |0A.....I|nterrupt|
|00000550| 53 79 6e 0d 01 fe 3a 20 | 20 20 45 51 55 53 20 22 |Syn...: | EQUS "|
|00000560| 53 79 6e 74 61 78 3a 20 | 2a 49 6e 74 65 72 72 75 |Syntax: |*Interru|
|00000570| 70 74 20 3c 41 53 43 49 | 49 20 63 6f 64 65 3e 20 |pt <ASCI|I code> |
|00000580| 5b 3c 2a 63 6f 6d 6d 61 | 6e 64 3e 5d 22 0d 02 08 |[<*comma|nd>]"...|
|00000590| 0d 20 20 20 45 51 55 42 | 20 30 0d 02 12 0c 20 20 |. EQUB| 0.... |
|000005a0| 20 41 4c 49 47 4e 0d 02 | 1c 04 0d 02 26 0f 2e 46 | ALIGN..|....&..F|
|000005b0| 72 65 65 7a 65 48 65 6c | 70 0d 02 30 5b 20 20 20 |reezeHel|p..0[ |
|000005c0| 45 51 55 53 20 22 2a 46 | 72 65 65 7a 65 20 73 74 |EQUS "*F|reeze st|
|000005d0| 6f 70 73 20 70 72 6f 63 | 65 73 73 69 6e 67 20 75 |ops proc|essing u|
|000005e0| 6e 74 69 6c 20 74 68 65 | 20 73 70 61 63 65 62 61 |ntil the| spaceba|
|000005f0| 72 20 69 73 20 70 72 65 | 73 73 65 64 20 61 6e 64 |r is pre|ssed and|
|00000600| 20 72 65 6c 65 61 73 65 | 64 22 3a 45 51 55 57 20 | release|d":EQUW |
|00000610| 26 44 30 41 0d 02 3a 0e | 2e 46 72 65 65 7a 65 53 |&D0A..:.|.FreezeS|
|00000620| 79 6e 0d 02 44 24 20 20 | 20 45 51 55 53 20 22 53 |yn..D$ | EQUS "S|
|00000630| 79 6e 74 61 78 3a 20 2a | 46 72 65 65 7a 65 22 3a |yntax: *|Freeze":|
|00000640| 45 51 55 42 20 30 0d 02 | 4e 0c 20 20 20 41 4c 49 |EQUB 0..|N. ALI|
|00000650| 47 4e 0d 02 58 04 0d 02 | 62 0b 2e 46 72 65 65 7a |GN..X...|b..Freez|
|00000660| 65 0d 02 6c 1d 20 20 20 | 53 54 4d 46 44 20 52 31 |e..l. |STMFD R1|
|00000670| 33 21 2c 7b 52 30 2d 52 | 33 2c 52 31 34 7d 0d 02 |3!,{R0-R|3,R14}..|
|00000680| 76 12 20 20 20 4d 4f 56 | 20 52 30 2c 23 31 32 39 |v. MOV| R0,#129|
|00000690| 0d 02 80 10 2e 46 72 65 | 65 7a 65 4c 6f 6f 70 31 |.....Fre|ezeLoop1|
|000006a0| 0d 02 8a 11 20 20 20 4d | 56 4e 20 52 31 2c 23 39 |.... M|VN R1,#9|
|000006b0| 38 0d 02 94 12 20 20 20 | 4d 4f 56 20 52 32 2c 23 |8.... |MOV R2,#|
|000006c0| 32 35 35 0d 02 9e 14 20 | 20 20 53 57 49 20 22 4f |255.... | SWI "O|
|000006d0| 53 5f 42 79 74 65 22 0d | 02 a8 12 20 20 20 43 4d |S_Byte".|... CM|
|000006e0| 50 20 52 31 2c 23 32 35 | 35 0d 02 b2 14 20 20 20 |P R1,#25|5.... |
|000006f0| 43 4d 50 45 51 20 52 32 | 2c 23 32 35 35 0d 02 bc |CMPEQ R2|,#255...|
|00000700| 16 20 20 20 42 4e 45 20 | 46 72 65 65 7a 65 4c 6f |. BNE |FreezeLo|
|00000710| 6f 70 31 0d 02 c6 10 2e | 46 72 65 65 7a 65 4c 6f |op1.....|FreezeLo|
|00000720| 6f 70 32 0d 02 d0 11 20 | 20 20 4d 56 4e 20 52 31 |op2.... | MVN R1|
|00000730| 2c 23 39 38 0d 02 da 12 | 20 20 20 4d 4f 56 20 52 |,#98....| MOV R|
|00000740| 32 2c 23 32 35 35 0d 02 | e4 14 20 20 20 53 57 49 |2,#255..|.. SWI|
|00000750| 20 22 4f 53 5f 42 79 74 | 65 22 0d 02 ee 12 20 20 | "OS_Byt|e".... |
|00000760| 20 43 4d 50 20 52 31 2c | 23 32 35 35 0d 02 f8 14 | CMP R1,|#255....|
|00000770| 20 20 20 43 4d 50 45 51 | 20 52 32 2c 23 32 35 35 | CMPEQ| R2,#255|
|00000780| 0d 03 02 16 20 20 20 42 | 45 51 20 46 72 65 65 7a |.... B|EQ Freez|
|00000790| 65 4c 6f 6f 70 32 0d 03 | 0c 11 20 20 20 4d 4f 56 |eLoop2..|.. MOV|
|000007a0| 20 52 30 2c 23 32 31 0d | 03 16 10 20 20 20 4d 4f | R0,#21.|... MO|
|000007b0| 56 20 52 31 2c 23 30 0d | 03 20 14 20 20 20 53 57 |V R1,#0.|. . SW|
|000007c0| 49 20 22 4f 53 5f 42 79 | 74 65 22 0d 03 2a 1c 20 |I "OS_By|te"..*. |
|000007d0| 20 20 4c 44 4d 46 44 20 | 52 31 33 21 2c 7b 52 30 | LDMFD |R13!,{R0|
|000007e0| 2d 52 33 2c 50 43 7d 0d | 03 34 04 0d 03 3e 0c 2e |-R3,PC}.|.4...>..|
|000007f0| 53 65 72 76 69 63 65 0d | 03 48 2c 20 20 20 43 4d |Service.|.H, CM|
|00000800| 50 20 52 31 2c 23 26 32 | 37 20 20 20 20 20 20 5c |P R1,#&2|7 \|
|00000810| 20 49 73 20 74 68 69 73 | 20 70 6f 73 74 20 72 65 | Is this| post re|
|00000820| 73 65 74 0d 03 52 27 20 | 20 20 4d 4f 56 4e 45 20 |set..R' | MOVNE |
|00000830| 50 43 2c 52 31 34 20 20 | 20 20 20 5c 20 52 65 74 |PC,R14 | \ Ret|
|00000840| 75 72 6e 20 69 66 20 6e | 6f 74 0d 03 5c 1d 20 20 |urn if n|ot..\. |
|00000850| 20 53 54 4d 46 44 20 52 | 31 33 21 2c 7b 52 30 2d | STMFD R|13!,{R0-|
|00000860| 52 32 2c 52 31 34 7d 0d | 03 66 15 20 20 20 4c 44 |R2,R14}.|.f. LD|
|00000870| 52 42 20 52 30 2c 41 63 | 74 69 76 65 0d 03 70 12 |RB R0,Ac|tive..p.|
|00000880| 20 20 20 43 4d 50 20 52 | 30 2c 23 31 32 38 0d 03 | CMP R|0,#128..|
|00000890| 7a 17 20 20 20 53 55 42 | 43 53 20 52 30 2c 52 30 |z. SUB|CS R0,R0|
|000008a0| 2c 23 31 32 38 0d 03 84 | 46 20 20 20 53 54 52 42 |,#128...|F STRB|
|000008b0| 20 52 30 2c 41 63 74 69 | 76 65 20 20 5c 20 49 66 | R0,Acti|ve \ If|
|000008c0| 20 61 63 74 69 76 65 20 | 64 75 72 69 6e 67 20 72 | active |during r|
|000008d0| 65 73 65 74 20 74 68 65 | 6e 20 63 6c 65 61 72 20 |eset the|n clear |
|000008e0| 61 63 74 69 76 65 20 66 | 6c 61 67 0d 03 8e 10 20 |active f|lag.... |
|000008f0| 20 20 4d 4f 56 20 52 30 | 2c 23 30 0d 03 98 31 20 | MOV R0|,#0...1 |
|00000900| 20 20 53 54 52 42 20 52 | 30 2c 43 6c 61 69 6d 65 | STRB R|0,Claime|
|00000910| 64 20 20 5c 20 52 65 73 | 65 74 20 66 6c 61 67 73 |d \ Res|et flags|
|00000920| 20 74 6f 20 69 6e 64 69 | 63 61 74 65 0d 03 a2 29 | to indi|cate...)|
|00000930| 20 20 20 53 54 52 42 20 | 52 30 2c 45 6e 61 62 6c | STRB |R0,Enabl|
|00000940| 65 64 20 20 5c 20 6c 6f | 73 73 20 6f 66 20 63 6f |ed \ lo|ss of co|
|00000950| 6e 74 72 6f 6c 0d 03 ac | 39 20 20 20 42 20 43 68 |ntrol...|9 B Ch|
|00000960| 65 63 6b 53 74 61 74 65 | 20 20 20 20 20 5c 20 52 |eckState| \ R|
|00000970| 65 63 6c 61 69 6d 20 76 | 65 63 74 6f 72 20 61 6e |eclaim v|ector an|
|00000980| 64 20 65 6e 61 62 6c 65 | 20 65 76 65 6e 74 0d 03 |d enable| event..|
|00000990| b6 04 0d 03 c0 09 2e 49 | 6e 69 74 0d 03 ca 1d 20 |.......I|nit.... |
|000009a0| 20 20 53 54 4d 46 44 20 | 52 31 33 21 2c 7b 52 30 | STMFD |R13!,{R0|
|000009b0| 2d 52 32 2c 52 31 34 7d | 0d 03 d4 16 20 20 20 4c |-R2,R14}|.... L|
|000009c0| 44 52 42 20 52 30 2c 43 | 6c 61 69 6d 65 64 0d 03 |DRB R0,C|laimed..|
|000009d0| de 0f 2e 43 68 65 63 6b | 53 74 61 74 65 0d 03 e8 |...Check|State...|
|000009e0| 12 20 20 20 43 4d 50 20 | 52 30 2c 23 32 35 35 0d |. CMP |R0,#255.|
|000009f0| 03 f2 2f 20 20 20 42 45 | 51 20 49 6e 69 74 31 20 |../ BE|Q Init1 |
|00000a00| 20 20 20 20 20 20 5c 20 | 56 65 63 74 6f 72 20 61 | \ |Vector a|
|00000a10| 6c 72 65 61 64 79 20 63 | 6c 61 69 6d 65 64 0d 03 |lready c|laimed..|
|00000a20| fc 12 20 20 20 4d 4f 56 | 20 52 30 2c 23 32 35 35 |.. MOV| R0,#255|
|00000a30| 0d 04 06 16 20 20 20 53 | 54 52 42 20 52 30 2c 43 |.... S|TRB R0,C|
|00000a40| 6c 61 69 6d 65 64 0d 04 | 10 20 20 20 20 4d 4f 56 |laimed..|. MOV|
|00000a50| 20 52 30 2c 23 31 36 20 | 5c 20 45 76 65 6e 74 20 | R0,#16 |\ Event |
|00000a60| 76 65 63 74 6f 72 0d 04 | 1a 18 20 20 20 41 44 52 |vector..|.. ADR|
|00000a70| 20 52 31 2c 45 76 65 6e | 74 45 6e 74 72 79 0d 04 | R1,Even|tEntry..|
|00000a80| 24 10 20 20 20 4d 4f 56 | 20 52 32 2c 23 30 0d 04 |$. MOV| R2,#0..|
|00000a90| 2e 15 20 20 20 53 57 49 | 20 22 4f 53 5f 43 6c 61 |.. SWI| "OS_Cla|
|00000aa0| 69 6d 22 0d 04 38 0a 2e | 49 6e 69 74 31 0d 04 42 |im"..8..|Init1..B|
|00000ab0| 16 20 20 20 4c 44 52 42 | 20 52 30 2c 45 6e 61 62 |. LDRB| R0,Enab|
|00000ac0| 6c 65 64 0d 04 4c 12 20 | 20 20 43 4d 50 20 52 30 |led..L. | CMP R0|
|00000ad0| 2c 23 32 35 35 0d 04 56 | 30 20 20 20 4c 44 4d 45 |,#255..V|0 LDME|
|00000ae0| 51 46 44 20 52 31 33 21 | 2c 7b 50 43 7d 20 5c 20 |QFD R13!|,{PC} \ |
|00000af0| 45 76 65 6e 74 20 61 6c | 72 65 61 64 79 20 65 6e |Event al|ready en|
|00000b00| 61 62 6c 65 64 0d 04 60 | 12 20 20 20 4d 4f 56 20 |abled..`|. MOV |
|00000b10| 52 30 2c 23 32 35 35 0d | 04 6a 16 20 20 20 53 54 |R0,#255.|.j. ST|
|00000b20| 52 42 20 52 30 2c 45 6e | 61 62 6c 65 64 0d 04 74 |RB R0,En|abled..t|
|00000b30| 20 20 20 20 4d 4f 56 20 | 52 30 2c 23 31 34 20 5c | MOV |R0,#14 \|
|00000b40| 20 45 6e 61 62 6c 65 20 | 65 76 65 6e 74 0d 04 7e | Enable |event..~|
|00000b50| 28 20 20 20 4d 4f 56 20 | 52 31 2c 23 32 20 20 5c |( MOV |R1,#2 \|
|00000b60| 20 4b 65 79 62 6f 61 72 | 64 20 69 6e 70 75 74 20 | Keyboar|d input |
|00000b70| 65 76 65 6e 74 0d 04 88 | 14 20 20 20 53 57 49 20 |event...|. SWI |
|00000b80| 22 4f 53 5f 42 79 74 65 | 22 0d 04 92 1c 20 20 20 |"OS_Byte|".... |
|00000b90| 4c 44 4d 46 44 20 52 31 | 33 21 2c 7b 52 30 2d 52 |LDMFD R1|3!,{R0-R|
|00000ba0| 32 2c 50 43 7d 0d 04 9c | 04 0d 04 a6 0a 2e 46 69 |2,PC}...|......Fi|
|00000bb0| 6e 61 6c 0d 04 b0 17 20 | 20 20 53 54 4d 46 44 20 |nal.... | STMFD |
|00000bc0| 52 31 33 21 2c 7b 52 31 | 34 7d 0d 04 ba 16 20 20 |R13!,{R1|4}.... |
|00000bd0| 20 4c 44 52 42 20 52 30 | 2c 45 6e 61 62 6c 65 64 | LDRB R0|,Enabled|
|00000be0| 0d 04 c4 12 20 20 20 43 | 4d 50 20 52 30 2c 23 32 |.... C|MP R0,#2|
|00000bf0| 35 35 0d 04 ce 26 20 20 | 20 42 4e 45 20 46 69 6e |55...& | BNE Fin|
|00000c00| 61 6c 31 20 20 20 5c 20 | 41 6c 72 65 61 64 79 20 |al1 \ |Already |
|00000c10| 64 69 73 61 62 6c 65 64 | 0d 04 d8 10 20 20 20 4d |disabled|.... M|
|00000c20| 4f 56 20 52 30 2c 23 30 | 0d 04 e2 16 20 20 20 53 |OV R0,#0|.... S|
|00000c30| 54 52 42 20 52 30 2c 45 | 6e 61 62 6c 65 64 0d 04 |TRB R0,E|nabled..|
|00000c40| ec 21 20 20 20 4d 4f 56 | 20 52 30 2c 23 31 33 20 |.! MOV| R0,#13 |
|00000c50| 5c 20 44 69 73 61 62 6c | 65 20 65 76 65 6e 74 0d |\ Disabl|e event.|
|00000c60| 04 f6 28 20 20 20 4d 4f | 56 20 52 31 2c 23 32 20 |..( MO|V R1,#2 |
|00000c70| 20 5c 20 4b 65 79 62 6f | 61 72 64 20 69 6e 70 75 | \ Keybo|ard inpu|
|00000c80| 74 20 65 76 65 6e 74 0d | 05 00 14 20 20 20 53 57 |t event.|... SW|
|00000c90| 49 20 22 4f 53 5f 42 79 | 74 65 22 0d 05 0a 0b 2e |I "OS_By|te".....|
|00000ca0| 46 69 6e 61 6c 31 0d 05 | 14 16 20 20 20 4c 44 52 |Final1..|.. LDR|
|00000cb0| 42 20 52 30 2c 43 6c 61 | 69 6d 65 64 0d 05 1e 12 |B R0,Cla|imed....|
|00000cc0| 20 20 20 43 4d 50 20 52 | 30 2c 23 32 35 35 0d 05 | CMP R|0,#255..|
|00000cd0| 28 32 20 20 20 4c 44 4d | 4e 45 46 44 20 52 31 33 |(2 LDM|NEFD R13|
|00000ce0| 21 2c 7b 50 43 7d 20 5c | 20 56 65 63 74 6f 72 20 |!,{PC} \| Vector |
|00000cf0| 61 6c 72 65 61 64 79 20 | 72 65 6c 65 61 73 65 64 |already |released|
|00000d00| 0d 05 32 10 20 20 20 4d | 4f 56 20 52 30 2c 23 30 |..2. M|OV R0,#0|
|00000d10| 0d 05 3c 16 20 20 20 53 | 54 52 42 20 52 30 2c 43 |..<. S|TRB R0,C|
|00000d20| 6c 61 69 6d 65 64 0d 05 | 46 20 20 20 20 4d 4f 56 |laimed..|F MOV|
|00000d30| 20 52 30 2c 23 31 36 20 | 5c 20 45 76 65 6e 74 20 | R0,#16 |\ Event |
|00000d40| 76 65 63 74 6f 72 0d 05 | 50 18 20 20 20 41 44 52 |vector..|P. ADR|
|00000d50| 20 52 31 2c 45 76 65 6e | 74 45 6e 74 72 79 0d 05 | R1,Even|tEntry..|
|00000d60| 5a 10 20 20 20 4d 4f 56 | 20 52 32 2c 23 30 0d 05 |Z. MOV| R2,#0..|
|00000d70| 64 17 20 20 20 53 57 49 | 20 22 4f 53 5f 52 65 6c |d. SWI| "OS_Rel|
|00000d80| 65 61 73 65 22 0d 05 6e | 16 20 20 20 4c 44 4d 46 |ease"..n|. LDMF|
|00000d90| 44 20 52 31 33 21 2c 7b | 50 43 7d 0d 05 78 04 0d |D R13!,{|PC}..x..|
|00000da0| 05 82 0e 2e 49 6e 74 65 | 72 72 75 70 74 0d 05 8c |....Inte|rrupt...|
|00000db0| 1d 20 20 20 53 54 4d 46 | 44 20 52 31 33 21 2c 7b |. STMF|D R13!,{|
|00000dc0| 52 30 2d 52 34 2c 52 31 | 34 7d 0d 05 96 10 20 20 |R0-R4,R1|4}.... |
|00000dd0| 20 4d 4f 56 20 52 33 2c | 52 30 0d 05 a0 10 20 20 | MOV R3,|R0.... |
|00000de0| 20 4d 4f 56 20 52 34 2c | 52 31 0d 05 aa 14 20 20 | MOV R4,|R1.... |
|00000df0| 20 41 44 52 20 52 30 2c | 42 75 66 66 65 72 0d 05 | ADR R0,|Buffer..|
|00000e00| b4 09 2e 49 6e 74 31 0d | 05 be 31 20 20 20 4c 44 |...Int1.|..1 LD|
|00000e10| 52 42 20 52 31 2c 5b 52 | 33 5d 2c 23 31 20 5c 20 |RB R1,[R|3],#1 \ |
|00000e20| 47 65 74 20 6e 65 78 74 | 20 62 79 74 65 20 6f 66 |Get next| byte of|
|00000e30| 20 63 6f 6d 6d 61 6e 64 | 0d 05 c8 27 20 20 20 43 | command|...' C|
|00000e40| 4d 50 20 52 31 2c 23 33 | 32 20 20 20 20 20 20 5c |MP R1,#3|2 \|
|00000e50| 20 49 73 20 69 74 20 61 | 20 73 70 61 63 65 3f 0d | Is it a| space?.|
|00000e60| 05 d2 29 20 20 20 ec 51 | 20 52 31 2c 23 31 33 20 |..) .Q| R1,#13 |
|00000e70| 20 20 20 5c 20 49 66 20 | 73 6f 20 63 6f 6e 76 65 | \ If |so conve|
|00000e80| 72 74 20 74 6f 20 43 52 | 0d 05 dc 28 20 20 20 53 |rt to CR|...( S|
|00000e90| 54 52 42 20 52 31 2c 5b | 52 30 5d 2c 23 31 20 5c |TRB R1,[|R0],#1 \|
|00000ea0| 20 53 74 6f 72 65 20 69 | 6e 20 62 75 66 66 65 72 | Store i|n buffer|
|00000eb0| 0d 05 e6 11 20 20 20 43 | 4d 50 20 52 31 2c 23 31 |.... C|MP R1,#1|
|00000ec0| 33 0d 05 f0 34 20 20 20 | 42 4e 45 20 49 6e 74 31 |3...4 |BNE Int1|
|00000ed0| 20 20 20 20 20 20 20 20 | 5c 20 4e 6f 74 20 61 74 | |\ Not at|
|00000ee0| 20 65 6e 64 20 73 6f 20 | 67 65 74 20 6e 65 78 74 | end so |get next|
|00000ef0| 20 62 79 74 65 0d 05 fa | 14 20 20 20 41 44 52 20 | byte...|. ADR |
|00000f00| 52 30 2c 42 75 66 66 65 | 72 0d 06 04 16 20 20 20 |R0,Buffe|r.... |
|00000f10| 41 44 52 20 52 31 2c 52 | 65 67 53 74 6f 72 65 0d |ADR R1,R|egStore.|
|00000f20| 06 0e 11 20 20 20 4d 4f | 56 20 52 32 2c 23 36 33 |... MO|V R2,#63|
|00000f30| 0d 06 18 23 20 20 20 53 | 57 49 20 22 58 4f 53 5f |...# S|WI "XOS_|
|00000f40| 45 76 61 6c 75 61 74 65 | 45 78 70 72 65 73 73 69 |Evaluate|Expressi|
|00000f50| 6f 6e 22 0d 06 22 0f 20 | 20 20 42 56 53 20 49 6e |on"..". | BVS In|
|00000f60| 74 35 0d 06 2c 29 20 20 | 20 43 4d 50 20 52 31 2c |t5..,) | CMP R1,|
|00000f70| 23 30 20 20 20 20 20 20 | 5c 20 49 73 20 69 74 20 |#0 |\ Is it |
|00000f80| 61 6e 20 69 6e 74 65 67 | 65 72 3f 0d 06 36 27 20 |an integ|er?..6' |
|00000f90| 20 20 42 45 51 20 49 6e | 74 32 20 20 20 20 20 20 | BEQ In|t2 |
|00000fa0| 20 5c 20 59 65 73 20 73 | 6f 20 63 6f 6e 74 69 6e | \ Yes s|o contin|
|00000fb0| 75 65 0d 06 40 09 2e 49 | 6e 74 33 0d 06 4a 15 20 |ue..@..I|nt3..J. |
|00000fc0| 20 20 41 44 52 20 52 30 | 2c 43 6f 64 65 45 72 72 | ADR R0|,CodeErr|
|00000fd0| 0d 06 54 09 2e 49 6e 74 | 35 0d 06 5e 19 20 20 20 |..T..Int|5..^. |
|00000fe0| 4c 44 4d 46 44 20 52 31 | 33 21 2c 7b 52 31 2d 52 |LDMFD R1|3!,{R1-R|
|00000ff0| 35 7d 0d 06 68 0e 20 20 | 20 42 20 45 72 72 6f 72 |5}..h. | B Error|
|00001000| 0d 06 72 09 2e 49 6e 74 | 32 0d 06 7c 12 20 20 20 |..r..Int|2..|. |
|00001010| 43 4d 50 20 52 32 2c 23 | 32 35 36 0d 06 86 28 20 |CMP R2,#|256...( |
|00001020| 20 20 42 43 43 20 49 6e | 74 34 20 20 20 20 20 20 | BCC In|t4 |
|00001030| 5c 20 56 61 6c 69 64 20 | 63 6f 64 65 20 6e 75 6d |\ Valid |code num|
|00001040| 62 65 72 0d 06 90 20 20 | 20 20 43 4d 4e 20 52 32 |ber... | CMN R2|
|00001050| 2c 23 31 20 20 20 20 20 | 5c 20 49 73 20 69 74 20 |,#1 |\ Is it |
|00001060| 2d 31 3f 0d 06 9a 30 20 | 20 20 42 4e 45 20 49 6e |-1?...0 | BNE In|
|00001070| 74 33 20 20 20 20 20 20 | 5c 20 4e 6f 20 73 6f 20 |t3 |\ No so |
|00001080| 6e 6f 74 20 76 61 6c 69 | 64 20 70 61 72 61 6d 65 |not vali|d parame|
|00001090| 74 65 72 0d 06 a4 15 20 | 20 20 4c 44 52 42 20 52 |ter.... | LDRB R|
|000010a0| 31 2c 41 63 74 69 76 65 | 0d 06 ae 10 20 20 20 4d |1,Active|.... M|
|000010b0| 4f 56 20 52 30 2c 23 30 | 0d 06 b8 12 20 20 20 43 |OV R0,#0|.... C|
|000010c0| 4d 50 20 52 31 2c 23 31 | 32 38 0d 06 c2 14 20 20 |MP R1,#1|28.... |
|000010d0| 20 4d 4f 56 43 53 20 52 | 30 2c 23 31 32 38 0d 06 | MOVCS R|0,#128..|
|000010e0| cc 2e 20 20 20 53 54 52 | 42 20 52 30 2c 41 63 74 |.. STR|B R0,Act|
|000010f0| 69 76 65 20 20 5c 20 43 | 6c 65 61 72 20 74 68 65 |ive \ C|lear the|
|00001100| 20 61 63 74 69 76 65 20 | 66 6c 61 67 0d 06 d6 1c | active |flag....|
|00001110| 20 20 20 4c 44 4d 46 44 | 20 52 31 33 21 2c 7b 52 | LDMFD| R13!,{R|
|00001120| 30 2d 52 34 2c 50 43 7d | 0d 06 e0 09 2e 49 6e 74 |0-R4,PC}|.....Int|
|00001130| 34 0d 06 ea 12 20 20 20 | 41 44 52 20 52 31 2c 43 |4.... |ADR R1,C|
|00001140| 6f 64 65 0d 06 f4 32 20 | 20 20 53 54 52 42 20 52 |ode...2 | STRB R|
|00001150| 32 2c 5b 52 31 5d 20 20 | 20 5c 20 53 74 6f 72 65 |2,[R1] | \ Store|
|00001160| 20 74 68 65 20 6b 65 79 | 63 6f 64 65 20 72 65 71 | the key|code req|
|00001170| 75 69 72 65 64 0d 06 fe | 15 20 20 20 4c 44 52 42 |uired...|. LDRB|
|00001180| 20 52 31 2c 41 63 74 69 | 76 65 0d 07 08 13 20 20 | R1,Acti|ve.... |
|00001190| 20 80 20 52 31 2c 52 31 | 2c 23 31 32 38 0d 07 12 | . R1,R1|,#128...|
|000011a0| 13 20 20 20 41 44 44 20 | 52 31 2c 52 31 2c 23 31 |. ADD |R1,R1,#1|
|000011b0| 0d 07 1c 2b 20 20 20 43 | 4d 50 20 52 34 2c 23 31 |...+ C|MP R4,#1|
|000011c0| 20 20 20 20 20 20 5c 20 | 4f 6e 6c 79 20 6f 6e 65 | \ |Only one|
|000011d0| 20 70 61 72 61 6d 65 74 | 65 72 3f 0d 07 26 15 20 | paramet|er?..&. |
|000011e0| 20 20 41 44 44 4e 45 20 | 52 31 2c 52 31 2c 23 31 | ADDNE |R1,R1,#1|
|000011f0| 0d 07 30 15 20 20 20 53 | 54 52 42 20 52 31 2c 41 |..0. S|TRB R1,A|
|00001200| 63 74 69 76 65 0d 07 3a | 3b 20 20 20 4c 44 4d 45 |ctive..:|; LDME|
|00001210| 51 46 44 20 52 31 33 21 | 2c 7b 52 30 2d 52 34 2c |QFD R13!|,{R0-R4,|
|00001220| 50 43 7d 20 5c 20 49 66 | 20 6e 6f 20 6f 74 68 65 |PC} \ If| no othe|
|00001230| 72 20 70 61 72 61 6d 20 | 74 68 65 6e 20 65 6e 64 |r param |then end|
|00001240| 0d 07 44 10 20 20 20 4d | 4f 56 20 52 30 2c 52 33 |..D. M|OV R0,R3|
|00001250| 0d 07 4e 15 20 20 20 41 | 44 52 20 52 31 2c 43 6f |..N. A|DR R1,Co|
|00001260| 6d 6d 61 6e 64 0d 07 58 | 0d 2e 43 6f 6d 4d 6f 76 |mmand..X|..ComMov|
|00001270| 65 31 0d 07 62 16 20 20 | 20 4c 44 52 42 20 52 32 |e1..b. | LDRB R2|
|00001280| 2c 5b 52 30 5d 2c 23 31 | 0d 07 6c 16 20 20 20 53 |,[R0],#1|..l. S|
|00001290| 54 52 42 20 52 32 2c 5b | 52 31 5d 2c 23 31 0d 07 |TRB R2,[|R1],#1..|
|000012a0| 76 11 20 20 20 43 4d 50 | 20 52 32 2c 23 31 33 0d |v. CMP| R2,#13.|
|000012b0| 07 80 13 20 20 20 42 4e | 45 20 43 6f 6d 4d 6f 76 |... BN|E ComMov|
|000012c0| 65 31 0d 07 8a 1c 20 20 | 20 4c 44 4d 46 44 20 52 |e1.... | LDMFD R|
|000012d0| 31 33 21 2c 7b 52 30 2d | 52 34 2c 50 43 7d 0d 07 |13!,{R0-|R4,PC}..|
|000012e0| 94 04 0d 07 9e 0c 2e 43 | 6f 64 65 45 72 72 0d 07 |.......C|odeErr..|
|000012f0| a8 11 20 20 20 45 51 55 | 44 20 36 37 37 34 35 0d |.. EQU|D 67745.|
|00001300| 07 b2 23 20 20 20 45 51 | 55 53 20 22 42 61 64 20 |..# EQ|US "Bad |
|00001310| 6b 65 79 63 6f 64 65 20 | 70 61 72 61 6d 65 74 65 |keycode |paramete|
|00001320| 72 22 0d 07 bc 0d 20 20 | 20 45 51 55 42 20 30 0d |r".... | EQUB 0.|
|00001330| 07 c6 0c 20 20 20 41 4c | 49 47 4e 0d 07 d0 04 0d |... AL|IGN.....|
|00001340| 07 da 0a 2e 45 72 72 6f | 72 0d 07 e4 10 20 20 20 |....Erro|r.... |
|00001350| 4d 4f 56 20 52 31 2c 50 | 43 0d 07 ee 29 20 20 20 |MOV R1,P|C...) |
|00001360| 84 52 20 52 31 2c 52 31 | 2c 23 31 3c 3c 32 38 20 |.R R1,R1|,#1<<28 |
|00001370| 5c 20 53 65 74 20 22 56 | 22 20 66 6c 61 67 20 62 |\ Set "V|" flag b|
|00001380| 69 74 0d 07 f8 11 20 20 | 20 54 45 51 50 20 52 31 |it.... | TEQP R1|
|00001390| 2c 23 30 0d 08 02 16 20 | 20 20 4c 44 4d 46 44 20 |,#0.... | LDMFD |
|000013a0| 52 31 33 21 2c 7b 50 43 | 7d 0d 08 0c 04 0d 08 16 |R13!,{PC|}.......|
|000013b0| 0c 2e 43 6c 61 69 6d 65 | 64 0d 08 20 3f 20 20 20 |..Claime|d.. ? |
|000013c0| 45 51 55 42 20 30 20 5c | 20 73 65 74 20 74 6f 20 |EQUB 0 \| set to |
|000013d0| 32 35 35 20 77 68 65 6e | 20 6d 6f 64 75 6c 65 20 |255 when| module |
|000013e0| 68 61 73 20 63 6c 61 69 | 6d 65 64 20 65 76 65 6e |has clai|med even|
|000013f0| 74 20 76 65 63 74 6f 72 | 0d 08 2a 0c 2e 45 6e 61 |t vector|..*..Ena|
|00001400| 62 6c 65 64 0d 08 34 38 | 20 20 20 45 51 55 42 20 |bled..48| EQUB |
|00001410| 30 20 5c 20 73 65 74 20 | 74 6f 20 32 35 35 20 77 |0 \ set |to 255 w|
|00001420| 68 65 6e 20 6d 6f 64 75 | 6c 65 20 68 61 73 20 65 |hen modu|le has e|
|00001430| 6e 61 62 6c 65 64 20 65 | 76 65 6e 74 0d 08 3e 0d |nabled e|vent..>.|
|00001440| 2e 4e 75 6c 6c 43 6f 64 | 65 0d 08 48 46 20 20 20 |.NullCod|e..HF |
|00001450| 45 51 55 42 20 30 20 5c | 20 73 65 74 20 74 6f 20 |EQUB 0 \| set to |
|00001460| 32 35 35 20 77 68 65 6e | 20 66 69 72 73 74 20 6e |255 when| first n|
|00001470| 75 6c 6c 20 6f 66 20 74 | 77 6f 20 70 61 72 74 20 |ull of t|wo part |
|00001480| 20 6e 75 6c 6c 20 72 65 | 63 65 69 76 65 64 2e 0d | null re|ceived..|
|00001490| 08 52 0c 20 20 20 41 4c | 49 47 4e 0d 08 5c 04 0d |.R. AL|IGN..\..|
|000014a0| 08 66 0f 2e 45 76 65 6e | 74 45 6e 74 72 79 0d 08 |.f..Even|tEntry..|
|000014b0| 70 1a 20 20 20 53 54 4d | 46 44 20 52 31 33 21 2c |p. STM|FD R13!,|
|000014c0| 7b 52 37 2c 52 31 34 7d | 0d 08 7a 10 20 20 20 4d |{R7,R14}|..z. M|
|000014d0| 4f 56 20 52 37 2c 23 30 | 0d 08 84 10 20 20 20 43 |OV R7,#0|.... C|
|000014e0| 4d 50 20 52 32 2c 23 30 | 0d 08 8e 4c 20 20 20 53 |MP R2,#0|...L S|
|000014f0| 54 52 4e 45 42 20 52 37 | 2c 4e 75 6c 6c 43 6f 64 |TRNEB R7|,NullCod|
|00001500| 65 20 20 20 20 5c 20 49 | 66 20 63 6f 64 65 20 69 |e \ I|f code i|
|00001510| 73 20 6e 6f 74 20 7a 65 | 72 6f 20 74 68 65 6e 20 |s not ze|ro then |
|00001520| 63 6c 65 61 72 20 6e 75 | 6c 6c 20 63 6f 64 65 20 |clear nu|ll code |
|00001530| 66 6c 61 67 0d 08 98 13 | 20 20 20 4c 44 52 42 20 |flag....| LDRB |
|00001540| 52 37 2c 43 6f 64 65 0d | 08 a2 10 20 20 20 43 4d |R7,Code.|... CM|
|00001550| 50 20 52 37 2c 52 32 0d | 08 ac 34 20 20 20 4c 44 |P R7,R2.|..4 LD|
|00001560| 4d 4e 45 46 44 20 52 31 | 33 21 2c 7b 52 37 2c 50 |MNEFD R1|3!,{R7,P|
|00001570| 43 7d 20 5c 20 4e 6f 74 | 20 6f 75 72 20 6b 65 79 |C} \ Not| our key|
|00001580| 20 73 6f 20 70 61 73 73 | 20 6f 6e 0d 08 b6 15 20 | so pass| on.... |
|00001590| 20 20 4c 44 52 42 20 52 | 37 2c 41 63 74 69 76 65 | LDRB R|7,Active|
|000015a0| 0d 08 c0 2e 20 20 20 43 | 4d 50 20 52 37 2c 23 31 |.... C|MP R7,#1|
|000015b0| 20 20 20 20 20 20 20 20 | 20 20 20 5c 20 41 72 65 | | \ Are|
|000015c0| 20 77 65 20 61 63 74 69 | 76 65 20 61 6e 64 0d 08 | we acti|ve and..|
|000015d0| ca 2e 20 20 20 43 4d 50 | 4e 45 20 52 37 2c 23 32 |.. CMP|NE R7,#2|
|000015e0| 20 20 20 20 20 20 20 20 | 20 5c 20 6e 6f 74 20 62 | | \ not b|
|000015f0| 75 73 79 20 61 6c 72 65 | 61 64 79 3f 0d 08 d4 2c |usy alre|ady?...,|
|00001600| 20 20 20 4c 44 4d 4e 45 | 46 44 20 52 31 33 21 2c | LDMNE|FD R13!,|
|00001610| 7b 52 37 2c 50 43 7d 20 | 5c 20 4e 6f 2c 20 73 6f |{R7,PC} |\ No, so|
|00001620| 20 70 61 73 73 20 6f 6e | 0d 08 de 1f 20 20 20 53 | pass on|.... S|
|00001630| 54 4d 46 44 20 52 31 33 | 21 2c 7b 52 30 2d 52 32 |TMFD R13|!,{R0-R2|
|00001640| 2c 52 35 2c 52 36 7d 0d | 08 e8 10 20 20 20 4d 4f |,R5,R6}.|... MO|
|00001650| 56 20 52 36 2c 50 43 0d | 08 f2 12 20 20 20 84 52 |V R6,PC.|... .R|
|00001660| 20 52 37 2c 52 36 2c 23 | 33 0d 08 fc 23 20 20 20 | R7,R6,#|3...# |
|00001670| 54 45 51 50 20 52 37 2c | 23 30 20 20 5c 20 45 6e |TEQP R7,|#0 \ En|
|00001680| 74 65 72 20 53 56 43 20 | 6d 6f 64 65 0d 09 06 12 |ter SVC |mode....|
|00001690| 20 20 20 4d 4f 56 4e 56 | 20 52 30 2c 52 30 0d 09 | MOVNV| R0,R0..|
|000016a0| 10 2d 20 20 20 53 54 4d | 46 44 20 52 31 33 21 2c |.- STM|FD R13!,|
|000016b0| 7b 52 31 34 7d 20 5c 20 | 53 74 6f 72 65 20 53 56 |{R14} \ |Store SV|
|000016c0| 43 20 6d 6f 64 65 20 6c | 69 6e 6b 0d 09 1a 10 20 |C mode l|ink.... |
|000016d0| 20 20 43 4d 50 20 52 32 | 2c 23 30 0d 09 24 12 20 | CMP R2|,#0..$. |
|000016e0| 20 20 42 4e 45 20 4e 6f | 74 4e 75 6c 6c 0d 09 2e | BNE No|tNull...|
|000016f0| 2f 20 20 20 4c 44 52 42 | 20 52 35 2c 4e 75 6c 6c |/ LDRB| R5,Null|
|00001700| 43 6f 64 65 20 20 20 20 | 5c 20 47 65 74 20 6e 75 |Code |\ Get nu|
|00001710| 6c 6c 20 63 6f 64 65 20 | 66 6c 61 67 0d 09 38 12 |ll code |flag..8.|
|00001720| 20 20 20 43 4d 50 20 52 | 35 2c 23 32 35 35 0d 09 | CMP R|5,#255..|
|00001730| 42 16 20 20 20 42 45 51 | 20 4e 75 6c 6c 50 72 6f |B. BEQ| NullPro|
|00001740| 63 65 73 73 0d 09 4c 3f | 20 20 20 4d 4f 56 20 52 |cess..L?| MOV R|
|00001750| 35 2c 23 32 35 35 20 20 | 20 20 20 20 20 20 5c 20 |5,#255 | \ |
|00001760| 53 65 74 20 6e 75 6c 6c | 20 66 6c 61 67 20 69 65 |Set null| flag ie|
|00001770| 2e 20 6f 6e 65 20 7a 65 | 72 6f 20 72 65 63 65 69 |. one ze|ro recei|
|00001780| 76 65 64 0d 09 56 17 20 | 20 20 53 54 52 42 20 52 |ved..V. | STRB R|
|00001790| 35 2c 4e 75 6c 6c 43 6f | 64 65 0d 09 60 31 20 20 |5,NullCo|de..`1 |
|000017a0| 20 42 20 45 76 65 6e 74 | 45 78 69 74 20 20 20 20 | B Event|Exit |
|000017b0| 20 20 20 20 5c 20 52 65 | 74 75 72 6e 20 74 6f 20 | \ Re|turn to |
|000017c0| 61 70 70 6c 69 63 61 74 | 69 6f 6e 0d 09 6a 10 2e |applicat|ion..j..|
|000017d0| 4e 75 6c 6c 50 72 6f 63 | 65 73 73 0d 09 74 10 20 |NullProc|ess..t. |
|000017e0| 20 20 4d 4f 56 20 52 35 | 2c 23 30 0d 09 7e 17 20 | MOV R5|,#0..~. |
|000017f0| 20 20 53 54 52 42 20 52 | 35 2c 4e 75 6c 6c 43 6f | STRB R|5,NullCo|
|00001800| 64 65 0d 09 88 0c 2e 4e | 6f 74 4e 75 6c 6c 0d 09 |de.....N|otNull..|
|00001810| 92 16 20 20 20 41 44 52 | 20 52 30 2c 52 65 67 53 |.. ADR| R0,RegS|
|00001820| 74 6f 72 65 0d 09 9c 14 | 20 20 20 41 44 52 20 52 |tore....| ADR R|
|00001830| 31 2c 52 65 74 75 72 6e | 0d 09 a6 18 20 20 20 53 |1,Return|.... S|
|00001840| 57 49 20 22 4f 53 5f 43 | 61 6c 6c 42 61 63 6b 22 |WI "OS_C|allBack"|
|00001850| 0d 09 b0 1b 20 20 20 53 | 57 49 20 22 4f 53 5f 53 |.... S|WI "OS_S|
|00001860| 65 74 43 61 6c 6c 42 61 | 63 6b 22 0d 09 ba 0e 2e |etCallBa|ck".....|
|00001870| 45 76 65 6e 74 45 78 69 | 74 0d 09 c4 2f 20 20 20 |EventExi|t.../ |
|00001880| 4c 44 4d 46 44 20 52 31 | 33 21 2c 7b 52 31 34 7d |LDMFD R1|3!,{R14}|
|00001890| 20 5c 20 52 65 73 74 6f | 72 65 20 53 56 43 20 6d | \ Resto|re SVC m|
|000018a0| 6f 64 65 20 6c 69 6e 6b | 0d 09 ce 2f 20 20 20 54 |ode link|.../ T|
|000018b0| 45 51 50 20 52 36 2c 23 | 30 20 20 20 20 20 20 20 |EQP R6,#|0 |
|000018c0| 5c 20 52 65 73 74 6f 72 | 65 20 6f 72 69 67 69 6e |\ Restor|e origin|
|000018d0| 61 6c 20 6d 6f 64 65 0d | 09 d8 12 20 20 20 4d 4f |al mode.|... MO|
|000018e0| 56 4e 56 20 52 30 2c 52 | 30 0d 09 e2 22 20 20 20 |VNV R0,R|0..." |
|000018f0| 4c 44 4d 46 44 20 52 31 | 33 21 2c 7b 52 30 2d 52 |LDMFD R1|3!,{R0-R|
|00001900| 32 2c 52 35 2d 52 37 2c | 50 43 7d 0d 09 ec 04 0d |2,R5-R7,|PC}.....|
|00001910| 09 f6 0b 2e 41 63 74 69 | 76 65 0d 0a 00 82 20 20 |....Acti|ve.... |
|00001920| 20 45 51 55 44 20 30 20 | 20 20 5c 20 30 3d 4e 6f | EQUD 0 | \ 0=No|
|00001930| 74 20 61 63 74 69 76 65 | 2c 31 3d 65 6e 74 65 72 |t active|,1=enter|
|00001940| 20 63 6f 6d 6d 61 6e 64 | 73 2c 32 3d 65 78 65 63 | command|s,2=exec|
|00001950| 75 74 65 20 73 70 65 63 | 69 66 69 65 64 20 63 6f |ute spec|ified co|
|00001960| 6d 6d 61 6e 64 20 2d 20 | 31 32 38 20 61 64 64 65 |mmand - |128 adde|
|00001970| 64 20 74 6f 20 63 75 72 | 72 65 6e 74 20 76 61 6c |d to cur|rent val|
|00001980| 75 65 20 77 68 69 6c 65 | 20 61 63 74 75 61 6c 6c |ue while| actuall|
|00001990| 79 20 70 72 6f 63 65 73 | 73 69 6e 67 0d 0a 0a 09 |y proces|sing....|
|000019a0| 2e 43 6f 64 65 0d 0a 14 | 2e 20 20 20 45 51 55 44 |.Code...|. EQUD|
|000019b0| 20 30 20 20 20 5c 20 53 | 74 6f 72 61 67 65 20 66 | 0 \ S|torage f|
|000019c0| 6f 72 20 6b 65 79 63 6f | 64 65 20 72 65 71 75 69 |or keyco|de requi|
|000019d0| 72 65 64 0d 0a 1e 04 0d | 0a 28 0b 2e 42 75 66 66 |red.....|.(..Buff|
|000019e0| 65 72 0d 0a 32 08 20 20 | 20 5d 0d 0a 3c 04 0d 0a |er..2. | ]..<...|
|000019f0| 46 13 50 25 2b 3d 32 35 | 36 3a 4f 25 2b 3d 32 35 |F.P%+=25|6:O%+=25|
|00001a00| 36 0d 0a 50 0e 43 6f 6d | 6d 61 6e 64 3d 50 25 0d |6..P.Com|mand=P%.|
|00001a10| 0a 5a 13 50 25 2b 3d 32 | 35 36 3a 4f 25 2b 3d 32 |.Z.P%+=2|56:O%+=2|
|00001a20| 35 36 0d 0a 64 0f 52 65 | 67 53 74 6f 72 65 3d 50 |56..d.Re|gStore=P|
|00001a30| 25 0d 0a 6e 11 50 25 2b | 3d 36 34 3a 4f 25 2b 3d |%..n.P%+|=64:O%+=|
|00001a40| 36 34 0d 0a 78 0b 5b 4f | 50 54 20 49 25 0d 0a 82 |64..x.[O|PT I%...|
|00001a50| 0b 2e 52 65 74 75 72 6e | 0d 0a 8c 15 20 20 20 4c |..Return|.... L|
|00001a60| 44 52 42 20 52 30 2c 41 | 63 74 69 76 65 0d 0a 96 |DRB R0,A|ctive...|
|00001a70| 15 20 20 20 41 44 44 20 | 52 30 2c 52 30 2c 23 31 |. ADD |R0,R0,#1|
|00001a80| 32 38 0d 0a a0 3d 20 20 | 20 53 54 52 42 20 52 30 |28...= | STRB R0|
|00001a90| 2c 41 63 74 69 76 65 20 | 20 20 5c 20 43 68 61 6e |,Active | \ Chan|
|00001aa0| 67 65 20 61 63 74 69 76 | 65 20 66 6c 61 67 20 74 |ge activ|e flag t|
|00001ab0| 6f 20 69 6e 64 69 63 61 | 74 65 20 62 75 73 79 0d |o indica|te busy.|
|00001ac0| 0a aa 10 20 20 20 4d 4f | 56 20 52 31 2c 50 43 0d |... MO|V R1,PC.|
|00001ad0| 0a b4 2e 20 20 20 42 49 | 43 20 52 31 2c 52 31 2c |... BI|C R1,R1,|
|00001ae0| 23 31 3c 3c 32 37 20 5c | 20 43 6c 65 61 72 20 69 |#1<<27 \| Clear i|
|00001af0| 6e 74 65 72 72 75 70 74 | 20 66 6c 61 67 0d 0a be |nterrupt| flag...|
|00001b00| 25 20 20 20 84 52 20 52 | 31 2c 52 31 2c 23 33 20 |% .R R|1,R1,#3 |
|00001b10| 20 20 20 20 5c 20 53 65 | 74 20 53 56 43 20 6d 6f | \ Se|t SVC mo|
|00001b20| 64 65 0d 0a c8 28 20 20 | 20 54 45 51 50 20 52 31 |de...( | TEQP R1|
|00001b30| 2c 23 30 20 20 20 20 20 | 20 20 5c 20 45 6e 74 65 |,#0 | \ Ente|
|00001b40| 72 20 53 56 43 20 6d 6f | 64 65 0d 0a d2 12 20 20 |r SVC mo|de.... |
|00001b50| 20 4d 4f 56 4e 56 20 52 | 31 2c 52 31 0d 0a dc 12 | MOVNV R|1,R1....|
|00001b60| 20 20 20 43 4d 50 20 52 | 30 2c 23 31 32 39 0d 0a | CMP R|0,#129..|
|00001b70| e6 31 20 20 20 42 45 51 | 20 45 6e 74 65 72 43 6f |.1 BEQ| EnterCo|
|00001b80| 6d 6d 61 6e 64 20 5c 20 | 43 6f 6d 6d 61 6e 64 73 |mmand \ |Commands|
|00001b90| 20 74 6f 20 62 65 20 74 | 79 70 65 64 20 69 6e 0d | to be t|yped in.|
|00001ba0| 0a f0 37 20 20 20 41 44 | 52 20 52 30 2c 43 6f 6d |..7 AD|R R0,Com|
|00001bb0| 6d 61 6e 64 20 20 20 5c | 20 65 6c 73 65 20 65 78 |mand \| else ex|
|00001bc0| 65 63 75 74 65 20 73 65 | 6c 65 63 74 65 64 20 63 |ecute se|lected c|
|00001bd0| 6f 6d 6d 61 6e 64 0d 0a | fa 14 20 20 20 53 57 49 |ommand..|.. SWI|
|00001be0| 20 22 58 4f 53 5f 43 4c | 49 22 0d 0b 04 33 20 20 | "XOS_CL|I"...3 |
|00001bf0| 20 53 57 49 56 53 20 32 | 35 36 2b 37 2b 28 31 3c | SWIVS 2|56+7+(1<|
|00001c00| 3c 31 37 29 20 5c 20 42 | 65 65 70 20 69 66 20 65 |<17) \ B|eep if e|
|00001c10| 72 72 6f 72 20 6f 63 63 | 75 72 72 65 64 0d 0b 0e |rror occ|urred...|
|00001c20| 0f 20 20 20 42 20 46 69 | 6e 69 73 68 0d 0b 18 37 |. B Fi|nish...7|
|00001c30| 2e 45 6e 74 65 72 43 6f | 6d 6d 61 6e 64 20 20 20 |.EnterCo|mmand |
|00001c40| 20 5c 20 50 72 65 70 61 | 72 65 20 73 63 72 65 65 | \ Prepa|re scree|
|00001c50| 6e 20 66 6f 72 20 63 6f | 6d 6d 61 6e 64 20 65 6e |n for co|mmand en|
|00001c60| 74 72 79 0d 0b 22 12 20 | 20 20 4d 4f 56 20 52 30 |try..". | MOV R0|
|00001c70| 2c 23 31 31 37 0d 0b 2c | 15 20 20 20 53 57 49 20 |,#117..,|. SWI |
|00001c80| 22 58 4f 53 5f 42 79 74 | 65 22 0d 0b 36 18 20 20 |"XOS_Byt|e"..6. |
|00001c90| 20 53 54 52 42 20 52 31 | 2c 56 64 75 53 74 61 74 | STRB R1|,VduStat|
|00001ca0| 75 73 0d 0b 40 10 20 20 | 20 4d 4f 56 20 52 30 2c |us..@. | MOV R0,|
|00001cb0| 23 33 0d 0b 4a 3a 20 20 | 20 4d 4f 56 20 52 31 2c |#3..J: | MOV R1,|
|00001cc0| 23 25 31 30 31 30 31 30 | 30 20 5c 20 44 69 73 61 |#%101010|0 \ Disa|
|00001cd0| 62 6c 65 20 70 72 69 6e | 74 65 72 2c 20 53 70 6f |ble prin|ter, Spo|
|00001ce0| 6f 6c 20 61 6e 64 20 52 | 53 34 32 33 0d 0b 54 15 |ol and R|S423..T.|
|00001cf0| 20 20 20 53 57 49 20 22 | 58 4f 53 5f 42 79 74 65 | SWI "|XOS_Byte|
|00001d00| 22 0d 0b 5e 16 20 20 20 | 53 54 52 42 20 52 31 2c |"..^. |STRB R1,|
|00001d10| 53 74 72 65 61 6d 73 0d | 0b 68 12 20 20 20 4d 4f |Streams.|.h. MO|
|00001d20| 56 20 52 30 2c 23 31 36 | 35 0d 0b 72 15 20 20 20 |V R0,#16|5..r. |
|00001d30| 53 57 49 20 22 58 4f 53 | 5f 42 79 74 65 22 0d 0b |SWI "XOS|_Byte"..|
|00001d40| 7c 18 20 20 20 53 54 52 | 42 20 52 31 2c 43 75 72 ||. STR|B R1,Cur|
|00001d50| 73 6f 72 50 6f 73 0d 0b | 86 1a 20 20 20 53 54 52 |sorPos..|.. STR|
|00001d60| 42 20 52 32 2c 43 75 72 | 73 6f 72 50 6f 73 2b 31 |B R2,Cur|sorPos+1|
|00001d70| 0d 0b 90 12 20 20 20 4d | 4f 56 20 52 30 2c 23 32 |.... M|OV R0,#2|
|00001d80| 31 38 0d 0b 9a 10 20 20 | 20 4d 4f 56 20 52 31 2c |18.... | MOV R1,|
|00001d90| 23 30 0d 0b a4 10 20 20 | 20 4d 4f 56 20 52 32 2c |#0.... | MOV R2,|
|00001da0| 23 30 0d 0b ae 22 20 20 | 20 53 57 49 20 22 58 4f |#0..." | SWI "XO|
|00001db0| 53 5f 42 79 74 65 22 20 | 20 5c 20 43 6c 65 61 72 |S_Byte" | \ Clear|
|00001dc0| 20 ef 20 51 0d 0b b8 10 | 20 20 20 4d 4f 56 20 52 | . Q....| MOV R|
|00001dd0| 30 2c 23 30 0d 0b c2 11 | 20 20 20 4d 4f 56 20 52 |0,#0....| MOV R|
|00001de0| 31 2c 23 31 36 0d 0b cc | 1c 20 20 20 53 57 49 20 |1,#16...|. SWI |
|00001df0| 22 58 4f 53 5f 52 65 61 | 64 50 61 6c 65 74 74 65 |"XOS_Rea|dPalette|
|00001e00| 22 0d 0b d6 15 20 20 20 | 53 54 52 20 52 32 2c 43 |".... |STR R2,C|
|00001e10| 6f 6c 6f 75 72 73 0d 0b | e0 17 20 20 20 53 54 52 |olours..|.. STR|
|00001e20| 20 52 33 2c 43 6f 6c 6f | 75 72 73 2b 34 0d 0b ea | R3,Colo|urs+4...|
|00001e30| 10 20 20 20 4d 4f 56 20 | 52 30 2c 23 31 0d 0b f4 |. MOV |R0,#1...|
|00001e40| 1c 20 20 20 53 57 49 20 | 22 58 4f 53 5f 52 65 61 |. SWI |"XOS_Rea|
|00001e50| 64 50 61 6c 65 74 74 65 | 22 0d 0b fe 17 20 20 20 |dPalette|".... |
|00001e60| 53 54 52 20 52 32 2c 43 | 6f 6c 6f 75 72 73 2b 38 |STR R2,C|olours+8|
|00001e70| 0d 0c 08 18 20 20 20 53 | 54 52 20 52 33 2c 43 6f |.... S|TR R3,Co|
|00001e80| 6c 6f 75 72 73 2b 31 32 | 0d 0c 12 16 20 20 20 41 |lours+12|.... A|
|00001e90| 44 52 20 52 30 2c 56 64 | 75 42 6c 6f 63 6b 0d 0c |DR R0,Vd|uBlock..|
|00001ea0| 1c 14 20 20 20 41 44 52 | 20 52 31 2c 57 69 6e 64 |.. ADR| R1,Wind|
|00001eb0| 6f 77 0d 0c 26 21 20 20 | 20 53 57 49 20 22 58 4f |ow..&! | SWI "XO|
|00001ec0| 53 5f 52 65 61 64 56 64 | 75 56 61 72 69 61 62 6c |S_ReadVd|uVariabl|
|00001ed0| 65 73 22 0d 0c 30 19 20 | 20 20 4c 44 52 20 52 30 |es"..0. | LDR R0|
|00001ee0| 2c 53 63 72 65 65 6e 57 | 69 64 74 68 0d 0c 3a 1c |,ScreenW|idth..:.|
|00001ef0| 20 20 20 53 54 52 42 20 | 52 30 2c 4e 65 77 53 65 | STRB |R0,NewSe|
|00001f00| 74 74 69 6e 67 73 2b 34 | 0d 0c 44 1a 20 20 20 4c |ttings+4|..D. L|
|00001f10| 44 52 20 52 30 2c 53 63 | 72 65 65 6e 48 65 69 67 |DR R0,Sc|reenHeig|
|00001f20| 68 74 0d 0c 4e 1c 20 20 | 20 53 54 52 42 20 52 30 |ht..N. | STRB R0|
|00001f30| 2c 4e 65 77 53 65 74 74 | 69 6e 67 73 2b 33 0d 0c |,NewSett|ings+3..|
|00001f40| 58 10 20 20 20 4d 4f 56 | 20 52 30 2c 23 33 0d 0c |X. MOV| R0,#3..|
|00001f50| 62 18 20 20 20 41 44 52 | 20 52 31 2c 57 69 6d 70 |b. ADR| R1,Wimp|
|00001f60| 46 6c 61 67 2b 31 0d 0c | 6c 3f 20 20 20 53 57 49 |Flag+1..|l? SWI|
|00001f70| 20 22 58 4f 53 5f 4d 6f | 64 75 6c 65 22 20 20 20 | "XOS_Mo|dule" |
|00001f80| 5c 20 20 54 72 79 20 74 | 6f 20 72 65 69 6e 69 74 |\ Try t|o reinit|
|00001f90| 20 57 69 6e 64 6f 77 4d | 61 6e 61 67 65 72 20 4d | WindowM|anager M|
|00001fa0| 6f 64 75 6c 65 0d 0c 76 | 41 20 20 20 42 56 43 20 |odule..v|A BVC |
|00001fb0| 43 6c 61 69 6d 53 63 72 | 4d 65 6d 20 20 20 20 5c |ClaimScr|Mem \|
|00001fc0| 20 20 4e 6f 20 65 72 72 | 6f 72 20 6f 63 63 75 72 | No err|or occur|
|00001fd0| 72 65 64 20 2d 20 77 69 | 6d 70 20 6e 6f 74 20 72 |red - wi|mp not r|
|00001fe0| 75 6e 6e 69 6e 67 0d 0c | 80 28 20 20 20 4c 44 52 |unning..|.( LDR|
|00001ff0| 20 52 30 2c 5b 52 30 5d | 20 20 20 5c 20 20 47 65 | R0,[R0]| \ Ge|
|00002000| 74 20 65 72 72 6f 72 20 | 6e 75 6d 62 65 72 0d 0c |t error |number..|
|00002010| 8a 47 20 20 20 53 55 42 | 20 52 30 2c 52 30 2c 23 |.G SUB| R0,R0,#|
|00002020| 34 20 20 5c 20 20 22 57 | 69 6d 70 20 6d 6f 64 75 |4 \ "W|imp modu|
|00002030| 6c 65 20 61 63 74 69 76 | 65 22 20 2d 20 65 72 72 |le activ|e" - err|
|00002040| 6f 72 20 32 35 39 2c 20 | 63 68 61 6e 67 65 20 74 |or 259, |change t|
|00002050| 6f 20 32 35 35 0d 0c 94 | 33 20 20 20 43 4d 50 20 |o 255...|3 CMP |
|00002060| 52 30 2c 23 32 35 35 20 | 20 20 20 5c 20 49 73 20 |R0,#255 | \ Is |
|00002070| 6d 6f 64 75 6c 65 20 63 | 75 72 72 65 6e 74 6c 79 |module c|urrently|
|00002080| 20 61 63 74 69 76 65 3f | 0d 0c 9e 47 20 20 20 42 | active?|...G B|
|00002090| 4e 45 20 43 6c 61 69 6d | 53 63 72 4d 65 6d 20 20 |NE Claim|ScrMem |
|000020a0| 5c 20 20 41 6e 6f 74 68 | 65 72 20 65 72 72 6f 72 |\ Anoth|er error|
|000020b0| 20 73 6f 20 74 72 79 20 | 63 6c 61 69 6d 69 6e 67 | so try |claiming|
|000020c0| 20 73 63 72 65 65 6e 20 | 6d 65 6d 6f 72 79 2e 0d | screen |memory..|
|000020d0| 0c a8 4c 20 20 20 53 54 | 52 42 20 52 30 2c 57 69 |..L ST|RB R0,Wi|
|000020e0| 6d 70 46 6c 61 67 20 5c | 20 57 69 6d 70 20 6f 6e |mpFlag \| Wimp on|
|000020f0| 2c 20 73 65 74 20 66 6c | 61 67 20 74 6f 20 66 6f |, set fl|ag to fo|
|00002100| 72 63 65 20 57 69 6d 70 | 20 74 6f 20 72 65 73 74 |rce Wimp| to rest|
|00002110| 6f 72 65 20 73 63 72 65 | 65 6e 2e 0d 0c b2 3f 20 |ore scre|en....? |
|00002120| 20 20 42 20 53 63 72 65 | 65 6e 20 20 20 20 20 20 | B Scre|en |
|00002130| 20 20 20 5c 20 61 6e 64 | 20 74 72 79 20 74 6f 20 | \ and| try to |
|00002140| 63 6c 61 69 6d 20 73 63 | 72 65 65 6e 20 6d 65 6d |claim sc|reen mem|
|00002150| 6f 72 79 20 61 6e 79 77 | 61 79 0d 0c bc 10 2e 43 |ory anyw|ay.....C|
|00002160| 6c 61 69 6d 53 63 72 4d | 65 6d 0d 0c c6 10 20 20 |laimScrM|em.... |
|00002170| 20 4d 4f 56 20 52 30 2c | 23 30 0d 0c d0 4a 20 20 | MOV R0,|#0...J |
|00002180| 20 53 54 52 42 20 52 30 | 2c 57 69 6d 70 46 6c 61 | STRB R0|,WimpFla|
|00002190| 67 20 20 5c 20 20 57 69 | 6d 70 20 6e 6f 74 20 61 |g \ Wi|mp not a|
|000021a0| 63 74 69 76 65 20 73 6f | 20 63 61 6e 6e 6f 74 20 |ctive so| cannot |
|000021b0| 72 65 73 74 6f 72 65 20 | 73 63 72 65 65 6e 20 6c |restore |screen l|
|000021c0| 61 74 65 72 0d 0c da 0b | 2e 53 63 72 65 65 6e 0d |ater....|.Screen.|
|000021d0| 0c e4 36 20 20 20 4d 4f | 56 20 52 30 2c 23 31 20 |..6 MO|V R0,#1 |
|000021e0| 20 20 20 20 20 20 20 20 | 5c 20 20 54 72 79 20 63 | |\ Try c|
|000021f0| 6c 61 69 6d 69 6e 67 20 | 73 63 72 65 65 6e 20 6d |laiming |screen m|
|00002200| 65 6d 6f 72 79 0d 0c ee | 18 20 20 20 4c 44 52 20 |emory...|. LDR |
|00002210| 52 33 2c 53 63 72 65 65 | 6e 53 69 7a 65 0d 0c f8 |R3,Scree|nSize...|
|00002220| 10 20 20 20 4d 4f 56 20 | 52 31 2c 52 33 0d 0d 02 |. MOV |R1,R3...|
|00002230| 22 20 20 20 53 57 49 20 | 22 58 4f 53 5f 43 6c 61 |" SWI |"XOS_Cla|
|00002240| 69 6d 53 63 72 65 65 6e | 4d 65 6d 6f 72 79 22 0d |imScreen|Memory".|
|00002250| 0d 0c 12 20 20 20 4d 4f | 56 43 53 20 52 32 2c 23 |... MO|VCS R2,#|
|00002260| 30 0d 0d 16 4c 20 20 20 | 53 54 52 20 52 32 2c 53 |0...L |STR R2,S|
|00002270| 63 72 65 65 6e 43 6c 61 | 69 6d 65 64 20 20 20 20 |creenCla|imed |
|00002280| 5c 20 53 65 74 20 66 6c | 61 67 20 74 6f 20 69 6e |\ Set fl|ag to in|
|00002290| 64 69 63 61 74 65 20 69 | 66 20 73 63 72 65 65 6e |dicate i|f screen|
|000022a0| 20 6d 65 6d 6f 72 79 20 | 66 6f 75 6e 64 0d 0d 20 | memory |found.. |
|000022b0| 16 20 20 20 42 43 53 20 | 56 64 75 53 65 71 75 65 |. BCS |VduSeque|
|000022c0| 6e 63 65 0d 0d 2a 19 20 | 20 20 4c 44 52 20 52 31 |nce..*. | LDR R1|
|000022d0| 2c 53 63 72 65 65 6e 53 | 74 61 72 74 0d 0d 34 10 |,ScreenS|tart..4.|
|000022e0| 2e 53 63 72 65 65 6e 4c | 6f 6f 70 31 0d 0d 3e 19 |.ScreenL|oop1..>.|
|000022f0| 20 20 20 4c 44 4d 49 41 | 20 52 31 21 2c 7b 52 34 | LDMIA| R1!,{R4|
|00002300| 2d 52 31 31 7d 0d 0d 48 | 19 20 20 20 53 54 4d 49 |-R11}..H|. STMI|
|00002310| 41 20 52 32 21 2c 7b 52 | 34 2d 52 31 31 7d 0d 0d |A R2!,{R|4-R11}..|
|00002320| 52 15 20 20 20 53 55 42 | 53 20 52 33 2c 52 33 2c |R. SUB|S R3,R3,|
|00002330| 23 33 32 0d 0d 5c 16 20 | 20 20 42 48 49 20 53 63 |#32..\. | BHI Sc|
|00002340| 72 65 65 6e 4c 6f 6f 70 | 31 0d 0d 66 14 20 20 20 |reenLoop|1..f. |
|00002350| 42 20 56 64 75 53 65 71 | 75 65 6e 63 65 0d 0d 70 |B VduSeq|uence..p|
|00002360| 04 0d 0d 7a 0d 2e 57 69 | 6d 70 46 6c 61 67 0d 0d |...z..Wi|mpFlag..|
|00002370| 84 0d 20 20 20 45 51 55 | 42 20 30 0d 0d 8e 1b 20 |.. EQU|B 0.... |
|00002380| 20 20 45 51 55 53 20 22 | 57 69 6e 64 6f 77 4d 61 | EQUS "|WindowMa|
|00002390| 6e 61 67 65 72 22 0d 0d | 98 0d 20 20 20 45 51 55 |nager"..|.. EQU|
|000023a0| 42 20 30 0d 0d a2 0c 20 | 20 20 41 4c 49 47 4e 0d |B 0.... | ALIGN.|
|000023b0| 0d ac 04 0d 0d b6 10 2e | 56 64 75 53 65 71 75 65 |........|VduSeque|
|000023c0| 6e 63 65 0d 0d c0 19 20 | 20 20 41 44 52 20 52 30 |nce.... | ADR R0|
|000023d0| 2c 4e 65 77 53 65 74 74 | 69 6e 67 73 0d 0d ca 18 |,NewSett|ings....|
|000023e0| 20 20 20 41 44 52 20 52 | 31 2c 54 65 72 6d 69 6e | ADR R|1,Termin|
|000023f0| 61 74 6f 72 0d 0d d4 13 | 20 20 20 53 55 42 20 52 |ator....| SUB R|
|00002400| 31 2c 52 31 2c 52 30 0d | 0d de 16 20 20 20 53 57 |1,R1,R0.|... SW|
|00002410| 49 20 22 4f 53 5f 57 72 | 69 74 65 4e 22 0d 0d e8 |I "OS_Wr|iteN"...|
|00002420| 04 0d 0d f2 0b 2e 45 43 | 4c 6f 6f 70 0d 0d fc 16 |......EC|Loop....|
|00002430| 20 20 20 53 57 49 20 22 | 4f 53 5f 57 72 69 74 65 | SWI "|OS_Write|
|00002440| 53 22 0d 0e 06 15 20 20 | 20 45 51 55 44 20 26 30 |S".... | EQUD &0|
|00002450| 30 32 41 30 41 30 44 0d | 0e 10 14 20 20 20 41 44 |02A0A0D.|... AD|
|00002460| 52 20 52 30 2c 42 75 66 | 66 65 72 0d 0e 1a 12 20 |R R0,Buf|fer.... |
|00002470| 20 20 4d 4f 56 20 52 31 | 2c 23 32 35 34 0d 0e 24 | MOV R1|,#254..$|
|00002480| 11 20 20 20 4d 4f 56 20 | 52 32 2c 23 33 32 0d 0e |. MOV |R2,#32..|
|00002490| 2e 12 20 20 20 4d 4f 56 | 20 52 33 2c 23 32 35 35 |.. MOV| R3,#255|
|000024a0| 0d 0e 38 19 20 20 20 53 | 57 49 20 22 58 4f 53 5f |..8. S|WI "XOS_|
|000024b0| 52 65 61 64 4c 69 6e 65 | 22 0d 0e 42 13 20 20 20 |ReadLine|"..B. |
|000024c0| 42 43 53 20 45 73 63 45 | 72 72 6f 72 0d 0e 4c 15 |BCS EscE|rror..L.|
|000024d0| 20 20 20 42 56 53 20 50 | 72 69 6e 74 45 72 72 6f | BVS P|rintErro|
|000024e0| 72 0d 0e 56 10 20 20 20 | 43 4d 50 20 52 31 2c 23 |r..V. |CMP R1,#|
|000024f0| 30 0d 0e 60 11 20 20 20 | 42 45 51 20 54 69 64 79 |0..`. |BEQ Tidy|
|00002500| 55 70 0d 0e 6a 14 20 20 | 20 53 57 49 20 22 58 4f |Up..j. | SWI "XO|
|00002510| 53 5f 43 4c 49 22 0d 0e | 74 15 20 20 20 42 56 53 |S_CLI"..|t. BVS|
|00002520| 20 50 72 69 6e 74 45 72 | 72 6f 72 0d 0e 7e 0f 20 | PrintEr|ror..~. |
|00002530| 20 20 42 20 45 43 4c 6f | 6f 70 0d 0e 88 42 2e 56 | B ECLo|op...B.V|
|00002540| 64 75 42 6c 6f 63 6b 20 | 20 20 20 20 20 20 20 5c |duBlock | \|
|00002550| 20 55 73 65 64 20 61 73 | 20 69 6e 70 75 74 20 62 | Used as| input b|
|00002560| 6c 6f 63 6b 20 66 6f 72 | 20 4f 53 5f 52 65 61 64 |lock for| OS_Read|
|00002570| 56 64 75 56 61 72 69 61 | 62 6c 65 73 0d 0e 92 0f |VduVaria|bles....|
|00002580| 20 20 20 45 51 55 44 20 | 31 33 32 0d 0e 9c 0f 20 | EQUD |132.... |
|00002590| 20 20 45 51 55 44 20 31 | 33 33 0d 0e a6 0f 20 20 | EQUD 1|33.... |
|000025a0| 20 45 51 55 44 20 31 33 | 34 0d 0e b0 0f 20 20 20 | EQUD 13|4.... |
|000025b0| 45 51 55 44 20 31 33 35 | 0d 0e ba 0f 20 20 20 45 |EQUD 135|.... E|
|000025c0| 51 55 44 20 31 34 39 0d | 0e c4 0f 20 20 20 45 51 |QUD 149.|... EQ|
|000025d0| 55 44 20 31 35 35 0d 0e | ce 0f 20 20 20 45 51 55 |UD 155..|.. EQU|
|000025e0| 44 20 31 35 36 0d 0e d8 | 0f 20 20 20 45 51 55 44 |D 156...|. EQUD|
|000025f0| 20 31 35 39 0d 0e e2 0f | 20 20 20 45 51 55 44 20 | 159....| EQUD |
|00002600| 31 36 30 0d 0e ec 0d 20 | 20 20 45 51 55 44 20 31 |160.... | EQUD 1|
|00002610| 0d 0e f6 0d 20 20 20 45 | 51 55 44 20 32 0d 0f 00 |.... E|QUD 2...|
|00002620| 0d 20 20 20 45 51 55 44 | 20 37 0d 0f 0a 0e 20 20 |. EQUD| 7.... |
|00002630| 20 45 51 55 44 20 2d 31 | 0d 0f 14 43 2e 43 6f 6c | EQUD -1|...C.Col|
|00002640| 6f 75 72 73 20 20 20 20 | 20 20 20 20 5c 20 55 73 |ours | \ Us|
|00002650| 65 64 20 74 6f 20 73 74 | 6f 72 65 20 61 70 70 6c |ed to st|ore appl|
|00002660| 69 63 61 74 69 6f 6e 20 | ef 20 76 61 72 69 61 62 |ication |. variab|
|00002670| 6c 65 20 73 65 74 74 69 | 6e 67 73 0d 0f 1e 0d 20 |le setti|ngs.... |
|00002680| 20 20 45 51 55 44 20 30 | 0d 0f 28 0d 20 20 20 45 | EQUD 0|..(. E|
|00002690| 51 55 44 20 30 0d 0f 32 | 0d 20 20 20 45 51 55 44 |QUD 0..2|. EQUD|
|000026a0| 20 30 0d 0f 3c 0d 20 20 | 20 45 51 55 44 20 30 0d | 0..<. | EQUD 0.|
|000026b0| 0f 46 0b 2e 57 69 6e 64 | 6f 77 0d 0f 50 0d 20 20 |.F..Wind|ow..P. |
|000026c0| 20 45 51 55 44 20 30 0d | 0f 5a 0d 20 20 20 45 51 | EQUD 0.|.Z. EQ|
|000026d0| 55 44 20 30 0d 0f 64 0d | 20 20 20 45 51 55 44 20 |UD 0..d.| EQUD |
|000026e0| 30 0d 0f 6e 0d 20 20 20 | 45 51 55 44 20 30 0d 0f |0..n. |EQUD 0..|
|000026f0| 78 10 2e 53 63 72 65 65 | 6e 53 74 61 72 74 0d 0f |x..Scree|nStart..|
|00002700| 82 0d 20 20 20 45 51 55 | 44 20 30 0d 0f 8c 0c 2e |.. EQU|D 0.....|
|00002710| 4c 6f 67 43 6f 6c 73 0d | 0f 96 0d 20 20 20 45 51 |LogCols.|... EQ|
|00002720| 55 44 20 30 0d 0f a0 0d | 20 20 20 45 51 55 44 20 |UD 0....| EQUD |
|00002730| 30 0d 0f aa 0a 2e 54 69 | 6e 74 73 0d 0f b4 0d 20 |0.....Ti|nts.... |
|00002740| 20 20 45 51 55 44 20 30 | 0d 0f be 0d 20 20 20 45 | EQUD 0|.... E|
|00002750| 51 55 44 20 30 0d 0f c8 | 10 2e 53 63 72 65 65 6e |QUD 0...|..Screen|
|00002760| 57 69 64 74 68 0d 0f d2 | 0d 20 20 20 45 51 55 44 |Width...|. EQUD|
|00002770| 20 30 0d 0f dc 11 2e 53 | 63 72 65 65 6e 48 65 69 | 0.....S|creenHei|
|00002780| 67 68 74 0d 0f e6 0d 20 | 20 20 45 51 55 44 20 30 |ght.... | EQUD 0|
|00002790| 0d 0f f0 0f 2e 53 63 72 | 65 65 6e 53 69 7a 65 0d |.....Scr|eenSize.|
|000027a0| 0f fa 0d 20 20 20 45 51 | 55 44 20 30 0d 10 04 12 |... EQ|UD 0....|
|000027b0| 2e 53 63 72 65 65 6e 43 | 6c 61 69 6d 65 64 0d 10 |.ScreenC|laimed..|
|000027c0| 0e 0d 20 20 20 45 51 55 | 44 20 30 0d 10 18 0e 2e |.. EQU|D 0.....|
|000027d0| 56 64 75 53 74 61 74 75 | 73 0d 10 22 0d 20 20 20 |VduStatu|s..". |
|000027e0| 45 51 55 42 20 30 0d 10 | 2c 0e 2e 43 75 72 73 6f |EQUB 0..|,..Curso|
|000027f0| 72 50 6f 73 0d 10 36 0d | 20 20 20 45 51 55 57 20 |rPos..6.| EQUW |
|00002800| 30 0d 10 40 0c 2e 53 74 | 72 65 61 6d 73 0d 10 4a |0..@..St|reams..J|
|00002810| 0d 20 20 20 45 51 55 42 | 20 30 0d 10 54 46 2e 4e |. EQUB| 0..TF.N|
|00002820| 65 77 53 65 74 74 69 6e | 67 73 20 20 20 20 5c 20 |ewSettin|gs \ |
|00002830| 20 43 6f 6e 74 61 69 6e | 73 20 ef 20 63 6f 64 65 | Contain|s . code|
|00002840| 73 20 74 6f 20 73 65 74 | 20 75 70 20 63 6f 6d 6d |s to set| up comm|
|00002850| 61 6e 64 20 65 6e 74 72 | 79 20 73 63 72 65 65 6e |and entr|y screen|
|00002860| 0d 10 5e 1d 20 20 20 45 | 51 55 42 20 36 20 20 20 |..^. E|QUB 6 |
|00002870| 5c 20 52 65 20 65 6e 61 | 62 6c 65 20 ef 0d 10 68 |\ Re ena|ble ...h|
|00002880| 21 20 20 20 45 51 55 42 | 20 32 38 20 20 5c 20 53 |! EQUB| 28 \ S|
|00002890| 65 74 20 74 65 78 74 20 | 77 69 6e 64 6f 77 0d 10 |et text |window..|
|000028a0| 72 0d 20 20 20 45 51 55 | 42 20 30 0d 10 7c 35 20 |r. EQU|B 0..|5 |
|000028b0| 20 20 45 51 55 42 20 30 | 20 20 20 5c 20 68 65 69 | EQUB 0| \ hei|
|000028c0| 67 68 74 20 6f 66 20 73 | 63 72 65 65 6e 20 75 70 |ght of s|creen up|
|000028d0| 64 61 74 65 64 20 62 79 | 20 70 72 6f 67 72 61 6d |dated by| program|
|000028e0| 0d 10 86 34 20 20 20 45 | 51 55 42 20 30 20 20 20 |...4 E|QUB 0 |
|000028f0| 5c 20 77 69 64 74 68 20 | 6f 66 20 73 63 72 65 65 |\ width |of scree|
|00002900| 6e 20 75 70 64 61 74 65 | 64 20 62 79 20 70 72 6f |n update|d by pro|
|00002910| 67 72 61 6d 0d 10 90 0d | 20 20 20 45 51 55 42 20 |gram....| EQUB |
|00002920| 30 0d 10 9a 26 20 20 20 | 45 51 55 42 20 31 39 20 |0...& |EQUB 19 |
|00002930| 20 5c 20 44 65 66 69 6e | 65 20 63 6f 6c 20 30 20 | \ Defin|e col 0 |
|00002940| 61 73 20 62 6c 75 65 0d | 10 a4 0d 20 20 20 45 51 |as blue.|... EQ|
|00002950| 55 42 20 30 0d 10 ae 0d | 20 20 20 45 51 55 44 20 |UB 0....| EQUD |
|00002960| 34 0d 10 b8 27 20 20 20 | 45 51 55 42 20 31 39 20 |4...' |EQUB 19 |
|00002970| 20 5c 20 44 65 66 69 6e | 65 20 63 6f 6c 20 31 20 | \ Defin|e col 1 |
|00002980| 61 73 20 77 68 69 74 65 | 0d 10 c2 0d 20 20 20 45 |as white|.... E|
|00002990| 51 55 42 20 31 0d 10 cc | 0d 20 20 20 45 51 55 44 |QUB 1...|. EQUD|
|000029a0| 20 37 0d 10 d6 20 20 20 | 20 45 51 55 42 20 31 34 | 7... | EQUB 14|
|000029b0| 20 20 5c 20 53 65 74 20 | 70 61 67 65 64 20 6d 6f | \ Set |paged mo|
|000029c0| 64 65 0d 10 e0 21 20 20 | 20 45 51 55 42 20 34 20 |de...! | EQUB 4 |
|000029d0| 20 20 5c 20 55 73 65 20 | 74 65 78 74 20 63 75 72 | \ Use |text cur|
|000029e0| 73 6f 72 0d 10 ea 26 20 | 20 20 45 51 55 42 20 31 |sor...& | EQUB 1|
|000029f0| 37 20 20 5c 20 53 65 6c | 65 63 74 20 54 65 78 74 |7 \ Sel|ect Text|
|00002a00| 20 63 6f 6c 6f 75 72 20 | 31 0d 10 f4 0d 20 20 20 | colour |1.... |
|00002a10| 45 51 55 42 20 31 0d 10 | fe 2c 20 20 20 45 51 55 |EQUB 1..|., EQU|
|00002a20| 42 20 31 37 20 20 5c 20 | 53 65 6c 65 63 74 20 62 |B 17 \ |Select b|
|00002a30| 61 63 6b 67 72 6f 75 6e | 64 20 63 6f 6c 6f 75 72 |ackgroun|d colour|
|00002a40| 20 30 0d 11 08 0f 20 20 | 20 45 51 55 42 20 31 32 | 0.... | EQUB 12|
|00002a50| 38 0d 11 12 13 20 20 20 | 45 51 55 42 20 31 32 20 |8.... |EQUB 12 |
|00002a60| 20 5c 20 db 0d 11 1c 0f | 2e 54 65 72 6d 69 6e 61 | \ .....|.Termina|
|00002a70| 74 6f 72 0d 11 26 1a 20 | 20 20 53 54 4d 46 44 20 |tor..&. | STMFD |
|00002a80| 52 31 33 21 2c 7b 52 30 | 2c 52 31 34 7d 0d 11 30 |R13!,{R0|,R14}..0|
|00002a90| 10 20 20 20 4d 4f 56 20 | 52 30 2c 23 38 0d 11 3a |. MOV |R0,#8..:|
|00002aa0| 0d 2e 54 65 72 6d 4c 6f | 6f 70 0d 11 44 0e 20 20 |..TermLo|op..D. |
|00002ab0| 20 53 57 49 20 32 35 36 | 0d 11 4e 14 20 20 20 53 | SWI 256|..N. S|
|00002ac0| 55 42 53 20 52 30 2c 52 | 30 2c 23 31 0d 11 58 13 |UBS R0,R|0,#1..X.|
|00002ad0| 20 20 20 42 4e 45 20 54 | 65 72 6d 4c 6f 6f 70 0d | BNE T|ermLoop.|
|00002ae0| 11 62 19 20 20 20 4c 44 | 4d 46 44 20 52 31 33 21 |.b. LD|MFD R13!|
|00002af0| 2c 7b 52 30 2c 50 43 7d | 0d 11 6c 04 0d 11 76 4a |,{R0,PC}|..l...vJ|
|00002b00| 2e 54 69 64 79 55 70 20 | 20 20 20 20 20 20 20 20 |.TidyUp | |
|00002b10| 20 20 20 5c 20 52 65 73 | 65 74 73 20 61 70 70 6c | \ Res|ets appl|
|00002b20| 27 6e 20 ef 20 73 65 74 | 75 70 20 61 6e 64 20 74 |'n . set|up and t|
|00002b30| 72 69 65 73 20 74 6f 20 | 72 65 73 74 6f 72 65 20 |ries to |restore |
|00002b40| 73 63 72 65 65 6e 0d 11 | 80 15 20 20 20 41 44 52 |screen..|.. ADR|
|00002b50| 20 52 33 2c 43 6f 6c 6f | 75 72 73 0d 11 8a 10 20 | R3,Colo|urs.... |
|00002b60| 20 20 4d 4f 56 20 52 31 | 2c 23 34 0d 11 94 11 20 | MOV R1|,#4.... |
|00002b70| 20 20 4d 4f 56 20 52 32 | 2c 23 31 32 0d 11 9e 0b | MOV R2|,#12....|
|00002b80| 2e 54 4c 6f 6f 70 31 0d | 11 a8 11 20 20 20 53 57 |.TLoop1.|... SW|
|00002b90| 49 20 32 35 36 2b 31 39 | 0d 11 b2 17 20 20 20 4d |I 256+19|.... M|
|00002ba0| 4f 56 20 52 30 2c 52 32 | 2c 4c 53 52 20 23 33 0d |OV R0,R2|,LSR #3.|
|00002bb0| 11 bc 16 20 20 20 53 57 | 49 20 22 4f 53 5f 57 72 |... SW|I "OS_Wr|
|00002bc0| 69 74 65 43 22 0d 11 c6 | 13 20 20 20 41 44 44 20 |iteC"...|. ADD |
|00002bd0| 52 30 2c 52 33 2c 52 32 | 0d 11 d0 16 20 20 20 53 |R0,R3,R2|.... S|
|00002be0| 57 49 20 22 4f 53 5f 57 | 72 69 74 65 4e 22 0d 11 |WI "OS_W|riteN"..|
|00002bf0| da 14 20 20 20 53 55 42 | 53 20 52 32 2c 52 32 2c |.. SUB|S R2,R2,|
|00002c00| 23 34 0d 11 e4 11 20 20 | 20 42 50 4c 20 54 4c 6f |#4.... | BPL TLo|
|00002c10| 6f 70 31 0d 11 ee 10 20 | 20 20 4d 4f 56 20 52 32 |op1.... | MOV R2|
|00002c20| 2c 23 34 0d 11 f8 13 20 | 20 20 41 44 52 20 52 33 |,#4.... | ADR R3|
|00002c30| 2c 54 69 6e 74 73 0d 12 | 02 0b 2e 54 4c 6f 6f 70 |,Tints..|...TLoop|
|00002c40| 32 0d 12 0c 11 20 20 20 | 53 57 49 20 32 35 36 2b |2.... |SWI 256+|
|00002c50| 32 33 0d 12 16 11 20 20 | 20 53 57 49 20 32 35 36 |23.... | SWI 256|
|00002c60| 2b 31 37 0d 12 20 17 20 | 20 20 4d 4f 56 20 52 30 |+17.. . | MOV R0|
|00002c70| 2c 52 32 2c 4c 53 52 20 | 23 32 0d 12 2a 16 20 20 |,R2,LSR |#2..*. |
|00002c80| 20 53 57 49 20 22 4f 53 | 5f 57 72 69 74 65 43 22 | SWI "OS|_WriteC"|
|00002c90| 0d 12 34 15 20 20 20 4c | 44 52 20 52 30 2c 5b 52 |..4. L|DR R0,[R|
|00002ca0| 33 2c 52 32 5d 0d 12 3e | 16 20 20 20 53 57 49 20 |3,R2]..>|. SWI |
|00002cb0| 22 4f 53 5f 57 72 69 74 | 65 43 22 0d 12 48 14 20 |"OS_Writ|eC"..H. |
|00002cc0| 20 20 42 4c 20 54 65 72 | 6d 69 6e 61 74 6f 72 0d | BL Ter|minator.|
|00002cd0| 12 52 14 20 20 20 53 55 | 42 53 20 52 32 2c 52 32 |.R. SU|BS R2,R2|
|00002ce0| 2c 23 34 0d 12 5c 11 20 | 20 20 42 50 4c 20 54 4c |,#4..\. | BPL TL|
|00002cf0| 6f 6f 70 32 0d 12 66 16 | 20 20 20 4c 44 52 42 20 |oop2..f.| LDRB |
|00002d00| 52 30 2c 4c 6f 67 43 6f | 6c 73 0d 12 70 11 20 20 |R0,LogCo|ls..p. |
|00002d10| 20 53 57 49 20 32 35 36 | 2b 31 37 0d 12 7a 16 20 | SWI 256|+17..z. |
|00002d20| 20 20 53 57 49 20 22 4f | 53 5f 57 72 69 74 65 43 | SWI "O|S_WriteC|
|00002d30| 22 0d 12 84 18 20 20 20 | 4c 44 52 42 20 52 30 2c |".... |LDRB R0,|
|00002d40| 4c 6f 67 43 6f 6c 73 2b | 34 0d 12 8e 15 20 20 20 |LogCols+|4.... |
|00002d50| 41 44 44 20 52 30 2c 52 | 30 2c 23 31 32 38 0d 12 |ADD R0,R|0,#128..|
|00002d60| 98 11 20 20 20 53 57 49 | 20 32 35 36 2b 31 37 0d |.. SWI| 256+17.|
|00002d70| 12 a2 16 20 20 20 53 57 | 49 20 22 4f 53 5f 57 72 |... SW|I "OS_Wr|
|00002d80| 69 74 65 43 22 0d 12 ac | 11 20 20 20 53 57 49 20 |iteC"...|. SWI |
|00002d90| 32 35 36 2b 32 38 0d 12 | b6 14 20 20 20 41 44 52 |256+28..|.. ADR|
|00002da0| 20 52 31 2c 57 69 6e 64 | 6f 77 0d 12 c0 10 20 20 | R1,Wind|ow.... |
|00002db0| 20 4d 4f 56 20 52 32 2c | 23 34 0d 12 ca 0b 2e 54 | MOV R2,|#4.....T|
|00002dc0| 4c 6f 6f 70 33 0d 12 d4 | 16 20 20 20 4c 44 52 42 |Loop3...|. LDRB|
|00002dd0| 20 52 30 2c 5b 52 31 5d | 2c 23 34 0d 12 de 16 20 | R0,[R1]|,#4.... |
|00002de0| 20 20 53 57 49 20 22 4f | 53 5f 57 72 69 74 65 43 | SWI "O|S_WriteC|
|00002df0| 22 0d 12 e8 14 20 20 20 | 53 55 42 53 20 52 32 2c |".... |SUBS R2,|
|00002e00| 52 32 2c 23 31 0d 12 f2 | 11 20 20 20 42 4e 45 20 |R2,#1...|. BNE |
|00002e10| 54 4c 6f 6f 70 33 0d 12 | fc 11 20 20 20 53 57 49 |TLoop3..|.. SWI|
|00002e20| 20 32 35 36 2b 33 31 0d | 13 06 18 20 20 20 4c 44 | 256+31.|... LD|
|00002e30| 52 42 20 52 30 2c 43 75 | 72 73 6f 72 50 6f 73 0d |RB R0,Cu|rsorPos.|
|00002e40| 13 10 16 20 20 20 53 57 | 49 20 22 4f 53 5f 57 72 |... SW|I "OS_Wr|
|00002e50| 69 74 65 43 22 0d 13 1a | 1a 20 20 20 4c 44 52 42 |iteC"...|. LDRB|
|00002e60| 20 52 30 2c 43 75 72 73 | 6f 72 50 6f 73 2b 31 0d | R0,Curs|orPos+1.|
|00002e70| 13 24 16 20 20 20 53 57 | 49 20 22 4f 53 5f 57 72 |.$. SW|I "OS_Wr|
|00002e80| 69 74 65 43 22 0d 13 2e | 18 20 20 20 4c 44 52 42 |iteC"...|. LDRB|
|00002e90| 20 52 33 2c 56 64 75 53 | 74 61 74 75 73 0d 13 38 | R3,VduS|tatus..8|
|00002ea0| 27 20 20 20 54 53 54 20 | 52 33 2c 23 31 20 20 5c |' TST |R3,#1 \|
|00002eb0| 20 50 72 69 6e 74 65 72 | 20 65 6e 61 62 6c 65 64 | Printer| enabled|
|00002ec0| 20 62 69 74 0d 13 42 12 | 20 20 20 53 57 49 4e 45 | bit..B.| SWINE|
|00002ed0| 20 32 35 36 2b 32 0d 13 | 4c 21 20 20 20 54 53 54 | 256+2..|L! TST|
|00002ee0| 20 52 33 2c 23 34 20 5c | 20 50 61 67 65 64 20 6d | R3,#4 \| Paged m|
|00002ef0| 6f 64 65 20 62 69 74 0d | 13 56 31 20 20 20 53 57 |ode bit.|.V1 SW|
|00002f00| 49 45 51 20 32 35 36 2b | 31 35 20 5c 20 4e 6f 74 |IEQ 256+|15 \ Not|
|00002f10| 20 73 65 74 20 73 6f 20 | 63 6c 65 61 72 20 70 61 | set so |clear pa|
|00002f20| 67 65 64 20 6d 6f 64 65 | 0d 13 60 1b 20 20 20 54 |ged mode|..`. T|
|00002f30| 53 54 20 52 33 2c 23 33 | 32 20 20 5c 20 ef 35 20 |ST R3,#3|2 \ .5 |
|00002f40| 62 69 74 0d 13 6a 12 20 | 20 20 53 57 49 4e 45 20 |bit..j. | SWINE |
|00002f50| 32 35 36 2b 35 0d 13 74 | 29 20 20 20 54 53 54 20 |256+5..t|) TST |
|00002f60| 52 33 2c 23 31 32 38 20 | 5c 20 44 69 73 61 62 6c |R3,#128 |\ Disabl|
|00002f70| 65 64 20 62 79 20 ef 20 | 32 31 20 62 69 74 0d 13 |ed by . |21 bit..|
|00002f80| 7e 13 20 20 20 53 57 49 | 4e 45 20 32 35 36 2b 32 |~. SWI|NE 256+2|
|00002f90| 31 0d 13 88 16 20 20 20 | 4c 44 52 42 20 52 31 2c |1.... |LDRB R1,|
|00002fa0| 53 74 72 65 61 6d 73 0d | 13 92 10 20 20 20 4d 4f |Streams.|... MO|
|00002fb0| 56 20 52 30 2c 23 33 0d | 13 9c 14 20 20 20 53 57 |V R0,#3.|... SW|
|00002fc0| 49 20 22 4f 53 5f 42 79 | 74 65 22 0d 13 a6 1b 20 |I "OS_By|te".... |
|00002fd0| 20 20 4c 44 52 20 52 31 | 2c 53 63 72 65 65 6e 43 | LDR R1|,ScreenC|
|00002fe0| 6c 61 69 6d 65 64 0d 13 | b0 10 20 20 20 43 4d 50 |laimed..|.. CMP|
|00002ff0| 20 52 31 2c 23 30 0d 13 | ba 40 20 20 20 42 45 51 | R1,#0..|.@ BEQ|
|00003000| 20 57 69 6d 70 20 20 20 | 5c 20 20 53 63 72 65 65 | Wimp |\ Scree|
|00003010| 6e 20 6e 6f 74 20 73 74 | 6f 72 65 64 20 74 68 65 |n not st|ored the|
|00003020| 72 65 66 6f 72 65 20 74 | 72 79 20 77 69 6d 70 20 |refore t|ry wimp |
|00003030| 72 65 64 72 61 77 0d 13 | c4 19 20 20 20 4c 44 52 |redraw..|.. LDR|
|00003040| 20 52 32 2c 53 63 72 65 | 65 6e 53 74 61 72 74 0d | R2,Scre|enStart.|
|00003050| 13 ce 18 20 20 20 4c 44 | 52 20 52 33 2c 53 63 72 |... LD|R R3,Scr|
|00003060| 65 65 6e 53 69 7a 65 0d | 13 d8 0b 2e 54 4c 6f 6f |eenSize.|....TLoo|
|00003070| 70 34 0d 13 e2 19 20 20 | 20 4c 44 4d 49 41 20 52 |p4.... | LDMIA R|
|00003080| 31 21 2c 7b 52 34 2d 52 | 31 31 7d 0d 13 ec 19 20 |1!,{R4-R|11}.... |
|00003090| 20 20 53 54 4d 49 41 20 | 52 32 21 2c 7b 52 34 2d | STMIA |R2!,{R4-|
|000030a0| 52 31 31 7d 0d 13 f6 15 | 20 20 20 53 55 42 53 20 |R11}....| SUBS |
|000030b0| 52 33 2c 52 33 2c 23 33 | 32 0d 14 00 11 20 20 20 |R3,R3,#3|2.... |
|000030c0| 42 48 49 20 54 4c 6f 6f | 70 34 0d 14 0a 10 20 20 |BHI TLoo|p4.... |
|000030d0| 20 4d 4f 56 20 52 30 2c | 23 30 0d 14 14 21 20 20 | MOV R0,|#0...! |
|000030e0| 20 53 57 49 20 22 4f 53 | 5f 43 6c 61 69 6d 53 63 | SWI "OS|_ClaimSc|
|000030f0| 72 65 65 6e 4d 65 6d 6f | 72 79 22 0d 14 1e 09 2e |reenMemo|ry".....|
|00003100| 57 69 6d 70 0d 14 28 47 | 20 20 20 4c 44 52 42 20 |Wimp..(G| LDRB |
|00003110| 52 31 2c 57 69 6d 70 46 | 6c 61 67 20 20 5c 20 20 |R1,WimpF|lag \ |
|00003120| 4c 6f 61 64 20 66 6c 61 | 67 20 77 68 69 63 68 20 |Load fla|g which |
|00003130| 69 6e 64 69 63 61 74 65 | 73 20 69 66 20 77 69 6d |indicate|s if wim|
|00003140| 70 20 69 73 20 61 63 74 | 69 76 65 0d 14 32 3b 20 |p is act|ive..2; |
|00003150| 20 20 43 4d 50 20 52 31 | 2c 23 30 20 20 20 20 20 | CMP R1|,#0 |
|00003160| 20 20 20 20 5c 20 20 49 | 66 20 66 6c 61 67 20 69 | \ I|f flag i|
|00003170| 73 20 7a 65 72 6f 20 74 | 68 65 6e 20 6e 6f 74 20 |s zero t|hen not |
|00003180| 61 63 74 69 76 65 0d 14 | 3c 2d 20 20 20 42 45 51 |active..|<- BEQ|
|00003190| 20 46 69 6e 69 73 68 20 | 20 20 20 20 20 20 20 5c | Finish | \|
|000031a0| 20 20 73 6f 20 62 72 61 | 6e 63 68 20 74 6f 20 65 | so bra|nch to e|
|000031b0| 78 69 74 0d 14 46 42 20 | 20 20 4d 56 4e 20 52 30 |xit..FB | MVN R0|
|000031c0| 2c 23 30 20 20 20 20 20 | 20 20 20 20 5c 20 20 4f |,#0 | \ O|
|000031d0| 74 68 65 72 77 69 73 65 | 20 6d 61 72 6b 20 77 68 |therwise| mark wh|
|000031e0| 6f 6c 65 20 73 63 72 65 | 65 6e 20 61 73 20 69 6e |ole scre|en as in|
|000031f0| 76 61 6c 69 64 0d 14 50 | 10 20 20 20 4d 4f 56 20 |valid..P|. MOV |
|00003200| 52 31 2c 23 30 0d 14 5a | 10 20 20 20 4d 4f 56 20 |R1,#0..Z|. MOV |
|00003210| 52 32 2c 23 30 0d 14 64 | 13 20 20 20 4d 4f 56 20 |R2,#0..d|. MOV |
|00003220| 52 33 2c 23 32 33 30 34 | 0d 14 6e 13 20 20 20 4d |R3,#2304|..n. M|
|00003230| 4f 56 20 52 34 2c 23 31 | 37 39 32 0d 14 78 48 20 |OV R4,#1|792..xH |
|00003240| 20 20 53 57 49 20 22 58 | 57 69 6d 70 5f 46 6f 72 | SWI "X|Wimp_For|
|00003250| 63 65 52 65 64 72 61 77 | 22 20 20 5c 20 77 68 69 |ceRedraw|" \ whi|
|00003260| 63 68 20 63 61 75 73 65 | 73 20 77 69 6d 70 20 74 |ch cause|s wimp t|
|00003270| 6f 20 72 65 64 72 61 77 | 20 74 68 65 20 73 63 72 |o redraw| the scr|
|00003280| 65 65 6e 0d 14 82 0b 2e | 46 69 6e 69 73 68 0d 14 |een.....|Finish..|
|00003290| 8c 10 20 20 20 4d 4f 56 | 20 52 30 2c 50 43 0d 14 |.. MOV| R0,PC..|
|000032a0| 96 2b 20 20 20 84 52 20 | 52 30 2c 52 30 2c 23 31 |.+ .R |R0,R0,#1|
|000032b0| 3c 3c 32 37 20 5c 20 53 | 65 74 20 69 6e 74 65 72 |<<27 \ S|et inter|
|000032c0| 72 75 70 74 20 66 6c 61 | 67 0d 14 a0 27 20 20 20 |rupt fla|g...' |
|000032d0| 54 45 51 50 20 52 30 2c | 23 30 20 20 20 20 20 20 |TEQP R0,|#0 |
|000032e0| 20 5c 20 57 72 69 74 65 | 20 74 6f 20 66 6c 61 67 | \ Write| to flag|
|000032f0| 0d 14 aa 15 20 20 20 4c | 44 52 42 20 52 30 2c 41 |.... L|DRB R0,A|
|00003300| 63 74 69 76 65 0d 14 b4 | 2c 20 20 20 53 55 42 20 |ctive...|, SUB |
|00003310| 52 30 2c 52 30 2c 23 31 | 32 38 20 20 5c 20 52 65 |R0,R0,#1|28 \ Re|
|00003320| 73 74 6f 72 65 20 61 63 | 74 69 76 65 20 66 6c 61 |store ac|tive fla|
|00003330| 67 0d 14 be 15 20 20 20 | 53 54 52 42 20 52 30 2c |g.... |STRB R0,|
|00003340| 41 63 74 69 76 65 0d 14 | c8 17 20 20 20 41 44 52 |Active..|.. ADR|
|00003350| 20 52 31 34 2c 52 65 67 | 53 74 6f 72 65 0d 14 d2 | R14,Reg|Store...|
|00003360| 1a 20 20 20 4c 44 4d 49 | 41 20 52 31 34 2c 7b 52 |. LDMI|A R14,{R|
|00003370| 30 2d 52 31 34 7d 5e 0d | 14 dc 1a 20 20 20 4c 44 |0-R14}^.|... LD|
|00003380| 52 20 52 31 34 2c 5b 52 | 31 34 2c 23 31 35 2a 34 |R R14,[R|14,#15*4|
|00003390| 5d 0d 14 e6 12 20 20 20 | 4d 4f 56 53 20 50 43 2c |].... |MOVS PC,|
|000033a0| 52 31 34 0d 14 f0 04 0d | 14 fa 0c 2e 45 73 63 61 |R14.....|....Esca|
|000033b0| 70 65 53 0d 15 04 0e 20 | 20 20 45 51 55 44 20 31 |peS.... | EQUD 1|
|000033c0| 37 0d 15 0e 14 20 20 20 | 45 51 55 53 20 22 45 73 |7.... |EQUS "Es|
|000033d0| 63 61 70 65 22 0d 15 18 | 0d 20 20 20 45 51 55 42 |cape"...|. EQUB|
|000033e0| 20 30 0d 15 22 0c 20 20 | 20 41 4c 49 47 4e 0d 15 | 0..". | ALIGN..|
|000033f0| 2c 0d 2e 45 73 63 45 72 | 72 6f 72 0d 15 36 12 20 |,..EscEr|ror..6. |
|00003400| 20 20 4d 4f 56 20 52 30 | 2c 23 31 32 34 0d 15 40 | MOV R0|,#124..@|
|00003410| 2e 20 20 20 53 57 49 20 | 22 58 4f 53 5f 42 79 74 |. SWI |"XOS_Byt|
|00003420| 65 22 20 5c 20 43 6c 65 | 61 72 20 45 73 63 61 70 |e" \ Cle|ar Escap|
|00003430| 65 20 63 6f 6e 64 69 74 | 69 6f 6e 0d 15 4a 15 20 |e condit|ion..J. |
|00003440| 20 20 41 44 52 20 52 30 | 2c 45 73 63 61 70 65 53 | ADR R0|,EscapeS|
|00003450| 0d 15 54 0f 2e 50 72 69 | 6e 74 45 72 72 6f 72 0d |..T..Pri|ntError.|
|00003460| 15 5e 13 20 20 20 41 44 | 44 20 52 30 2c 52 30 2c |.^. AD|D R0,R0,|
|00003470| 23 34 0d 15 68 17 20 20 | 20 53 57 49 20 22 4f 53 |#4..h. | SWI "OS|
|00003480| 5f 4e 65 77 4c 69 6e 65 | 22 0d 15 72 16 20 20 20 |_NewLine|"..r. |
|00003490| 53 57 49 20 22 4f 53 5f | 57 72 69 74 65 30 22 0d |SWI "OS_|Write0".|
|000034a0| 15 7c 0f 20 20 20 42 20 | 45 43 4c 6f 6f 70 0d 15 |.|. B |ECLoop..|
|000034b0| 86 05 5d 0d 15 90 05 ed | 0d 15 9a 29 ff 28 22 53 |..].....|...).("S|
|000034c0| 41 56 45 20 49 6e 74 4d | 6f 64 75 6c 65 20 22 2b |AVE IntM|odule "+|
|000034d0| c3 7e 53 70 61 63 65 2b | 22 2b 22 2b c3 7e 50 25 |.~Space+|"+"+.~P%|
|000034e0| 29 0d 15 a4 1e ff 28 22 | 53 45 54 54 59 50 45 20 |).....("|SETTYPE |
|000034f0| 49 6e 74 4d 6f 64 75 6c | 65 20 46 46 41 22 29 0d |IntModul|e FFA").|
|00003500| ff | |. | |
+--------+-------------------------+-------------------------+--------+--------+