home *** CD-ROM | disk | FTP | other *** search
Unknown | 1995-04-26 | 12.4 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 01 4d ee 20 85 20 | ee 20 85 20 87 3a 20 f6 |...M. . |. . .: .|
|00000010| 3a 20 f1 20 3b 22 20 69 | 6e 20 21 4d 75 6c 74 69 |: . ;" i|n !Multi|
|00000020| 44 65 73 6b 2e 4d 61 6b | 65 4d 6f 64 2c 20 69 6e |Desk.Mak|eMod, in|
|00000030| 74 65 72 6e 61 6c 20 65 | 72 72 6f 72 20 63 6f 64 |ternal e|rror cod|
|00000040| 65 20 22 3b 9e 3b 20 22 | 2e 22 3a 20 e0 0d 00 02 |e ";.; "|.": ....|
|00000050| 04 0d 00 03 16 64 65 74 | 65 63 74 5f 68 6f 74 6b |.....det|ect_hotk|
|00000060| 65 79 25 20 3d 20 b9 0d | 00 04 04 0d 00 05 20 61 |ey% = ..|...... a|
|00000070| 70 70 6e 61 6d 65 24 20 | 20 20 20 20 20 20 3d 20 |ppname$ | = |
|00000080| 22 4d 75 6c 74 69 44 65 | 73 6b 22 0d 00 06 28 6d |"MultiDe|sk"...(m|
|00000090| 6f 64 75 6c 65 6e 61 6d | 65 24 20 20 20 20 3d 20 |odulenam|e$ = |
|000000a0| 61 70 70 6e 61 6d 65 24 | 20 2b 20 22 4d 6f 64 75 |appname$| + "Modu|
|000000b0| 6c 65 22 0d 00 07 28 66 | 69 6c 74 65 72 6e 61 6d |le"...(f|ilternam|
|000000c0| 65 24 20 20 20 20 3d 20 | 61 70 70 6e 61 6d 65 24 |e$ = |appname$|
|000000d0| 20 2b 20 22 46 69 6c 74 | 65 72 22 0d 00 08 04 0d | + "Filt|er".....|
|000000e0| 00 09 04 0d 00 0a 04 0d | 00 0b 4c f4 20 54 68 65 |........|..L. The|
|000000f0| 73 65 20 61 72 65 20 74 | 68 65 20 6b 65 79 20 6e |se are t|he key n|
|00000100| 75 6d 62 65 72 73 20 66 | 6f 72 20 4f 53 20 6b 65 |umbers f|or OS ke|
|00000110| 79 20 75 70 2f 64 6f 77 | 6e 20 65 76 65 6e 74 73 |y up/dow|n events|
|00000120| 20 28 52 4f 20 33 20 50 | 52 4d 73 20 31 2d 31 35 | (RO 3 P|RMs 1-15|
|00000130| 36 29 2e 0d 00 0c 19 72 | 61 77 5f 75 70 25 20 20 |6).....r|aw_up% |
|00000140| 20 20 20 20 20 20 20 20 | 3d 20 38 39 0d 00 0d 19 | |= 89....|
|00000150| 72 61 77 5f 64 6f 77 6e | 25 20 20 20 20 20 20 20 |raw_down|% |
|00000160| 20 3d 20 39 39 0d 00 0e | 1a 72 61 77 5f 72 69 67 | = 99...|.raw_rig|
|00000170| 68 74 25 20 20 20 20 20 | 20 20 3d 20 31 30 30 0d |ht% | = 100.|
|00000180| 00 0f 19 72 61 77 5f 6c | 65 66 74 25 20 20 20 20 |...raw_l|eft% |
|00000190| 20 20 20 20 3d 20 39 38 | 0d 00 10 04 0d 00 11 3a | = 98|.......:|
|000001a0| f4 20 54 68 65 73 65 20 | 61 72 65 20 74 68 65 20 |. These |are the |
|000001b0| 6b 65 79 20 6e 75 6d 62 | 65 72 73 20 66 6f 72 20 |key numb|ers for |
|000001c0| 57 69 6d 70 20 65 76 65 | 6e 74 5f 4b 45 59 20 65 |Wimp eve|nt_KEY e|
|000001d0| 76 65 6e 74 73 2e 0d 00 | 12 1a 6b 65 79 5f 63 75 |vents...|..key_cu|
|000001e0| 72 73 6f 72 75 70 25 20 | 20 20 20 3d 20 33 39 39 |rsorup% | = 399|
|000001f0| 0d 00 13 1a 6b 65 79 5f | 63 75 72 73 6f 72 64 6f |....key_|cursordo|
|00000200| 77 6e 25 20 20 3d 20 33 | 39 38 0d 00 14 1a 6b 65 |wn% = 3|98....ke|
|00000210| 79 5f 63 75 72 73 6f 72 | 72 69 67 68 74 25 20 3d |y_cursor|right% =|
|00000220| 20 33 39 37 0d 00 15 1a | 6b 65 79 5f 63 75 72 73 | 397....|key_curs|
|00000230| 6f 72 6c 65 66 74 25 20 | 20 3d 20 33 39 36 0d 00 |orleft% | = 396..|
|00000240| 16 04 0d 00 17 3c 61 6c | 74 5f 6b 65 79 25 20 20 |.....<al|t_key% |
|00000250| 20 20 20 20 20 20 20 3d | 20 32 35 36 2d 33 3a 20 | =| 256-3: |
|00000260| f4 20 69 6e 6b 65 79 20 | 63 6f 64 65 20 66 6f 72 |. inkey |code for|
|00000270| 20 74 68 65 20 3c 61 6c | 74 3e 20 6b 65 79 0d 00 | the <al|t> key..|
|00000280| 18 04 0d 00 19 30 6d 75 | 6c 74 69 64 65 73 6b 5f |.....0mu|ltidesk_|
|00000290| 74 61 73 6b 25 20 3d 20 | a4 46 69 6e 64 54 61 73 |task% = |.FindTas|
|000002a0| 6b 48 61 6e 64 6c 65 28 | 20 61 70 70 6e 61 6d 65 |kHandle(| appname|
|000002b0| 24 29 0d 00 1a 5f e7 20 | 6d 75 6c 74 69 64 65 73 |$)..._. |multides|
|000002c0| 6b 5f 74 61 73 6b 25 20 | 3d 20 30 20 85 20 30 2c |k_task% |= 0 . 0,|
|000002d0| 20 22 21 22 20 2b 20 61 | 70 70 6e 61 6d 65 24 20 | "!" + a|ppname$ |
|000002e0| 2b 20 22 2e 4d 61 6b 65 | 4d 6f 64 20 63 61 6e 27 |+ ".Make|Mod can'|
|000002f0| 74 20 66 69 6e 64 20 74 | 68 65 20 22 20 2b 20 61 |t find t|he " + a|
|00000300| 70 70 6e 61 6d 65 24 20 | 2b 20 22 20 74 61 73 6b |ppname$ |+ " task|
|00000310| 22 0d 00 1b 04 0d 00 1c | 35 6d 61 73 6b 25 20 3d |".......|5mask% =|
|00000320| 20 ac 20 28 32 35 36 29 | 3a 20 f4 20 4c 65 74 73 | . (256)|: . Lets|
|00000330| 20 6f 6e 6c 79 20 65 76 | 65 6e 74 5f 4b 45 59 27 | only ev|ent_KEY'|
|00000340| 73 20 74 68 72 6f 75 67 | 68 2e 0d 00 1d 04 0d 00 |s throug|h.......|
|00000350| 1e 04 0d 00 1f 45 f4 20 | 47 65 74 20 69 6e 66 6f |.....E. |Get info|
|00000360| 20 6f 6e 20 74 68 65 20 | 57 69 6e 64 6f 77 4d 61 | on the |WindowMa|
|00000370| 6e 61 67 65 72 20 6d 6f | 64 75 6c 65 2c 20 73 6f |nager mo|dule, so|
|00000380| 20 77 65 20 63 61 6e 20 | 63 6c 61 69 6d 20 69 74 | we can |claim it|
|00000390| 73 20 53 57 49 73 2e 0d | 00 20 42 c8 99 20 22 4f |s SWIs..|. B.. "O|
|000003a0| 53 5f 4d 6f 64 75 6c 65 | 22 2c 20 31 38 2c 20 22 |S_Module|", 18, "|
|000003b0| 57 69 6e 64 6f 77 4d 61 | 6e 61 67 65 72 22 20 b8 |WindowMa|nager" .|
|000003c0| 20 2c 2c 2c 20 6f 6c 64 | 5f 6d 6f 64 75 6c 65 25 | ,,, old|_module%|
|000003d0| 2c 20 6f 6c 64 5f 70 77 | 25 0d 00 21 1f 73 77 69 |, old_pw|%..!.swi|
|000003e0| 63 68 75 6e 6b 25 20 3d | 20 6f 6c 64 5f 6d 6f 64 |chunk% =| old_mod|
|000003f0| 75 6c 65 25 21 26 31 63 | 0d 00 22 30 6f 6c 64 5f |ule%!&1c|.."0old_|
|00000400| 73 77 69 63 6f 64 65 25 | 20 3d 20 6f 6c 64 5f 6d |swicode%| = old_m|
|00000410| 6f 64 75 6c 65 25 20 2b | 20 6f 6c 64 5f 6d 6f 64 |odule% +| old_mod|
|00000420| 75 6c 65 25 21 26 32 30 | 0d 00 23 47 f4 20 54 68 |ule%!&20|..#G. Th|
|00000430| 69 73 20 69 73 20 74 68 | 65 20 61 64 64 72 65 73 |is is th|e addres|
|00000440| 73 20 6f 66 20 57 69 6e | 64 6f 77 4d 61 6e 61 67 |s of Win|dowManag|
|00000450| 65 72 27 73 20 53 57 49 | 20 63 6f 64 65 2c 20 77 |er's SWI| code, w|
|00000460| 68 69 63 68 20 77 65 20 | 6a 75 6d 70 20 74 6f 0d |hich we |jump to.|
|00000470| 00 24 29 f4 20 61 66 74 | 65 72 20 77 65 27 76 65 |.$). aft|er we've|
|00000480| 20 69 6e 74 65 72 63 65 | 70 74 65 64 20 57 69 6d | interce|pted Wim|
|00000490| 70 5f 20 53 57 49 73 2e | 0d 00 25 04 0d 00 26 04 |p_ SWIs.|..%...&.|
|000004a0| 0d 00 27 04 0d 00 28 15 | de 20 63 6f 64 65 73 70 |..'...(.|. codesp|
|000004b0| 61 63 65 25 20 31 30 32 | 34 0d 00 29 04 0d 00 2a |ace% 102|4..)...*|
|000004c0| 14 e3 20 70 61 73 73 30 | 25 20 3d 20 30 20 b8 20 |.. pass0|% = 0 . |
|000004d0| 31 0d 00 2b 0d 50 25 20 | 20 20 20 3d 20 30 0d 00 |1..+.P% | = 0..|
|000004e0| 2c 16 4f 25 20 20 20 20 | 3d 20 63 6f 64 65 73 70 |,.O% |= codesp|
|000004f0| 61 63 65 25 0d 00 2d 4b | 4c 25 20 20 20 20 3d 20 |ace%..-K|L% = |
|00000500| 63 6f 64 65 73 70 61 63 | 65 25 20 2b 20 31 30 32 |codespac|e% + 102|
|00000510| 34 3a 20 f4 20 70 72 65 | 76 65 6e 74 73 20 61 73 |4: . pre|vents as|
|00000520| 73 65 6d 62 6c 65 72 20 | 66 72 6f 6d 20 6f 76 65 |sembler |from ove|
|00000530| 72 77 72 69 74 69 6e 67 | 20 6d 65 6d 6f 72 79 0d |rwriting| memory.|
|00000540| 00 2e 1c 70 61 73 73 25 | 20 3d 20 32 2a 70 61 73 |...pass%| = 2*pas|
|00000550| 73 30 25 20 2b 20 34 20 | 2b 20 38 0d 00 2f 04 0d |s0% + 4 |+ 8../..|
|00000560| 00 30 0f 5b 20 4f 50 54 | 20 70 61 73 73 25 0d 00 |.0.[ OPT| pass%..|
|00000570| 31 04 0d 00 32 04 0d 00 | 33 12 3b 20 4d 6f 64 75 |1...2...|3.; Modu|
|00000580| 6c 65 20 73 70 65 63 73 | 0d 00 34 04 0d 00 35 39 |le specs|..4...59|
|00000590| 20 20 20 20 20 20 20 20 | 45 51 55 44 20 20 20 20 | |EQUD |
|000005a0| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|000005b0| 20 20 20 20 20 20 20 20 | 3b 20 4e 6f 20 73 74 61 | |; No sta|
|000005c0| 72 74 75 70 2e 0d 00 36 | 1e 20 20 20 20 20 20 20 |rtup...6|. |
|000005d0| 20 45 51 55 44 20 20 20 | 20 69 6e 69 74 69 61 6c | EQUD | initial|
|000005e0| 69 73 65 0d 00 37 1c 20 | 20 20 20 20 20 20 20 45 |ise..7. | E|
|000005f0| 51 55 44 20 20 20 20 66 | 69 6e 61 6c 69 73 65 0d |QUD f|inalise.|
|00000600| 00 38 4e 20 20 20 20 20 | 20 20 20 45 51 55 44 20 |.8N | EQUD |
|00000610| 20 20 20 30 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|00000620| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 4e 6f 20 | | ; No |
|00000630| 73 65 72 76 69 63 65 20 | 63 61 6c 6c 73 20 61 72 |service |calls ar|
|00000640| 65 20 64 65 61 6c 74 20 | 77 69 74 68 2e 0d 00 39 |e dealt |with...9|
|00000650| 19 20 20 20 20 20 20 20 | 20 45 51 55 44 20 20 20 |. | EQUD |
|00000660| 20 74 69 74 6c 65 0d 00 | 3a 1e 20 20 20 20 20 20 | title..|:. |
|00000670| 20 20 45 51 55 44 20 20 | 20 20 68 65 6c 70 73 74 | EQUD | helpst|
|00000680| 72 69 6e 67 0d 00 3b 3c | 20 20 20 20 20 20 20 20 |ring..;<| |
|00000690| 45 51 55 44 20 20 20 20 | 30 20 20 20 20 20 20 20 |EQUD |0 |
|000006a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000006b0| 3b 20 4e 6f 20 68 65 6c | 70 20 74 61 62 6c 65 2e |; No hel|p table.|
|000006c0| 0d 00 3c 4f 20 20 20 20 | 20 20 20 20 45 51 55 44 |..<O | EQUD|
|000006d0| 20 20 20 20 73 77 69 63 | 68 75 6e 6b 25 20 20 20 | swic|hunk% |
|000006e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 57 69 | | ; Wi|
|000006f0| 6e 64 6f 77 4d 61 6e 61 | 67 65 72 27 73 20 53 57 |ndowMana|ger's SW|
|00000700| 49 20 63 68 75 6e 6b 20 | 6e 75 6d 62 65 72 2e 0d |I chunk |number..|
|00000710| 00 3d 36 20 20 20 20 20 | 20 20 20 45 51 55 44 20 |.=6 | EQUD |
|00000720| 20 20 20 73 77 69 63 6f | 64 65 20 20 20 20 20 20 | swico|de |
|00000730| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 53 57 49 | | ; SWI|
|00000740| 20 63 6f 64 65 0d 00 3e | 3b 20 20 20 20 20 20 20 | code..>|; |
|00000750| 20 45 51 55 44 20 20 20 | 20 30 20 20 20 20 20 20 | EQUD | 0 |
|00000760| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000770| 20 3b 20 4e 6f 20 53 57 | 49 20 74 61 62 6c 65 2e | ; No SW|I table.|
|00000780| 0d 00 3f 3a 20 20 20 20 | 20 20 20 20 45 51 55 44 |..?: | EQUD|
|00000790| 20 20 20 20 30 20 20 20 | 20 20 20 20 20 20 20 20 | 0 | |
|000007a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 4e 6f | | ; No|
|000007b0| 20 53 57 49 20 63 6f 64 | 65 2e 0d 00 40 04 0d 00 | SWI cod|e...@...|
|000007c0| 41 04 0d 00 42 26 3b 20 | 53 74 6f 72 61 67 65 20 |A...B&; |Storage |
|000007d0| 73 70 61 63 65 20 66 6f | 72 20 63 6f 6e 73 74 61 |space fo|r consta|
|000007e0| 6e 74 73 20 65 74 63 2e | 0d 00 43 04 0d 00 44 3c |nts etc.|..C...D<|
|000007f0| 2e 4d 44 5f 74 61 73 6b | 68 61 6e 64 6c 65 5f 6c |.MD_task|handle_l|
|00000800| 6f 3a 20 20 20 20 20 20 | 45 51 55 44 20 6d 75 6c |o: |EQUD mul|
|00000810| 74 69 64 65 73 6b 5f 74 | 61 73 6b 25 20 80 20 26 |tidesk_t|ask% . &|
|00000820| 30 30 30 30 46 46 46 46 | 0d 00 45 30 2e 4d 44 5f |0000FFFF|..E0.MD_|
|00000830| 74 61 73 6b 68 61 6e 64 | 6c 65 3a 20 20 20 20 20 |taskhand|le: |
|00000840| 20 20 20 20 45 51 55 44 | 20 6d 75 6c 74 69 64 65 | EQUD| multide|
|00000850| 73 6b 5f 74 61 73 6b 25 | 0d 00 46 04 0d 00 47 5a |sk_task%|..F...GZ|
|00000860| 2e 6d 61 73 6b 3a 20 20 | 20 20 20 20 20 20 20 20 |.mask: | |
|00000870| 20 20 20 20 20 20 20 20 | 45 51 55 44 20 6d 61 73 | |EQUD mas|
|00000880| 6b 25 20 20 20 20 20 20 | 3b 20 6c 65 74 73 20 74 |k% |; lets t|
|00000890| 68 72 6f 75 67 68 20 65 | 76 65 6e 74 5f 4b 45 59 |hrough e|vent_KEY|
|000008a0| 73 20 66 6f 72 20 74 68 | 65 20 70 6f 73 74 2d 66 |s for th|e post-f|
|000008b0| 69 6c 74 65 72 2e 0d 00 | 48 04 0d 00 49 3b 2e 74 |ilter...|H...I;.t|
|000008c0| 69 74 6c 65 3a 20 20 20 | 20 20 20 20 20 20 20 20 |itle: | |
|000008d0| 20 20 20 20 20 20 45 51 | 55 53 20 6d 6f 64 75 6c | EQ|US modul|
|000008e0| 65 6e 61 6d 65 24 3a 20 | 45 51 55 42 20 30 3a 20 |ename$: |EQUB 0: |
|000008f0| 41 4c 49 47 4e 0d 00 4a | 3b 2e 66 69 6c 74 65 72 |ALIGN..J|;.filter|
|00000900| 6e 61 6d 65 3a 20 20 20 | 20 20 20 20 20 20 20 20 |name: | |
|00000910| 20 45 51 55 53 20 66 69 | 6c 74 65 72 6e 61 6d 65 | EQUS fi|ltername|
|00000920| 24 3a 20 45 51 55 42 20 | 30 3a 20 41 4c 49 47 4e |$: EQUB |0: ALIGN|
|00000930| 0d 00 4b 04 0d 00 4c 33 | 2e 70 6f 6c 6c 62 6c 6f |..K...L3|.pollblo|
|00000940| 63 6b 3a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ck: | |
|00000950| 45 51 55 53 20 c4 20 36 | 34 2c 20 bd 28 30 29 29 |EQUS . 6|4, .(0))|
|00000960| 3a 20 41 4c 49 47 4e 0d | 00 4d 04 0d 00 4e 53 2e |: ALIGN.|.M...NS.|
|00000970| 68 65 6c 70 73 74 72 69 | 6e 67 3a 20 20 20 20 20 |helpstri|ng: |
|00000980| 20 20 20 20 20 20 20 45 | 51 55 53 20 6d 6f 64 75 | E|QUS modu|
|00000990| 6c 65 6e 61 6d 65 24 2b | bd 28 39 29 2b 22 31 2e |lename$+|.(9)+"1.|
|000009a0| 30 31 20 28 32 36 20 41 | 70 72 20 31 39 39 35 29 |01 (26 A|pr 1995)|
|000009b0| 20 4a 75 6c 69 61 6e 20 | 53 6d 69 74 68 22 0d 00 | Julian |Smith"..|
|000009c0| 4f 29 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |O) | |
|000009d0| 20 20 20 20 20 20 20 20 | 20 20 45 51 55 42 20 30 | | EQUB 0|
|000009e0| 3a 20 41 4c 49 47 4e 0d | 00 50 04 0d 00 51 2d 2e |: ALIGN.|.P...Q-.|
|000009f0| 6f 6c 64 73 77 69 63 6f | 64 65 3a 20 20 20 20 20 |oldswico|de: |
|00000a00| 20 20 20 20 20 20 20 45 | 51 55 44 20 6f 6c 64 5f | E|QUD old_|
|00000a10| 73 77 69 63 6f 64 65 25 | 0d 00 52 28 2e 6f 6c 64 |swicode%|..R(.old|
|00000a20| 70 77 3a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |pw: | |
|00000a30| 20 20 20 20 45 51 55 44 | 20 6f 6c 64 5f 70 77 25 | EQUD| old_pw%|
|00000a40| 0d 00 53 04 0d 00 54 05 | 5d 0d 00 55 04 0d 00 56 |..S...T.|]..U...V|
|00000a50| 04 0d 00 57 04 0d 00 58 | 04 0d 00 59 0f 5b 20 4f |...W...X|...Y.[ O|
|00000a60| 50 54 20 70 61 73 73 25 | 0d 00 5a 04 0d 00 5b 3d |PT pass%|..Z...[=|
|00000a70| 2e 73 77 69 63 6f 64 65 | 20 20 20 20 20 20 20 20 |.swicode| |
|00000a80| 3b 20 57 65 20 67 65 74 | 20 66 69 72 73 74 20 72 |; We get| first r|
|00000a90| 65 66 75 73 61 6c 20 6f | 6e 20 61 6c 6c 20 57 69 |efusal o|n all Wi|
|00000aa0| 6d 70 5f 20 53 57 49 73 | 2e 0d 00 5c 4f 20 20 20 |mp_ SWIs|...\O |
|00000ab0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 62 | | ; b|
|00000ac0| 65 63 61 75 73 65 20 74 | 68 69 73 20 6d 6f 64 75 |ecause t|his modu|
|00000ad0| 6c 65 20 63 6c 61 69 6d | 73 20 74 68 65 20 57 69 |le claim|s the Wi|
|00000ae0| 6e 64 6f 77 4d 61 6e 61 | 67 65 72 27 73 20 53 57 |ndowMana|ger's SW|
|00000af0| 49 20 63 68 75 6e 6b 2e | 0d 00 5d 50 20 20 20 20 |I chunk.|..]P |
|00000b00| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 57 65 | | ; We|
|00000b10| 20 61 6c 77 61 79 73 20 | 70 61 73 73 20 63 6f 6e | always |pass con|
|00000b20| 74 72 6f 6c 20 6f 6e 20 | 74 6f 20 74 68 65 20 57 |trol on |to the W|
|00000b30| 69 6e 64 6f 77 4d 61 6e | 61 67 65 72 27 73 20 53 |indowMan|ager's S|
|00000b40| 57 49 20 63 6f 64 65 2c | 0d 00 5e 4d 20 20 20 20 |WI code,|..^M |
|00000b50| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 61 73 | | ; as|
|00000b60| 20 77 65 20 61 72 65 20 | 6a 75 73 74 20 6f 62 73 | we are |just obs|
|00000b70| 65 72 76 69 6e 67 20 77 | 69 6e 64 6f 77 2d 6d 6f |erving w|indow-mo|
|00000b80| 76 65 6d 65 6e 74 73 2c | 20 72 61 74 68 65 72 20 |vements,| rather |
|00000b90| 74 68 61 6e 20 0d 00 5f | 28 20 20 20 20 20 20 20 |than .._|( |
|00000ba0| 20 20 20 20 20 20 20 20 | 20 3b 20 64 65 61 6c 69 | | ; deali|
|00000bb0| 6e 67 20 77 69 74 68 20 | 74 68 65 6d 2e 0d 00 60 |ng with |them...`|
|00000bc0| 04 0d 00 61 4d 20 20 20 | 20 20 20 20 20 43 4d 50 |...aM | CMP|
|00000bd0| 20 20 20 20 20 72 31 31 | 2c 20 23 28 20 26 34 30 | r11|, #( &40|
|00000be0| 30 43 35 20 2d 20 26 34 | 30 30 43 30 29 20 3b 20 |0C5 - &4|00C0) ; |
|00000bf0| 53 57 49 20 6e 75 6d 62 | 65 72 20 66 6f 72 20 57 |SWI numb|er for W|
|00000c00| 69 6d 70 5f 4f 70 65 6e | 57 69 6e 64 6f 77 0d 00 |imp_Open|Window..|
|00000c10| 62 1c 20 20 20 20 20 20 | 20 20 42 45 51 20 20 20 |b. | BEQ |
|00000c20| 20 20 73 65 6e 64 6f 70 | 65 6e 0d 00 63 4e 20 20 | sendop|en..cN |
|00000c30| 20 20 20 20 20 20 43 4d | 50 20 20 20 20 20 72 31 | CM|P r1|
|00000c40| 31 2c 20 23 28 20 26 34 | 30 30 43 36 20 2d 20 26 |1, #( &4|00C6 - &|
|00000c50| 34 30 30 43 30 29 20 3b | 20 53 57 49 20 6e 75 6d |400C0) ;| SWI num|
|00000c60| 62 65 72 20 66 6f 72 20 | 57 69 6d 70 5f 43 6c 6f |ber for |Wimp_Clo|
|00000c70| 73 65 57 69 6e 64 6f 77 | 0d 00 64 1d 20 20 20 20 |seWindow|..d. |
|00000c80| 20 20 20 20 42 45 51 20 | 20 20 20 20 73 65 6e 64 | BEQ | send|
|00000c90| 63 6c 6f 73 65 0d 00 65 | 4f 20 20 20 20 20 20 20 |close..e|O |
|00000ca0| 20 43 4d 50 20 20 20 20 | 20 72 31 31 2c 20 23 28 | CMP | r11, #(|
|00000cb0| 20 26 34 30 30 43 33 20 | 2d 20 26 34 30 30 43 30 | &400C3 |- &400C0|
|00000cc0| 29 20 3b 20 53 57 49 20 | 6e 75 6d 62 65 72 20 66 |) ; SWI |number f|
|00000cd0| 6f 72 20 57 69 6d 70 5f | 44 65 6c 65 74 65 57 69 |or Wimp_|DeleteWi|
|00000ce0| 6e 64 6f 77 0d 00 66 1d | 20 20 20 20 20 20 20 20 |ndow..f.| |
|00000cf0| 42 45 51 20 20 20 20 20 | 73 65 6e 64 63 6c 6f 73 |BEQ |sendclos|
|00000d00| 65 0d 00 67 04 0d 00 68 | 57 20 20 20 20 20 20 20 |e..g...h|W |
|00000d10| 20 3b 20 50 61 73 73 20 | 74 68 65 20 53 57 49 20 | ; Pass |the SWI |
|00000d20| 6f 6e 20 74 6f 20 74 68 | 65 20 6f 72 69 67 69 6e |on to th|e origin|
|00000d30| 61 6c 20 57 69 6e 64 6f | 77 4d 61 6e 61 67 65 72 |al Windo|wManager|
|00000d40| 20 6d 6f 64 75 6c 65 27 | 73 20 53 57 49 2d 68 61 | module'|s SWI-ha|
|00000d50| 6e 64 6c 69 6e 67 20 63 | 6f 64 65 2e 0d 00 69 54 |ndling c|ode...iT|
|00000d60| 20 20 20 20 20 20 20 20 | 3b 20 4d 75 73 74 20 61 | |; Must a|
|00000d70| 6c 73 6f 20 67 69 76 65 | 20 74 68 65 20 57 69 6e |lso give| the Win|
|00000d80| 64 6f 77 4d 61 6e 61 67 | 65 72 20 2a 69 74 27 73 |dowManag|er *it's|
|00000d90| 2a 20 72 31 32 20 76 61 | 6c 75 65 2c 20 72 61 74 |* r12 va|lue, rat|
|00000da0| 68 65 72 20 74 68 61 6e | 20 6f 75 72 73 2e 2e 2e |her than| ours...|
|00000db0| 0d 00 6a 1e 20 20 20 20 | 20 20 20 20 41 44 52 20 |..j. | ADR |
|00000dc0| 20 20 20 20 72 31 32 2c | 20 6f 6c 64 70 77 0d 00 | r12,| oldpw..|
|00000dd0| 6b 23 20 20 20 20 20 20 | 20 20 4c 44 52 20 20 20 |k# | LDR |
|00000de0| 20 20 50 43 2c 20 20 6f | 6c 64 73 77 69 63 6f 64 | PC, o|ldswicod|
|00000df0| 65 0d 00 6c 04 0d 00 6d | 42 2e 73 65 6e 64 6f 70 |e..l...m|B.sendop|
|00000e00| 65 6e 20 20 20 20 20 20 | 20 3b 20 53 6f 6d 65 6f |en | ; Someo|
|00000e10| 6e 65 20 69 73 20 6d 61 | 6b 69 6e 67 20 61 20 63 |ne is ma|king a c|
|00000e20| 61 6c 6c 20 74 6f 20 57 | 69 6d 70 5f 4f 70 65 6e |all to W|imp_Open|
|00000e30| 57 69 6e 64 6f 77 2e 0d | 00 6e 04 0d 00 6f 28 20 |Window..|.n...o( |
|00000e40| 20 20 20 20 20 20 20 53 | 54 4d 46 44 20 20 20 72 | S|TMFD r|
|00000e50| 31 33 21 2c 20 7b 20 72 | 30 2d 72 31 32 2c 20 72 |13!, { r|0-r12, r|
|00000e60| 31 34 7d 0d 00 70 0c 20 | 20 20 20 20 20 20 20 0d |14}..p. | .|
|00000e70| 00 71 39 20 20 20 20 20 | 20 20 20 3b 20 43 68 65 |.q9 | ; Che|
|00000e80| 63 6b 20 77 68 65 74 68 | 65 72 20 4d 75 6c 74 69 |ck wheth|er Multi|
|00000e90| 44 65 73 6b 20 69 73 20 | 74 68 65 20 63 75 72 72 |Desk is |the curr|
|00000ea0| 65 6e 74 20 74 61 73 6b | 0d 00 72 1a 20 20 20 20 |ent task|..r. |
|00000eb0| 20 20 20 20 4d 4f 56 20 | 20 20 20 20 72 30 2c 20 | MOV | r0, |
|00000ec0| 23 35 0d 00 73 27 20 20 | 20 20 20 20 20 20 53 57 |#5..s' | SW|
|00000ed0| 49 20 20 20 20 20 22 58 | 57 69 6d 70 5f 52 65 61 |I "X|Wimp_Rea|
|00000ee0| 64 53 79 73 49 6e 66 6f | 22 0d 00 74 25 20 20 20 |dSysInfo|"..t% |
|00000ef0| 20 20 20 20 20 4c 44 52 | 20 20 20 20 20 72 31 2c | LDR| r1,|
|00000f00| 20 4d 44 5f 74 61 73 6b | 68 61 6e 64 6c 65 0d 00 | MD_task|handle..|
|00000f10| 75 1a 20 20 20 20 20 20 | 20 20 43 4d 50 20 20 20 |u. | CMP |
|00000f20| 20 20 72 30 2c 20 72 31 | 0d 00 76 28 20 20 20 20 | r0, r1|..v( |
|00000f30| 20 20 20 20 4c 44 4d 46 | 44 20 20 20 72 31 33 21 | LDMF|D r13!|
|00000f40| 2c 20 7b 20 72 30 2d 72 | 31 32 2c 20 72 31 34 7d |, { r0-r|12, r14}|
|00000f50| 0d 00 77 53 20 20 20 20 | 20 20 20 20 42 45 51 20 |..wS | BEQ |
|00000f60| 20 20 20 20 69 6e 74 65 | 72 63 65 70 74 71 75 69 | inte|rceptqui|
|00000f70| 74 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 49 |t | ; I|
|00000f80| 67 6e 6f 72 65 20 69 66 | 20 63 75 72 72 65 6e 74 |gnore if| current|
|00000f90| 20 74 61 73 6b 20 69 73 | 20 4d 75 6c 74 69 44 65 | task is| MultiDe|
|00000fa0| 73 6b 2e 0d 00 78 0c 20 | 20 20 20 20 20 20 20 0d |sk...x. | .|
|00000fb0| 00 79 0c 20 20 20 20 20 | 20 20 20 0d 00 7a 5a 20 |.y. | ..zZ |
|00000fc0| 20 20 20 20 20 20 20 3b | 20 49 66 20 77 65 20 72 | ;| If we r|
|00000fd0| 65 61 63 68 20 68 65 72 | 65 2c 20 73 6f 6d 65 20 |each her|e, some |
|00000fe0| 74 61 73 6b 20 6f 74 68 | 65 72 20 74 68 61 6e 20 |task oth|er than |
|00000ff0| 4d 75 6c 74 69 44 65 73 | 6b 20 68 61 73 20 63 61 |MultiDes|k has ca|
|00001000| 6c 6c 65 64 20 57 69 6d | 70 5f 4f 70 65 6e 57 69 |lled Wim|p_OpenWi|
|00001010| 6e 64 6f 77 2c 0d 00 7b | 58 20 20 20 20 20 20 20 |ndow,..{|X |
|00001020| 20 3b 20 73 6f 20 77 65 | 20 73 65 6e 64 20 61 6e | ; so we| send an|
|00001030| 20 65 76 65 6e 74 5f 4f | 50 45 4e 20 74 6f 20 4d | event_O|PEN to M|
|00001040| 75 6c 74 69 44 65 73 6b | 20 77 69 74 68 20 74 68 |ultiDesk| with th|
|00001050| 65 20 57 69 6d 70 5f 4f | 70 65 6e 57 69 6e 64 6f |e Wimp_O|penWindo|
|00001060| 77 20 70 61 72 61 6d 65 | 74 65 72 73 2e 0d 00 7c |w parame|ters...||
|00001070| 55 20 20 20 20 20 20 20 | 20 3b 20 4d 75 6c 74 69 |U | ; Multi|
|00001080| 44 65 73 6b 20 63 61 6e | 20 74 68 65 6e 20 75 73 |Desk can| then us|
|00001090| 65 20 74 68 65 20 69 6e | 66 6f 20 74 6f 20 75 70 |e the in|fo to up|
|000010a0| 64 61 74 65 20 69 74 27 | 73 20 76 69 72 74 75 61 |date it'|s virtua|
|000010b0| 6c 20 64 65 73 6b 74 6f | 70 20 64 69 73 70 6c 61 |l deskto|p displa|
|000010c0| 79 2e 0d 00 7d 0c 20 20 | 20 20 20 20 20 20 0d 00 |y...}. | ..|
|000010d0| 7e 28 20 20 20 20 20 20 | 20 20 53 54 4d 46 44 20 |~( | STMFD |
|000010e0| 20 20 72 31 33 21 2c 20 | 7b 20 72 30 2d 72 31 32 | r13!, |{ r0-r12|
|000010f0| 2c 20 72 31 34 7d 0d 00 | 7f 27 20 20 20 20 20 20 |, r14}..|.' |
|00001100| 20 20 4c 44 52 20 20 20 | 20 20 72 32 2c 20 20 20 | LDR | r2, |
|00001110| 4d 44 5f 74 61 73 6b 68 | 61 6e 64 6c 65 0d 00 80 |MD_taskh|andle...|
|00001120| 1c 20 20 20 20 20 20 20 | 20 4d 4f 56 20 20 20 20 |. | MOV |
|00001130| 20 72 30 2c 20 20 20 23 | 32 0d 00 81 27 20 20 20 | r0, #|2...' |
|00001140| 20 20 20 20 20 53 57 49 | 20 20 20 20 20 22 58 57 | SWI| "XW|
|00001150| 69 6d 70 5f 53 65 6e 64 | 4d 65 73 73 61 67 65 22 |imp_Send|Message"|
|00001160| 0d 00 82 28 20 20 20 20 | 20 20 20 20 4c 44 4d 46 |...( | LDMF|
|00001170| 44 20 20 20 72 31 33 21 | 2c 20 7b 20 72 30 2d 72 |D r13!|, { r0-r|
|00001180| 31 32 2c 20 72 31 34 7d | 0d 00 83 1e 20 20 20 20 |12, r14}|.... |
|00001190| 20 20 20 20 41 44 52 20 | 20 20 20 20 72 31 32 2c | ADR | r12,|
|000011a0| 20 6f 6c 64 70 77 0d 00 | 84 55 20 20 20 20 20 20 | oldpw..|.U |
|000011b0| 20 20 4c 44 52 20 20 20 | 20 20 50 43 2c 20 20 6f | LDR | PC, o|
|000011c0| 6c 64 73 77 69 63 6f 64 | 65 20 20 20 20 20 20 20 |ldswicod|e |
|000011d0| 20 20 20 3b 20 42 72 61 | 6e 63 68 20 74 6f 20 74 | ; Bra|nch to t|
|000011e0| 68 65 20 53 57 49 2d 68 | 61 6e 64 6c 69 6e 67 20 |he SWI-h|andling |
|000011f0| 63 6f 64 65 20 69 6e 73 | 69 64 65 0d 00 85 48 20 |code ins|ide...H |
|00001200| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001210| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001220| 20 20 20 20 20 20 20 20 | 3b 20 74 68 65 20 57 69 | |; the Wi|
|00001230| 6e 64 6f 77 4d 61 6e 61 | 67 65 72 20 6d 6f 64 75 |ndowMana|ger modu|
|00001240| 6c 65 2e 0d 00 86 04 0d | 00 87 4a 2e 73 65 6e 64 |le......|..J.send|
|00001250| 63 6c 6f 73 65 20 20 20 | 20 20 20 3b 20 53 6f 6d |close | ; Som|
|00001260| 65 6f 6e 65 20 69 73 20 | 6d 61 6b 69 6e 67 20 61 |eone is |making a|
|00001270| 20 63 61 6c 6c 20 74 6f | 20 57 69 6d 70 5f 43 6c | call to| Wimp_Cl|
|00001280| 6f 73 65 2f 44 65 6c 65 | 74 65 57 69 6e 64 6f 77 |ose/Dele|teWindow|
|00001290| 2e 0d 00 88 04 0d 00 89 | 28 20 20 20 20 20 20 20 |........|( |
|000012a0| 20 53 54 4d 46 44 20 20 | 20 72 31 33 21 2c 20 7b | STMFD | r13!, {|
|000012b0| 20 72 30 2d 72 31 32 2c | 20 72 31 34 7d 0d 00 8a | r0-r12,| r14}...|
|000012c0| 19 20 20 20 20 20 20 20 | 20 3b 53 57 49 20 20 20 |. | ;SWI |
|000012d0| 20 20 26 31 30 37 0d 00 | 8b 1a 20 20 20 20 20 20 | &107..|.. |
|000012e0| 20 20 4d 4f 56 20 20 20 | 20 20 72 30 2c 20 23 35 | MOV | r0, #5|
|000012f0| 0d 00 8c 27 20 20 20 20 | 20 20 20 20 53 57 49 20 |...' | SWI |
|00001300| 20 20 20 20 22 58 57 69 | 6d 70 5f 52 65 61 64 53 | "XWi|mp_ReadS|
|00001310| 79 73 49 6e 66 6f 22 0d | 00 8d 25 20 20 20 20 20 |ysInfo".|..% |
|00001320| 20 20 20 4c 44 52 20 20 | 20 20 20 72 31 2c 20 4d | LDR | r1, M|
|00001330| 44 5f 74 61 73 6b 68 61 | 6e 64 6c 65 0d 00 8e 1a |D_taskha|ndle....|
|00001340| 20 20 20 20 20 20 20 20 | 43 4d 50 20 20 20 20 20 | |CMP |
|00001350| 72 30 2c 20 72 31 0d 00 | 8f 28 20 20 20 20 20 20 |r0, r1..|.( |
|00001360| 20 20 4c 44 4d 46 44 20 | 20 20 72 31 33 21 2c 20 | LDMFD | r13!, |
|00001370| 7b 20 72 30 2d 72 31 32 | 2c 20 72 31 34 7d 0d 00 |{ r0-r12|, r14}..|
|00001380| 90 21 20 20 20 20 20 20 | 20 20 42 45 51 20 20 20 |.! | BEQ |
|00001390| 20 20 69 6e 74 65 72 63 | 65 70 74 71 75 69 74 0d | interc|eptquit.|
|000013a0| 00 91 0c 20 20 20 20 20 | 20 20 20 0d 00 92 28 20 |... | ...( |
|000013b0| 20 20 20 20 20 20 20 53 | 54 4d 46 44 20 20 20 72 | S|TMFD r|
|000013c0| 31 33 21 2c 20 7b 20 72 | 30 2d 72 31 32 2c 20 72 |13!, { r|0-r12, r|
|000013d0| 31 34 7d 0d 00 93 27 20 | 20 20 20 20 20 20 20 4c |14}...' | L|
|000013e0| 44 52 20 20 20 20 20 72 | 32 2c 20 20 20 4d 44 5f |DR r|2, MD_|
|000013f0| 74 61 73 6b 68 61 6e 64 | 6c 65 0d 00 94 1c 20 20 |taskhand|le.... |
|00001400| 20 20 20 20 20 20 4d 4f | 56 20 20 20 20 20 72 30 | MO|V r0|
|00001410| 2c 20 20 20 23 33 0d 00 | 95 27 20 20 20 20 20 20 |, #3..|.' |
|00001420| 20 20 53 57 49 20 20 20 | 20 20 22 58 57 69 6d 70 | SWI | "XWimp|
|00001430| 5f 53 65 6e 64 4d 65 73 | 73 61 67 65 22 0d 00 96 |_SendMes|sage"...|
|00001440| 28 20 20 20 20 20 20 20 | 20 4c 44 4d 46 44 20 20 |( | LDMFD |
|00001450| 20 72 31 33 21 2c 20 7b | 20 72 30 2d 72 31 32 2c | r13!, {| r0-r12,|
|00001460| 20 72 31 34 7d 0d 00 97 | 1e 20 20 20 20 20 20 20 | r14}...|. |
|00001470| 20 41 44 52 20 20 20 20 | 20 72 31 32 2c 20 6f 6c | ADR | r12, ol|
|00001480| 64 70 77 0d 00 98 23 20 | 20 20 20 20 20 20 20 4c |dpw...# | L|
|00001490| 44 52 20 20 20 20 20 50 | 43 2c 20 20 6f 6c 64 73 |DR P|C, olds|
|000014a0| 77 69 63 6f 64 65 0d 00 | 99 0c 20 20 20 20 20 20 |wicode..|.. |
|000014b0| 20 20 0d 00 9a 12 2e 69 | 6e 74 65 72 63 65 70 74 | .....i|ntercept|
|000014c0| 71 75 69 74 0d 00 9b 1e | 20 20 20 20 20 20 20 20 |quit....| |
|000014d0| 41 44 52 20 20 20 20 20 | 72 31 32 2c 20 6f 6c 64 |ADR |r12, old|
|000014e0| 70 77 0d 00 9c 23 20 20 | 20 20 20 20 20 20 4c 44 |pw...# | LD|
|000014f0| 52 20 20 20 20 20 50 43 | 2c 20 20 6f 6c 64 73 77 |R PC|, oldsw|
|00001500| 69 63 6f 64 65 0d 00 9d | 04 0d 00 9e 04 0d 00 9f |icode...|........|
|00001510| 05 5d 0d 00 a0 04 0d 00 | a1 04 0d 00 a2 04 0d 00 |.]......|........|
|00001520| a3 04 0d 00 a4 0f 5b 20 | 4f 50 54 20 70 61 73 73 |......[ |OPT pass|
|00001530| 25 0d 00 a5 04 0d 00 a6 | 0f 2e 69 6e 69 74 69 61 |%.......|..initia|
|00001540| 6c 69 73 65 0d 00 a7 04 | 0d 00 a8 26 20 20 20 20 |lise....|...& |
|00001550| 20 20 20 20 53 54 4d 46 | 44 20 20 20 72 31 33 21 | STMF|D r13!|
|00001560| 2c 20 7b 72 30 2d 72 31 | 31 2c 72 31 34 7d 0d 00 |, {r0-r1|1,r14}..|
|00001570| a9 05 5d 0d 00 aa 04 0d | 00 ab 16 e7 20 64 65 74 |..].....|.... det|
|00001580| 65 63 74 5f 68 6f 74 6b | 65 79 25 20 8c 0d 00 ac |ect_hotk|ey% ....|
|00001590| 0f 5b 20 4f 50 54 20 70 | 61 73 73 25 0d 00 ad 04 |.[ OPT p|ass%....|
|000015a0| 0d 00 ae 22 20 20 20 20 | 20 20 20 20 41 44 52 20 |..." | ADR |
|000015b0| 20 20 20 20 72 30 2c 20 | 66 69 6c 74 65 72 6e 61 | r0, |filterna|
|000015c0| 6d 65 0d 00 af 22 20 20 | 20 20 20 20 20 20 41 44 |me..." | AD|
|000015d0| 52 20 20 20 20 20 72 31 | 2c 20 66 69 6c 74 65 72 |R r1|, filter|
|000015e0| 63 6f 64 65 0d 00 b0 46 | 20 20 20 20 20 20 20 20 |code...F| |
|000015f0| 4d 4f 56 20 20 20 20 20 | 72 32 2c 20 23 30 20 20 |MOV |r2, #0 |
|00001600| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001610| 20 3b 20 52 65 66 65 72 | 65 6e 63 65 20 70 61 73 | ; Refer|ence pas|
|00001620| 73 65 64 20 69 6e 20 72 | 31 32 0d 00 b1 39 20 20 |sed in r|12...9 |
|00001630| 20 20 20 20 20 20 4d 4f | 56 20 20 20 20 20 72 33 | MO|V r3|
|00001640| 2c 20 23 30 20 20 20 20 | 20 20 20 20 20 20 20 20 |, #0 | |
|00001650| 20 20 20 20 20 20 20 3b | 20 41 6c 6c 20 74 61 73 | ;| All tas|
|00001660| 6b 73 2e 0d 00 b2 1c 20 | 20 20 20 20 20 20 20 4c |ks..... | L|
|00001670| 44 52 20 20 20 20 20 72 | 34 2c 20 6d 61 73 6b 0d |DR r|4, mask.|
|00001680| 00 b3 30 20 20 20 20 20 | 20 20 20 53 57 49 20 20 |..0 | SWI |
|00001690| 20 20 20 22 58 46 69 6c | 74 65 72 5f 52 65 67 69 | "XFil|ter_Regi|
|000016a0| 73 74 65 72 50 6f 73 74 | 46 69 6c 74 65 72 22 0d |sterPost|Filter".|
|000016b0| 00 b4 04 0d 00 b5 3e 20 | 20 20 20 20 20 20 20 4d |......> | M|
|000016c0| 4f 56 20 20 20 20 20 72 | 30 2c 20 23 31 36 20 20 |OV r|0, #16 |
|000016d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|000016e0| 20 43 6c 61 69 6d 20 4f | 53 20 65 76 65 6e 74 73 | Claim O|S events|
|000016f0| 2e 0d 00 b6 21 20 20 20 | 20 20 20 20 20 41 44 52 |....! | ADR|
|00001700| 20 20 20 20 20 72 31 2c | 20 65 76 65 6e 74 63 6f | r1,| eventco|
|00001710| 64 65 0d 00 b7 1a 20 20 | 20 20 20 20 20 20 4d 4f |de.... | MO|
|00001720| 56 20 20 20 20 20 72 32 | 2c 20 23 30 0d 00 b8 1f |V r2|, #0....|
|00001730| 20 20 20 20 20 20 20 20 | 53 57 49 20 20 20 20 20 | |SWI |
|00001740| 22 58 4f 53 5f 43 6c 61 | 69 6d 22 0d 00 b9 04 0d |"XOS_Cla|im".....|
|00001750| 00 ba 43 20 20 20 20 20 | 20 20 20 4d 4f 56 20 20 |..C | MOV |
|00001760| 20 20 20 72 30 2c 20 23 | 31 34 20 20 20 20 20 20 | r0, #|14 |
|00001770| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 45 6e 61 | | ; Ena|
|00001780| 62 6c 65 20 4f 53 20 6b | 65 79 20 65 76 65 6e 74 |ble OS k|ey event|
|00001790| 73 2e 0d 00 bb 1b 20 20 | 20 20 20 20 20 20 4d 4f |s..... | MO|
|000017a0| 56 20 20 20 20 20 72 31 | 2c 20 23 31 31 0d 00 bc |V r1|, #11...|
|000017b0| 1e 20 20 20 20 20 20 20 | 20 53 57 49 20 20 20 20 |. | SWI |
|000017c0| 20 22 58 4f 53 5f 42 79 | 74 65 22 0d 00 bd 05 5d | "XOS_By|te"....]|
|000017d0| 0d 00 be 05 cd 0d 00 bf | 04 0d 00 c0 0f 5b 20 4f |........|.....[ O|
|000017e0| 50 54 20 70 61 73 73 25 | 0d 00 c1 26 20 20 20 20 |PT pass%|...& |
|000017f0| 20 20 20 20 4c 44 4d 46 | 44 20 20 20 72 31 33 21 | LDMF|D r13!|
|00001800| 2c 20 7b 72 30 2d 72 31 | 31 2c 50 43 7d 5e 0d 00 |, {r0-r1|1,PC}^..|
|00001810| c2 04 0d 00 c3 05 5d 0d | 00 c4 04 0d 00 c5 04 0d |......].|........|
|00001820| 00 c6 04 0d 00 c7 0f 5b | 20 4f 50 54 20 70 61 73 |.......[| OPT pas|
|00001830| 73 25 0d 00 c8 04 0d 00 | c9 0d 2e 66 69 6e 61 6c |s%......|...final|
|00001840| 69 73 65 0d 00 ca 04 0d | 00 cb 04 0d 00 cc 26 20 |ise.....|......& |
|00001850| 20 20 20 20 20 20 20 53 | 54 4d 46 44 20 20 20 72 | S|TMFD r|
|00001860| 31 33 21 2c 20 7b 72 30 | 2d 72 31 31 2c 52 31 34 |13!, {r0|-r11,R14|
|00001870| 7d 0d 00 cd 05 5d 0d 00 | ce 04 0d 00 cf 04 0d 00 |}....]..|........|
|00001880| d0 04 0d 00 d1 04 0d 00 | d2 16 e7 20 64 65 74 65 |........|... dete|
|00001890| 63 74 5f 68 6f 74 6b 65 | 79 25 20 8c 0d 00 d3 0f |ct_hotke|y% .....|
|000018a0| 5b 20 4f 50 54 20 70 61 | 73 73 25 0d 00 d4 04 0d |[ OPT pa|ss%.....|
|000018b0| 00 d5 41 20 20 20 20 20 | 20 20 20 41 44 52 20 20 |..A | ADR |
|000018c0| 20 20 20 72 30 2c 20 66 | 69 6c 74 65 72 6e 61 6d | r0, f|ilternam|
|000018d0| 65 20 20 20 20 20 20 20 | 20 20 20 3b 20 44 65 2d |e | ; De-|
|000018e0| 72 65 67 69 73 74 65 72 | 20 66 69 6c 74 65 72 2e |register| filter.|
|000018f0| 0d 00 d6 22 20 20 20 20 | 20 20 20 20 41 44 52 20 |..." | ADR |
|00001900| 20 20 20 20 72 31 2c 20 | 66 69 6c 74 65 72 63 6f | r1, |filterco|
|00001910| 64 65 0d 00 d7 1a 20 20 | 20 20 20 20 20 20 4d 4f |de.... | MO|
|00001920| 56 20 20 20 20 20 72 32 | 2c 20 23 30 0d 00 d8 1a |V r2|, #0....|
|00001930| 20 20 20 20 20 20 20 20 | 4d 4f 56 20 20 20 20 20 | |MOV |
|00001940| 72 33 2c 20 23 30 0d 00 | d9 1c 20 20 20 20 20 20 |r3, #0..|.. |
|00001950| 20 20 4c 44 52 20 20 20 | 20 20 72 34 2c 20 6d 61 | LDR | r4, ma|
|00001960| 73 6b 0d 00 da 32 20 20 | 20 20 20 20 20 20 53 57 |sk...2 | SW|
|00001970| 49 20 20 20 20 20 22 58 | 46 69 6c 74 65 72 5f 44 |I "X|Filter_D|
|00001980| 65 52 65 67 69 73 74 65 | 72 50 6f 73 74 46 69 6c |eRegiste|rPostFil|
|00001990| 74 65 72 22 0d 00 db 04 | 0d 00 dc 44 20 20 20 20 |ter"....|...D |
|000019a0| 20 20 20 20 4d 4f 56 20 | 20 20 20 20 72 30 2c 20 | MOV | r0, |
|000019b0| 23 31 33 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |#13 | |
|000019c0| 20 20 20 20 3b 20 44 69 | 73 61 62 6c 65 20 4f 53 | ; Di|sable OS|
|000019d0| 20 6b 65 79 20 65 76 65 | 6e 74 73 2e 0d 00 dd 1b | key eve|nts.....|
|000019e0| 20 20 20 20 20 20 20 20 | 4d 4f 56 20 20 20 20 20 | |MOV |
|000019f0| 72 31 2c 20 23 31 31 0d | 00 de 1e 20 20 20 20 20 |r1, #11.|... |
|00001a00| 20 20 20 53 57 49 20 20 | 20 20 20 22 58 4f 53 5f | SWI | "XOS_|
|00001a10| 42 79 74 65 22 0d 00 df | 40 20 20 20 20 20 20 20 |Byte"...|@ |
|00001a20| 20 4d 4f 56 20 20 20 20 | 20 72 30 2c 20 23 31 36 | MOV | r0, #16|
|00001a30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a40| 20 3b 20 52 65 6c 65 61 | 73 65 20 4f 53 20 65 76 | ; Relea|se OS ev|
|00001a50| 65 6e 74 73 2e 0d 00 e0 | 21 20 20 20 20 20 20 20 |ents....|! |
|00001a60| 20 41 44 52 20 20 20 20 | 20 72 31 2c 20 65 76 65 | ADR | r1, eve|
|00001a70| 6e 74 63 6f 64 65 0d 00 | e1 1a 20 20 20 20 20 20 |ntcode..|.. |
|00001a80| 20 20 4d 4f 56 20 20 20 | 20 20 72 32 2c 20 23 30 | MOV | r2, #0|
|00001a90| 0d 00 e2 21 20 20 20 20 | 20 20 20 20 53 57 49 20 |...! | SWI |
|00001aa0| 20 20 20 20 22 58 4f 53 | 5f 52 65 6c 65 61 73 65 | "XOS|_Release|
|00001ab0| 22 0d 00 e3 05 5d 0d 00 | e4 05 cd 0d 00 e5 04 0d |"....]..|........|
|00001ac0| 00 e6 0f 5b 20 4f 50 54 | 20 70 61 73 73 25 0d 00 |...[ OPT| pass%..|
|00001ad0| e7 25 20 20 20 20 20 20 | 20 20 4c 44 4d 46 44 20 |.% | LDMFD |
|00001ae0| 20 20 72 31 33 21 2c 20 | 7b 72 30 2d 72 31 31 2c | r13!, |{r0-r11,|
|00001af0| 50 43 7d 0d 00 e8 05 5d | 0d 00 e9 04 0d 00 ea 04 |PC}....]|........|
|00001b00| 0d 00 eb 04 0d 00 ec 04 | 0d 00 ed 16 e7 20 64 65 |........|..... de|
|00001b10| 74 65 63 74 5f 68 6f 74 | 6b 65 79 25 20 8c 0d 00 |tect_hot|key% ...|
|00001b20| ee 0f 5b 20 4f 50 54 20 | 70 61 73 73 25 0d 00 ef |..[ OPT |pass%...|
|00001b30| 04 0d 00 f0 45 2e 66 69 | 6c 74 65 72 63 6f 64 65 |....E.fi|ltercode|
|00001b40| 20 20 20 20 20 3b 20 54 | 68 69 73 20 63 6f 64 65 | ; T|his code|
|00001b50| 20 69 73 20 63 61 6c 6c | 65 64 20 62 79 20 74 68 | is call|ed by th|
|00001b60| 65 20 46 69 6c 74 65 72 | 4d 61 6e 61 67 65 72 20 |e Filter|Manager |
|00001b70| 6d 6f 64 75 6c 65 0d 00 | f1 4a 20 20 20 20 20 20 |module..|.J |
|00001b80| 20 20 20 20 20 20 20 20 | 20 20 3b 20 77 68 65 6e | | ; when|
|00001b90| 76 65 72 20 61 20 77 69 | 6d 70 20 74 61 73 6b 20 |ver a wi|mp task |
|00001ba0| 69 73 20 61 62 6f 75 74 | 20 74 6f 20 72 65 63 65 |is about| to rece|
|00001bb0| 69 76 65 20 61 6e 20 65 | 76 65 6e 74 5f 4b 45 59 |ive an e|vent_KEY|
|00001bc0| 0d 00 f2 04 0d 00 f3 27 | 20 20 20 20 20 20 20 20 |.......'| |
|00001bd0| 3b 20 54 68 65 20 65 76 | 65 6e 74 20 69 73 20 61 |; The ev|ent is a|
|00001be0| 6e 20 65 76 65 6e 74 5f | 4b 45 59 0d 00 f4 51 20 |n event_|KEY...Q |
|00001bf0| 20 20 20 20 20 20 20 3b | 20 49 66 20 69 74 20 69 | ;| If it i|
|00001c00| 73 20 41 6c 74 2d 63 75 | 72 73 6f 72 6b 65 79 2c |s Alt-cu|rsorkey,|
|00001c10| 20 77 65 20 77 61 6e 74 | 20 74 6f 20 73 74 6f 70 | we want| to stop|
|00001c20| 20 69 74 2c 20 62 79 20 | 72 65 74 75 72 6e 69 6e | it, by |returnin|
|00001c30| 67 20 77 69 74 68 20 72 | 30 3d 2d 31 0d 00 f5 04 |g with r|0=-1....|
|00001c40| 0d 00 f6 27 20 20 20 20 | 20 20 20 20 53 54 4d 46 |...' | STMF|
|00001c50| 44 20 20 20 72 31 33 21 | 2c 20 7b 72 30 2d 72 31 |D r13!|, {r0-r1|
|00001c60| 32 2c 20 72 31 34 7d 0d | 00 f7 04 0d 00 f8 5d 20 |2, r14}.|......] |
|00001c70| 20 20 20 20 20 20 20 4c | 44 52 20 20 20 20 20 72 | L|DR r|
|00001c80| 33 2c 20 4d 44 5f 74 61 | 73 6b 68 61 6e 64 6c 65 |3, MD_ta|skhandle|
|00001c90| 5f 6c 6f 20 20 20 20 3b | 20 4f 6e 6c 79 20 67 65 |_lo ;| Only ge|
|00001ca0| 74 20 73 65 6e 74 20 74 | 68 65 20 6c 6f 77 65 73 |t sent t|he lowes|
|00001cb0| 74 20 31 36 20 62 69 74 | 73 20 6f 66 20 74 61 73 |t 16 bit|s of tas|
|00001cc0| 6b 20 68 61 6e 64 6c 65 | 0d 00 f9 1a 20 20 20 20 |k handle|.... |
|00001cd0| 20 20 20 20 43 4d 50 20 | 20 20 20 20 72 32 2c 20 | CMP | r2, |
|00001ce0| 72 33 0d 00 fa 57 20 20 | 20 20 20 20 20 20 4c 44 |r3...W | LD|
|00001cf0| 4d 45 51 46 44 20 72 31 | 33 21 2c 20 7b 72 30 2d |MEQFD r1|3!, {r0-|
|00001d00| 72 31 32 2c 50 43 7d 20 | 20 20 20 20 20 20 3b 20 |r12,PC} | ; |
|00001d10| 50 61 73 73 20 6d 65 73 | 73 61 67 65 20 73 74 72 |Pass mes|sage str|
|00001d20| 61 69 67 68 74 20 6f 6e | 20 69 66 20 66 6f 72 20 |aight on| if for |
|00001d30| 4d 75 6c 74 69 44 65 73 | 6b 0d 00 fb 04 0d 00 fc |MultiDes|k.......|
|00001d40| 53 20 20 20 20 20 20 20 | 20 4c 44 52 20 20 20 20 |S | LDR |
|00001d50| 20 72 30 2c 20 5b 20 72 | 31 2c 20 23 32 34 5d 20 | r0, [ r|1, #24] |
|00001d60| 20 20 20 20 20 20 20 20 | 20 3b 20 4f 66 66 73 65 | | ; Offse|
|00001d70| 74 20 32 34 20 69 6e 20 | 70 6f 6c 6c 62 6c 6f 63 |t 24 in |pollbloc|
|00001d80| 6b 20 69 73 20 74 68 65 | 20 6b 65 79 63 6f 64 65 |k is the| keycode|
|00001d90| 0d 00 fd 22 20 20 20 20 | 20 20 20 20 4d 4f 56 20 |..." | MOV |
|00001da0| 20 20 20 20 72 31 2c 20 | 23 28 33 39 36 2d 32 35 | r1, |#(396-25|
|00001db0| 36 29 0d 00 fe 4c 20 20 | 20 20 20 20 20 20 41 44 |6)...L | AD|
|00001dc0| 44 20 20 20 20 20 72 31 | 2c 20 72 31 2c 20 23 32 |D r1|, r1, #2|
|00001dd0| 35 36 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 |56 | ; |
|00001de0| 72 31 3d 33 39 36 2c 20 | 6b 65 79 63 6f 64 65 20 |r1=396, |keycode |
|00001df0| 66 6f 72 20 63 75 72 73 | 6f 72 6c 65 66 74 0d 00 |for curs|orleft..|
|00001e00| ff 1a 20 20 20 20 20 20 | 20 20 43 4d 50 20 20 20 |.. | CMP |
|00001e10| 20 20 72 30 2c 20 72 31 | 0d 01 00 5b 20 20 20 20 | r0, r1|...[ |
|00001e20| 20 20 20 20 4c 44 4d 4c | 54 46 44 20 72 31 33 21 | LDML|TFD r13!|
|00001e30| 2c 20 7b 20 72 30 2d 72 | 31 32 2c 20 50 43 7d 20 |, { r0-r|12, PC} |
|00001e40| 20 20 20 20 3b 20 50 61 | 73 73 20 65 76 65 6e 74 | ; Pa|ss event|
|00001e50| 20 6f 6e 20 69 66 20 6b | 65 79 63 6f 64 65 20 3c | on if k|eycode <|
|00001e60| 20 6b 65 79 63 6f 64 65 | 5f 43 55 52 53 4f 52 4c | keycode|_CURSORL|
|00001e70| 45 46 54 0d 01 01 04 0d | 01 02 4b 20 20 20 20 20 |EFT.....|..K |
|00001e80| 20 20 20 41 44 44 20 20 | 20 20 20 72 31 2c 20 72 | ADD | r1, r|
|00001e90| 31 2c 20 23 33 20 20 20 | 20 20 20 20 20 20 20 20 |1, #3 | |
|00001ea0| 20 20 20 3b 20 72 31 3d | 33 39 39 2c 20 6b 65 79 | ; r1=|399, key|
|00001eb0| 63 6f 64 65 20 66 6f 72 | 20 63 75 72 73 6f 72 75 |code for| cursoru|
|00001ec0| 70 2e 0d 01 03 1a 20 20 | 20 20 20 20 20 20 43 4d |p..... | CM|
|00001ed0| 50 20 20 20 20 20 72 30 | 2c 20 72 31 0d 01 04 59 |P r0|, r1...Y|
|00001ee0| 20 20 20 20 20 20 20 20 | 4c 44 4d 47 54 46 44 20 | |LDMGTFD |
|00001ef0| 72 31 33 21 2c 20 7b 20 | 72 30 2d 72 31 32 2c 20 |r13!, { |r0-r12, |
|00001f00| 50 43 7d 20 20 20 20 20 | 3b 20 50 61 73 73 20 65 |PC} |; Pass e|
|00001f10| 76 65 6e 74 20 6f 6e 20 | 69 66 20 6b 65 79 63 6f |vent on |if keyco|
|00001f20| 64 65 20 3e 20 6b 65 79 | 63 6f 64 65 5f 43 55 52 |de > key|code_CUR|
|00001f30| 53 4f 52 55 50 0d 01 05 | 04 0d 01 06 38 20 20 20 |SORUP...|....8 |
|00001f40| 20 20 20 20 20 3b 20 49 | 66 20 77 65 20 72 65 61 | ; I|f we rea|
|00001f50| 63 68 20 68 65 72 65 2c | 20 74 68 65 20 6b 65 79 |ch here,| the key|
|00001f60| 20 69 73 20 61 20 63 75 | 72 73 6f 72 20 6b 65 79 | is a cu|rsor key|
|00001f70| 2e 0d 01 07 29 20 20 20 | 20 20 20 20 20 3b 20 4e |....) | ; N|
|00001f80| 6f 77 20 63 68 65 63 6b | 20 69 66 20 41 6c 74 20 |ow check| if Alt |
|00001f90| 69 73 20 64 6f 77 6e 2e | 2e 2e 0d 01 08 04 0d 01 |is down.|........|
|00001fa0| 09 4d 20 20 20 20 20 20 | 20 20 4d 4f 56 20 20 20 |.M | MOV |
|00001fb0| 20 20 72 30 2c 20 23 31 | 32 39 20 20 20 20 20 20 | r0, #1|29 |
|00001fc0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 54 65 73 74 | | ; Test|
|00001fd0| 20 66 6f 72 20 61 6c 74 | 20 6b 65 79 20 75 73 69 | for alt| key usi|
|00001fe0| 6e 67 20 4f 53 5f 42 79 | 74 65 2e 0d 01 0a 1c 20 |ng OS_By|te..... |
|00001ff0| 20 20 20 20 20 20 20 4d | 4f 56 20 20 20 20 20 72 | M|OV r|
|00002000| 32 2c 20 23 32 35 35 0d | 01 0b 4c 20 20 20 20 20 |2, #255.|..L |
|00002010| 20 20 20 4d 4f 56 20 20 | 20 20 20 72 31 2c 20 23 | MOV | r1, #|
|00002020| 61 6c 74 5f 6b 65 79 25 | 20 20 20 20 20 20 20 20 |alt_key%| |
|00002030| 20 20 20 3b 20 43 6f 64 | 65 20 66 6f 72 20 6b 65 | ; Cod|e for ke|
|00002040| 79 20 74 6f 20 62 65 20 | 74 65 73 74 65 64 20 66 |y to be |tested f|
|00002050| 6f 72 2e 0d 01 0c 1e 20 | 20 20 20 20 20 20 20 53 |or..... | S|
|00002060| 57 49 20 20 20 20 20 22 | 58 4f 53 5f 42 79 74 65 |WI "|XOS_Byte|
|00002070| 22 0d 01 0d 1c 20 20 20 | 20 20 20 20 20 43 4d 50 |".... | CMP|
|00002080| 20 20 20 20 20 72 32 2c | 20 23 32 35 35 0d 01 0e | r2,| #255...|
|00002090| 48 20 20 20 20 20 20 20 | 20 4c 44 4d 46 44 20 20 |H | LDMFD |
|000020a0| 20 72 31 33 21 2c 20 7b | 20 72 30 2d 72 31 32 2c | r13!, {| r0-r12,|
|000020b0| 20 72 31 34 7d 20 20 20 | 20 3b 20 6c 6f 61 64 20 | r14} | ; load |
|000020c0| 6f 72 69 67 69 6e 61 6c | 20 6d 65 73 61 67 65 20 |original| mesage |
|000020d0| 62 6c 6f 63 6b 0d 01 0f | 39 20 20 20 20 20 20 20 |block...|9 |
|000020e0| 20 ec 51 20 20 20 72 30 | 2c 20 23 30 20 20 20 20 | .Q r0|, #0 |
|000020f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00002100| 6b 69 6c 6c 20 74 68 65 | 20 65 76 65 6e 74 0d 01 |kill the| event..|
|00002110| 10 4d 20 20 20 20 20 20 | 20 20 53 55 42 45 51 20 |.M | SUBEQ |
|00002120| 20 20 72 30 2c 20 72 30 | 2c 20 23 31 20 20 20 20 | r0, r0|, #1 |
|00002130| 20 20 20 20 20 20 20 20 | 20 20 3b 20 69 66 20 41 | | ; if A|
|00002140| 6c 74 20 69 73 20 64 6f | 77 6e 20 62 79 20 73 65 |lt is do|wn by se|
|00002150| 74 74 69 6e 67 20 72 30 | 3d 2d 31 0d 01 11 34 20 |tting r0|=-1...4 |
|00002160| 20 20 20 20 20 20 20 4d | 4f 56 20 20 20 20 20 50 | M|OV P|
|00002170| 43 2c 20 72 31 34 20 20 | 20 20 20 20 20 20 20 20 |C, r14 | |
|00002180| 20 20 20 20 20 20 20 3b | 20 72 65 74 75 72 6e 0d | ;| return.|
|00002190| 01 12 04 0d 01 13 04 0d | 01 14 04 0d 01 15 04 0d |........|........|
|000021a0| 01 16 04 0d 01 17 04 0d | 01 18 53 2e 65 76 65 6e |........|..S.even|
|000021b0| 74 63 6f 64 65 20 20 20 | 20 20 20 3b 20 54 68 69 |tcode | ; Thi|
|000021c0| 73 20 63 6f 64 65 20 69 | 73 20 63 61 6c 6c 65 64 |s code i|s called|
|000021d0| 20 77 68 65 6e 76 65 72 | 20 61 6e 20 4f 53 20 28 | whenver| an OS (|
|000021e0| 6e 6f 74 20 77 69 6d 70 | 29 20 27 65 76 65 6e 74 |not wimp|) 'event|
|000021f0| 27 20 68 61 70 70 65 6e | 73 2e 0d 01 19 53 20 20 |' happen|s....S |
|00002200| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00002210| 57 65 20 68 61 76 65 20 | 65 6e 73 75 72 65 64 20 |We have |ensured |
|00002220| 74 68 61 74 20 6b 65 79 | 2d 70 72 65 73 73 65 73 |that key|-presses|
|00002230| 20 65 76 65 6e 74 73 20 | 61 72 65 20 65 6e 61 62 | events |are enab|
|00002240| 6c 65 64 2c 20 61 73 20 | 74 68 65 73 65 0d 01 1a |led, as |these...|
|00002250| 37 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |7 | |
|00002260| 20 3b 20 61 72 65 20 77 | 68 61 74 20 77 65 20 61 | ; are w|hat we a|
|00002270| 72 65 20 69 6e 74 65 72 | 65 73 74 65 64 20 69 6e |re inter|ested in|
|00002280| 2e 2e 2e 20 0d 01 1b 04 | 0d 01 1c 2b 20 20 20 20 |... ....|...+ |
|00002290| 20 20 20 20 43 4d 50 20 | 20 20 20 20 72 30 2c 20 | CMP | r0, |
|000022a0| 23 31 31 20 20 20 20 20 | 3b 20 6b 65 79 2d 65 76 |#11 |; key-ev|
|000022b0| 65 6e 74 0d 01 1d 1b 20 | 20 20 20 20 20 20 20 4d |ent.... | M|
|000022c0| 4f 56 4e 45 53 20 20 50 | 43 2c 20 72 31 34 0d 01 |OVNES P|C, r14..|
|000022d0| 1e 3b 20 20 20 20 20 20 | 20 20 43 4d 50 20 20 20 |.; | CMP |
|000022e0| 20 20 72 31 2c 20 23 31 | 20 20 20 20 20 20 3b 20 | r1, #1| ; |
|000022f0| 6b 65 79 2d 64 6f 77 6e | 20 28 72 61 74 68 65 72 |key-down| (rather|
|00002300| 20 74 68 61 6e 20 75 70 | 29 0d 01 1f 1b 20 20 20 | than up|).... |
|00002310| 20 20 20 20 20 4d 4f 56 | 4e 45 53 20 20 50 43 2c | MOV|NES PC,|
|00002320| 20 72 31 34 0d 01 20 04 | 0d 01 21 04 0d 01 22 26 | r14.. .|..!..."&|
|00002330| 20 20 20 20 20 20 20 20 | 3b 20 54 68 65 20 65 76 | |; The ev|
|00002340| 65 6e 74 20 69 73 20 61 | 20 6b 65 79 2d 64 6f 77 |ent is a| key-dow|
|00002350| 6e 2e 0d 01 23 04 0d 01 | 24 31 20 20 20 20 20 20 |n...#...|$1 |
|00002360| 20 20 3b 20 43 68 65 63 | 6b 20 74 68 65 20 6b 65 | ; Chec|k the ke|
|00002370| 79 2d 64 6f 77 6e 20 69 | 73 20 61 20 63 75 72 73 |y-down i|s a curs|
|00002380| 6f 72 20 6b 65 79 2e 0d | 01 25 04 0d 01 26 20 20 |or key..|.%...& |
|00002390| 20 20 20 20 20 20 20 43 | 4d 50 20 20 20 20 20 72 | C|MP r|
|000023a0| 32 2c 20 23 72 61 77 5f | 75 70 25 0d 01 27 1d 20 |2, #raw_|up%..'. |
|000023b0| 20 20 20 20 20 20 20 42 | 45 51 20 20 20 20 20 63 | B|EQ c|
|000023c0| 75 72 73 6f 72 6b 65 79 | 0d 01 28 22 20 20 20 20 |ursorkey|..(" |
|000023d0| 20 20 20 20 43 4d 50 20 | 20 20 20 20 72 32 2c 20 | CMP | r2, |
|000023e0| 23 72 61 77 5f 64 6f 77 | 6e 25 0d 01 29 1d 20 20 |#raw_dow|n%..). |
|000023f0| 20 20 20 20 20 20 42 45 | 51 20 20 20 20 20 63 75 | BE|Q cu|
|00002400| 72 73 6f 72 6b 65 79 0d | 01 2a 23 20 20 20 20 20 |rsorkey.|.*# |
|00002410| 20 20 20 43 4d 50 20 20 | 20 20 20 72 32 2c 20 23 | CMP | r2, #|
|00002420| 72 61 77 5f 72 69 67 68 | 74 25 0d 01 2b 1d 20 20 |raw_righ|t%..+. |
|00002430| 20 20 20 20 20 20 42 45 | 51 20 20 20 20 20 63 75 | BE|Q cu|
|00002440| 72 73 6f 72 6b 65 79 0d | 01 2c 22 20 20 20 20 20 |rsorkey.|.," |
|00002450| 20 20 20 43 4d 50 20 20 | 20 20 20 72 32 2c 20 23 | CMP | r2, #|
|00002460| 72 61 77 5f 6c 65 66 74 | 25 0d 01 2d 1d 20 20 20 |raw_left|%..-. |
|00002470| 20 20 20 20 20 42 45 51 | 20 20 20 20 20 63 75 72 | BEQ| cur|
|00002480| 73 6f 72 6b 65 79 0d 01 | 2e 04 0d 01 2f 1c 3b 20 |sorkey..|..../.; |
|00002490| 20 20 20 20 20 20 20 4d | 4f 56 53 20 20 20 20 50 | M|OVS P|
|000024a0| 43 2c 20 72 31 34 0d 01 | 30 04 0d 01 31 04 0d 01 |C, r14..|0...1...|
|000024b0| 32 49 2e 63 75 72 73 6f | 72 6b 65 79 20 20 20 20 |2I.curso|rkey |
|000024c0| 20 20 3b 20 49 66 20 77 | 65 20 72 65 61 63 68 20 | ; If w|e reach |
|000024d0| 68 65 72 65 2c 20 74 68 | 65 20 6b 65 79 2d 64 6f |here, th|e key-do|
|000024e0| 77 6e 20 69 73 20 66 6f | 72 20 61 20 63 75 72 73 |wn is fo|r a curs|
|000024f0| 6f 72 20 6b 65 79 2e 0d | 01 33 04 0d 01 34 42 20 |or key..|.3...4B |
|00002500| 20 20 20 20 20 20 20 53 | 54 4d 46 44 20 20 20 72 | S|TMFD r|
|00002510| 31 33 21 2c 20 7b 20 72 | 30 2d 72 31 32 2c 20 72 |13!, { r|0-r12, r|
|00002520| 31 34 7d 20 20 20 20 20 | 3b 20 53 61 76 65 20 61 |14} |; Save a|
|00002530| 6c 6c 20 72 65 67 69 73 | 74 65 72 73 2e 0d 01 35 |ll regis|ters...5|
|00002540| 04 0d 01 36 3f 20 20 20 | 20 20 20 20 20 3b 20 53 |...6? | ; S|
|00002550| 65 74 20 75 70 20 61 20 | 74 72 61 6e 73 69 65 6e |et up a |transien|
|00002560| 74 20 63 61 6c 6c 2d 62 | 61 63 6b 20 77 68 69 63 |t call-b|ack whic|
|00002570| 68 20 77 69 6c 6c 20 63 | 68 65 63 6b 20 74 68 65 |h will c|heck the|
|00002580| 0d 01 37 32 20 20 20 20 | 20 20 20 20 3b 20 61 6c |..72 | ; al|
|00002590| 74 20 6b 65 79 20 61 6e | 64 20 63 61 6c 6c 20 57 |t key an|d call W|
|000025a0| 69 6d 70 5f 53 65 6e 64 | 4d 65 73 73 61 67 65 2e |imp_Send|Message.|
|000025b0| 2e 2e 0d 01 38 42 20 20 | 20 20 20 20 20 20 3b 20 |....8B | ; |
|000025c0| 28 57 65 20 63 61 6e 27 | 74 20 63 68 65 63 6b 20 |(We can'|t check |
|000025d0| 74 68 65 20 41 6c 74 20 | 6b 65 79 20 6f 72 20 63 |the Alt |key or c|
|000025e0| 61 6c 6c 20 57 69 6d 70 | 5f 53 65 6e 64 4d 65 73 |all Wimp|_SendMes|
|000025f0| 73 61 67 65 0d 01 39 42 | 20 20 20 20 20 20 20 20 |sage..9B| |
|00002600| 3b 20 62 65 63 61 75 73 | 65 20 77 65 20 61 72 65 |; becaus|e we are|
|00002610| 20 69 6e 20 74 68 65 20 | 6d 69 64 64 6c 65 20 6f | in the |middle o|
|00002620| 66 20 61 20 6b 65 79 2d | 64 6f 77 6e 20 69 6e 74 |f a key-|down int|
|00002630| 65 72 75 70 74 2c 0d 01 | 3a 38 20 20 20 20 20 20 |erupt,..|:8 |
|00002640| 20 20 3b 20 61 6e 64 20 | 73 6f 20 63 61 6e 27 74 | ; and |so can't|
|00002650| 20 63 61 6c 6c 20 6e 6f | 6e 2d 72 65 65 6e 74 65 | call no|n-reente|
|00002660| 72 65 6e 74 20 53 57 49 | 73 20 65 74 63 2e 0d 01 |rent SWI|s etc...|
|00002670| 3b 04 0d 01 3c 5e 20 20 | 20 20 20 20 20 20 4d 4f |;...<^ | MO|
|00002680| 56 20 20 20 20 20 72 31 | 2c 20 72 32 20 20 20 20 |V r1|, r2 |
|00002690| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|000026a0| 63 6f 6e 74 65 6e 74 73 | 20 6f 66 20 72 31 20 61 |contents| of r1 a|
|000026b0| 72 65 20 70 61 73 73 65 | 64 20 69 6e 20 72 31 32 |re passe|d in r12|
|000026c0| 20 74 6f 20 63 61 6c 6c | 62 61 63 6b 63 6f 64 65 | to call|backcode|
|000026d0| 0d 01 3d 24 20 20 20 20 | 20 20 20 20 41 44 52 20 |..=$ | ADR |
|000026e0| 20 20 20 20 72 30 2c 20 | 63 61 6c 6c 62 61 63 6b | r0, |callback|
|000026f0| 63 6f 64 65 0d 01 3e 04 | 0d 01 3f 3f 20 20 20 20 |code..>.|..?? |
|00002700| 20 20 20 20 4d 4f 56 20 | 20 20 20 20 72 39 2c 20 | MOV | r9, |
|00002710| 50 43 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |PC | |
|00002720| 20 20 20 20 3b 20 53 61 | 76 65 20 63 75 72 72 65 | ; Sa|ve curre|
|00002730| 6e 74 20 6d 6f 64 65 0d | 01 40 4b 20 20 20 20 20 |nt mode.|.@K |
|00002740| 20 20 20 84 52 20 20 20 | 20 20 72 38 2c 20 72 39 | .R | r8, r9|
|00002750| 2c 20 23 33 20 20 20 20 | 20 20 20 20 20 20 20 20 |, #3 | |
|00002760| 20 20 3b 20 44 65 72 69 | 76 65 20 53 56 43 2d 6d | ; Deri|ve SVC-m|
|00002770| 6f 64 65 20 76 65 72 73 | 69 6f 6e 20 6f 66 20 69 |ode vers|ion of i|
|00002780| 74 2e 0d 01 41 3c 20 20 | 20 20 20 20 20 20 54 45 |t...A< | TE|
|00002790| 51 50 20 20 20 20 72 38 | 2c 20 23 30 20 20 20 20 |QP r8|, #0 |
|000027a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|000027b0| 45 6e 74 65 72 20 53 56 | 43 20 6d 6f 64 65 0d 01 |Enter SV|C mode..|
|000027c0| 42 4a 20 20 20 20 20 20 | 20 20 4d 4f 56 20 20 20 |BJ | MOV |
|000027d0| 20 20 72 30 2c 20 72 30 | 20 20 20 20 20 20 20 20 | r0, r0| |
|000027e0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 4e 6f 2d 6f | | ; No-o|
|000027f0| 70 20 74 6f 20 70 72 65 | 76 65 6e 74 20 63 6f 6e |p to pre|vent con|
|00002800| 74 65 6e 74 69 6f 6e 2e | 0d 01 43 3b 20 20 20 20 |tention.|..C; |
|00002810| 20 20 20 20 53 54 4d 46 | 44 20 20 20 72 31 33 21 | STMF|D r13!|
|00002820| 2c 7b 52 31 34 7d 20 20 | 20 20 20 20 20 20 20 20 |,{R14} | |
|00002830| 20 20 20 20 3b 20 53 61 | 76 65 20 72 31 34 5f 73 | ; Sa|ve r14_s|
|00002840| 76 63 2e 0d 01 44 25 20 | 20 20 20 20 20 20 20 53 |vc...D% | S|
|00002850| 57 49 20 20 20 20 20 22 | 58 4f 53 5f 41 64 64 43 |WI "|XOS_AddC|
|00002860| 61 6c 6c 42 61 63 6b 22 | 0d 01 45 3e 20 20 20 20 |allBack"|..E> |
|00002870| 20 20 20 20 4c 44 4d 46 | 44 20 20 20 72 31 33 21 | LDMF|D r13!|
|00002880| 2c 20 7b 52 31 34 7d 20 | 20 20 20 20 20 20 20 20 |, {R14} | |
|00002890| 20 20 20 20 3b 20 52 65 | 73 74 6f 72 65 20 72 31 | ; Re|store r1|
|000028a0| 34 5f 73 76 63 2e 0d 01 | 46 4f 20 20 20 20 20 20 |4_svc...|FO |
|000028b0| 20 20 54 45 51 50 20 20 | 20 20 72 39 2c 20 23 30 | TEQP | r9, #0|
|000028c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000028d0| 20 20 3b 20 52 65 2d 65 | 6e 74 65 72 20 6f 72 69 | ; Re-e|nter ori|
|000028e0| 67 69 6e 61 6c 20 70 72 | 6f 63 65 73 73 6f 72 20 |ginal pr|ocessor |
|000028f0| 6d 6f 64 65 2e 0d 01 47 | 4a 20 20 20 20 20 20 20 |mode...G|J |
|00002900| 20 4d 4f 56 20 20 20 20 | 20 72 30 2c 20 72 30 20 | MOV | r0, r0 |
|00002910| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002920| 20 3b 20 4e 6f 2d 6f 70 | 20 74 6f 20 70 72 65 76 | ; No-op| to prev|
|00002930| 65 6e 74 20 63 6f 6e 74 | 65 6e 74 69 6f 6e 2e 0d |ent cont|ention..|
|00002940| 01 48 04 0d 01 49 28 20 | 20 20 20 20 20 20 20 4c |.H...I( | L|
|00002950| 44 4d 46 44 20 20 20 72 | 31 33 21 2c 20 7b 20 72 |DMFD r|13!, { r|
|00002960| 30 2d 72 31 32 2c 20 72 | 31 34 7d 0d 01 4a 1b 20 |0-r12, r|14}..J. |
|00002970| 20 20 20 20 20 20 20 4d | 4f 56 53 20 20 20 20 50 | M|OVS P|
|00002980| 43 2c 20 72 31 34 0d 01 | 4b 04 0d 01 4c 04 0d 01 |C, r14..|K...L...|
|00002990| 4d 04 0d 01 4e 04 0d 01 | 4f 53 2e 63 61 6c 6c 62 |M...N...|OS.callb|
|000029a0| 61 63 6b 63 6f 64 65 20 | 20 20 3b 20 54 68 69 73 |ackcode | ; This|
|000029b0| 20 63 6f 64 65 20 69 73 | 20 63 61 6c 6c 65 64 20 | code is| called |
|000029c0| 77 68 65 6e 20 74 68 65 | 20 73 79 73 74 65 6d 20 |when the| system |
|000029d0| 6e 65 78 74 20 72 65 74 | 75 72 6e 73 20 74 6f 20 |next ret|urns to |
|000029e0| 75 73 65 72 20 6d 6f 64 | 65 0d 01 50 40 20 20 20 |user mod|e..P@ |
|000029f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 73 | | ; s|
|00002a00| 6f 20 77 65 20 63 61 6e | 20 63 61 6c 6c 20 6e 6f |o we can| call no|
|00002a10| 6e 2d 72 65 65 6e 74 65 | 72 65 6e 74 20 53 57 49 |n-reente|rent SWI|
|00002a20| 73 20 68 65 72 65 2e 2e | 2e 0d 01 51 04 0d 01 52 |s here..|...Q...R|
|00002a30| 4c 20 20 20 20 20 20 20 | 20 3b 20 72 31 32 20 63 |L | ; r12 c|
|00002a40| 6f 6e 74 61 69 6e 73 20 | 74 68 65 20 72 61 77 20 |ontains |the raw |
|00002a50| 6b 65 79 62 6f 61 72 64 | 2d 63 6f 64 65 20 66 6f |keyboard|-code fo|
|00002a60| 72 20 6f 6e 65 20 6f 66 | 20 74 68 65 20 63 75 72 |r one of| the cur|
|00002a70| 73 6f 72 20 6b 65 79 73 | 2e 0d 01 53 04 0d 01 54 |sor keys|...S...T|
|00002a80| 28 20 20 20 20 20 20 20 | 20 53 54 4d 46 44 20 20 |( | STMFD |
|00002a90| 20 72 31 33 21 2c 20 7b | 20 72 30 2d 72 31 32 2c | r13!, {| r0-r12,|
|00002aa0| 20 72 31 34 7d 0d 01 55 | 04 0d 01 56 4d 20 20 20 | r14}..U|...VM |
|00002ab0| 20 20 20 20 20 4d 4f 56 | 20 20 20 20 20 72 30 2c | MOV| r0,|
|00002ac0| 20 23 31 32 39 20 20 20 | 20 20 20 20 20 20 20 20 | #129 | |
|00002ad0| 20 20 20 20 20 3b 20 54 | 65 73 74 20 66 6f 72 20 | ; T|est for |
|00002ae0| 61 6c 74 20 6b 65 79 20 | 75 73 69 6e 67 20 4f 53 |alt key |using OS|
|00002af0| 5f 42 79 74 65 2e 0d 01 | 57 1c 20 20 20 20 20 20 |_Byte...|W. |
|00002b00| 20 20 4d 4f 56 20 20 20 | 20 20 72 32 2c 20 23 32 | MOV | r2, #2|
|00002b10| 35 35 0d 01 58 4c 20 20 | 20 20 20 20 20 20 4d 4f |55..XL | MO|
|00002b20| 56 20 20 20 20 20 72 31 | 2c 20 23 61 6c 74 5f 6b |V r1|, #alt_k|
|00002b30| 65 79 25 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 |ey% | ; |
|00002b40| 43 6f 64 65 20 66 6f 72 | 20 6b 65 79 20 74 6f 20 |Code for| key to |
|00002b50| 62 65 20 74 65 73 74 65 | 64 20 66 6f 72 2e 0d 01 |be teste|d for...|
|00002b60| 59 20 20 20 20 20 20 20 | 20 20 53 54 4d 46 44 20 |Y | STMFD |
|00002b70| 20 20 72 31 33 21 2c 20 | 7b 20 72 31 32 7d 0d 01 | r13!, |{ r12}..|
|00002b80| 5a 1e 20 20 20 20 20 20 | 20 20 53 57 49 20 20 20 |Z. | SWI |
|00002b90| 20 20 22 58 4f 53 5f 42 | 79 74 65 22 0d 01 5b 20 | "XOS_B|yte"..[ |
|00002ba0| 20 20 20 20 20 20 20 20 | 4c 44 4d 46 44 20 20 20 | |LDMFD |
|00002bb0| 72 31 33 21 2c 20 7b 20 | 72 31 32 7d 0d 01 5c 04 |r13!, { |r12}..\.|
|00002bc0| 0d 01 5d 1d 20 20 20 20 | 20 20 20 20 43 4d 50 20 |..]. | CMP |
|00002bd0| 20 20 20 20 72 32 2c 20 | 23 32 35 35 3a 0d 01 5e | r2, |#255:..^|
|00002be0| 04 0d 01 5f 58 20 20 20 | 20 20 20 20 20 4c 44 4d |..._X | LDM|
|00002bf0| 4e 45 46 44 20 72 31 33 | 21 2c 20 7b 20 72 30 2d |NEFD r13|!, { r0-|
|00002c00| 72 31 32 2c 20 72 31 34 | 7d 20 20 20 20 3b 20 52 |r12, r14|} ; R|
|00002c10| 65 73 74 6f 72 65 20 72 | 65 67 69 73 74 65 72 73 |estore r|egisters|
|00002c20| 20 61 6e 64 20 72 65 74 | 75 72 6e 20 69 66 20 61 | and ret|urn if a|
|00002c30| 6c 74 20 69 73 20 75 70 | 2e 0d 01 60 1b 20 20 20 |lt is up|...`. |
|00002c40| 20 20 20 20 20 4d 4f 56 | 4e 45 53 20 20 50 43 2c | MOV|NES PC,|
|00002c50| 20 72 31 34 0d 01 61 04 | 0d 01 62 04 0d 01 63 4d | r14..a.|..b...cM|
|00002c60| 20 20 20 20 20 20 20 20 | 3b 20 43 6f 6e 76 65 72 | |; Conver|
|00002c70| 74 20 72 61 77 20 6b 65 | 79 20 75 70 2f 64 6f 77 |t raw ke|y up/dow|
|00002c80| 6e 20 6b 65 79 2d 6e 75 | 6d 62 65 72 20 74 6f 20 |n key-nu|mber to |
|00002c90| 61 20 57 69 6d 70 20 65 | 76 65 6e 74 5f 4b 45 59 |a Wimp e|vent_KEY|
|00002ca0| 20 6b 65 79 63 6f 64 65 | 2e 0d 01 64 21 20 20 20 | keycode|...d! |
|00002cb0| 20 20 20 20 20 43 4d 50 | 20 20 20 20 20 72 31 32 | CMP| r12|
|00002cc0| 2c 20 23 72 61 77 5f 75 | 70 25 0d 01 65 29 20 20 |, #raw_u|p%..e) |
|00002cd0| 20 20 20 20 20 20 ec 51 | 20 20 20 72 33 2c 20 23 | .Q| r3, #|
|00002ce0| 28 6b 65 79 5f 63 75 72 | 73 6f 72 75 70 25 2d 32 |(key_cur|sorup%-2|
|00002cf0| 35 36 29 0d 01 66 04 0d | 01 67 23 20 20 20 20 20 |56)..f..|.g# |
|00002d00| 20 20 20 43 4d 50 20 20 | 20 20 20 72 31 32 2c 20 | CMP | r12, |
|00002d10| 23 72 61 77 5f 64 6f 77 | 6e 25 0d 01 68 2b 20 20 |#raw_dow|n%..h+ |
|00002d20| 20 20 20 20 20 20 ec 51 | 20 20 20 72 33 2c 20 23 | .Q| r3, #|
|00002d30| 28 6b 65 79 5f 63 75 72 | 73 6f 72 64 6f 77 6e 25 |(key_cur|sordown%|
|00002d40| 2d 32 35 36 29 0d 01 69 | 04 0d 01 6a 24 20 20 20 |-256)..i|...j$ |
|00002d50| 20 20 20 20 20 43 4d 50 | 20 20 20 20 20 72 31 32 | CMP| r12|
|00002d60| 2c 20 23 72 61 77 5f 72 | 69 67 68 74 25 0d 01 6b |, #raw_r|ight%..k|
|00002d70| 2c 20 20 20 20 20 20 20 | 20 ec 51 20 20 20 72 33 |, | .Q r3|
|00002d80| 2c 20 23 28 6b 65 79 5f | 63 75 72 73 6f 72 72 69 |, #(key_|cursorri|
|00002d90| 67 68 74 25 2d 32 35 36 | 29 0d 01 6c 04 0d 01 6d |ght%-256|)..l...m|
|00002da0| 23 20 20 20 20 20 20 20 | 20 43 4d 50 20 20 20 20 |# | CMP |
|00002db0| 20 72 31 32 2c 20 23 72 | 61 77 5f 6c 65 66 74 25 | r12, #r|aw_left%|
|00002dc0| 0d 01 6e 2b 20 20 20 20 | 20 20 20 20 ec 51 20 20 |..n+ | .Q |
|00002dd0| 20 72 33 2c 20 23 28 6b | 65 79 5f 63 75 72 73 6f | r3, #(k|ey_curso|
|00002de0| 72 6c 65 66 74 25 2d 32 | 35 36 29 0d 01 6f 04 0d |rleft%-2|56)..o..|
|00002df0| 01 70 20 20 20 20 20 20 | 20 20 20 41 44 44 20 20 |.p | ADD |
|00002e00| 20 20 20 72 33 2c 20 72 | 33 2c 20 23 32 35 36 0d | r3, r|3, #256.|
|00002e10| 01 71 04 0d 01 72 35 20 | 20 20 20 20 20 20 20 4d |.q...r5 | M|
|00002e20| 4f 56 20 20 20 20 20 72 | 30 2c 20 23 38 20 20 20 |OV r|0, #8 |
|00002e30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00002e40| 20 53 65 6e 64 20 61 6e | 0d 01 73 44 20 20 20 20 | Send an|..sD |
|00002e50| 20 20 20 20 41 44 52 20 | 20 20 20 20 72 31 2c 20 | ADR | r1, |
|00002e60| 70 6f 6c 6c 62 6c 6f 63 | 6b 20 20 20 20 20 20 20 |pollbloc|k |
|00002e70| 20 20 20 20 3b 20 65 76 | 65 6e 74 5f 4b 45 59 20 | ; ev|ent_KEY |
|00002e80| 74 6f 20 4d 75 6c 74 69 | 44 65 73 6b 0d 01 74 25 |to Multi|Desk..t%|
|00002e90| 20 20 20 20 20 20 20 20 | 4c 44 52 20 20 20 20 20 | |LDR |
|00002ea0| 72 32 2c 20 4d 44 5f 74 | 61 73 6b 68 61 6e 64 6c |r2, MD_t|askhandl|
|00002eb0| 65 0d 01 75 21 20 20 20 | 20 20 20 20 20 53 54 52 |e..u! | STR|
|00002ec0| 20 20 20 20 20 72 33 2c | 20 5b 72 31 2c 20 23 32 | r3,| [r1, #2|
|00002ed0| 34 5d 0d 01 76 27 20 20 | 20 20 20 20 20 20 53 57 |4]..v' | SW|
|00002ee0| 49 20 20 20 20 20 22 58 | 57 69 6d 70 5f 53 65 6e |I "X|Wimp_Sen|
|00002ef0| 64 4d 65 73 73 61 67 65 | 22 0d 01 77 04 0d 01 78 |dMessage|"..w...x|
|00002f00| 28 20 20 20 20 20 20 20 | 20 4c 44 4d 46 44 20 20 |( | LDMFD |
|00002f10| 20 72 31 33 21 2c 20 7b | 20 72 30 2d 72 31 32 2c | r13!, {| r0-r12,|
|00002f20| 20 72 31 34 7d 0d 01 79 | 1b 20 20 20 20 20 20 20 | r14}..y|. |
|00002f30| 20 4d 4f 56 53 20 20 20 | 20 50 43 2c 20 72 31 34 | MOVS | PC, r14|
|00002f40| 0d 01 7a 04 0d 01 7b 04 | 0d 01 7c 05 5d 0d 01 7d |..z...{.|..|.]..}|
|00002f50| 05 cd 0d 01 7e 04 0d 01 | 7f 04 0d 01 80 04 0d 01 |....~...|........|
|00002f60| 81 04 0d 01 82 4e f4 20 | 2a 2a 2a 2a 2a 2a 2a 2a |.....N. |********|
|00002f70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002f80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002f90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002fa0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002fb0| 0d 01 83 04 0d 01 84 0c | ed 20 70 61 73 73 30 25 |........|. pass0%|
|00002fc0| 0d 01 85 04 0d 01 86 04 | 0d 01 87 4f c8 99 20 22 |........|...O.. "|
|00002fd0| 4f 53 5f 4d 6f 64 75 6c | 65 22 2c 20 31 31 2c 20 |OS_Modul|e", 11, |
|00002fe0| 63 6f 64 65 73 70 61 63 | 65 25 2c 20 50 25 20 b8 |codespac|e%, P% .|
|00002ff0| 20 52 30 25 3a 20 f4 20 | 49 6e 73 74 61 6c 6c 20 | R0%: . |Install |
|00003000| 74 68 65 20 6d 6f 64 75 | 6c 65 20 69 6e 20 52 4d |the modu|le in RM|
|00003010| 41 20 61 72 65 61 2e 0d | 01 88 04 0d 01 89 05 e0 |A area..|........|
|00003020| 0d 01 8a 04 0d 01 8b 04 | 0d 01 8c 04 0d 01 8d 04 |........|........|
|00003030| 0d 01 8e 22 dd 20 a4 46 | 69 6e 64 54 61 73 6b 48 |...". .F|indTaskH|
|00003040| 61 6e 64 6c 65 28 20 74 | 61 73 6b 5f 6e 61 6d 65 |andle( t|ask_name|
|00003050| 24 29 0d 01 8f 24 20 20 | ea 20 62 75 66 66 5f 6c |$)...$ |. buff_l|
|00003060| 65 6e 2c 20 62 75 66 66 | 65 72 2c 20 72 30 2c 20 |en, buff|er, r0, |
|00003070| 72 31 2c 20 72 32 0d 01 | 90 25 62 75 66 66 5f 6c |r1, r2..|.%buff_l|
|00003080| 65 6e 20 3d 20 32 35 36 | 3a 20 de 20 62 75 66 66 |en = 256|: . buff|
|00003090| 65 72 20 62 75 66 66 5f | 6c 65 6e 0d 01 91 0a 72 |er buff_|len....r|
|000030a0| 30 20 3d 20 30 0d 01 92 | 05 f5 0d 01 93 1a 20 20 |0 = 0...|...... |
|000030b0| 72 31 20 3d 20 62 75 66 | 66 65 72 3a 20 72 32 20 |r1 = buf|fer: r2 |
|000030c0| 3d 20 31 36 0d 01 94 36 | 20 20 c8 99 20 22 54 61 |= 16...6| .. "Ta|
|000030d0| 73 6b 4d 61 6e 61 67 65 | 72 5f 45 6e 75 6d 65 72 |skManage|r_Enumer|
|000030e0| 61 74 65 54 61 73 6b 73 | 22 2c 20 72 30 2c 20 72 |ateTasks|", r0, r|
|000030f0| 31 2c 20 72 32 20 b8 20 | 72 30 0d 01 95 12 20 20 |1, r2 . |r0.... |
|00003100| e7 20 72 30 3d 2d 31 20 | 20 3d 20 30 0d 01 96 2b |. r0=-1 | = 0...+|
|00003110| 20 20 fd 20 a4 73 74 72 | 69 6e 67 28 20 62 75 66 | . .str|ing( buf|
|00003120| 66 65 72 21 34 2c 20 33 | 32 29 20 3d 20 74 61 73 |fer!4, 3|2) = tas|
|00003130| 6b 5f 6e 61 6d 65 24 0d | 01 97 0c 3d 21 62 75 66 |k_name$.|...=!buf|
|00003140| 66 65 72 0d 01 98 04 0d | 01 99 04 0d 01 9a 14 dd |fer.....|........|
|00003150| 20 a4 73 74 72 69 6e 67 | 28 20 78 2c 20 6e 29 0d | .string|( x, n).|
|00003160| 01 9b 0f 20 20 ea 20 69 | 2c 63 2c 20 61 24 0d 01 |... . i|,c, a$..|
|00003170| 9c 0d e3 20 69 3d 30 20 | b8 20 6e 0d 01 9d 10 20 |... i=0 |. n.... |
|00003180| 20 63 20 3d 20 3f 28 78 | 2b 69 29 0d 01 9e 11 20 | c = ?(x|+i).... |
|00003190| 20 e7 20 63 3d 30 20 8c | 20 3d 61 24 0d 01 9f 14 | . c=0 .| =a$....|
|000031a0| 20 20 61 24 20 3d 20 61 | 24 20 2b 20 bd 28 63 29 | a$ = a|$ + .(c)|
|000031b0| 0d 01 a0 07 20 20 ed 0d | 01 a1 07 3d 61 24 0d ff |.... ..|...=a$..|
+--------+-------------------------+-------------------------+--------+--------+