home *** CD-ROM | disk | FTP | other *** search
Unknown | 1997-02-04 | 27.5 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
| |
100%
| xdgMime
| image/x-tga
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 0a 24 f4 20 3e 20 | 50 61 74 63 68 20 66 6f |...$. > |Patch fo|
|00000010| 72 20 6d 65 6d 6f 72 79 | 20 63 6f 6d 70 69 6c 61 |r memory| compila|
|00000020| 74 69 6f 6e 0d 00 14 3f | f4 20 43 72 65 61 74 65 |tion...?|. Create|
|00000030| 64 20 62 79 20 4a 46 50 | 61 74 63 68 20 76 32 2e |d by JFP|atch v2.|
|00000040| 33 30 df 20 28 32 31 20 | 44 65 63 20 31 39 39 36 |30. (21 |Dec 1996|
|00000050| 29 20 a9 20 4a 75 73 74 | 69 6e 20 46 6c 65 74 63 |) . Just|in Fletc|
|00000060| 68 65 72 0d 00 1e 30 f4 | 20 49 6e 74 65 72 6d 65 |her...0.| Interme|
|00000070| 64 69 61 74 65 20 63 6f | 64 65 20 66 69 6c 65 20 |diate co|de file |
|00000080| 63 72 65 61 74 65 64 20 | 30 35 20 46 65 62 20 31 |created |05 Feb 1|
|00000090| 39 39 37 0d 00 28 10 ee | 20 85 20 f2 45 72 72 6f |997..(..| . .Erro|
|000000a0| 72 3a e0 0d 00 32 13 f2 | 70 61 74 63 68 5f 6c 6f |r:...2..|patch_lo|
|000000b0| 61 64 66 69 6c 65 0d 00 | 3c 05 3a 0d 00 46 21 f4 |adfile..|<.:..F!.|
|000000c0| 20 2a 2a 2a 2a 20 55 73 | 65 72 20 70 72 65 2d 61 | **** Us|er pre-a|
|000000d0| 73 73 65 6d 62 6c 79 20 | 2a 2a 2a 2a 0d 00 50 05 |ssembly |****..P.|
|000000e0| 3a 0d 00 5a 25 f4 20 2a | 2a 2a 2a 20 4d 61 69 6e |:..Z%. *|*** Main|
|000000f0| 20 61 73 73 65 6d 62 6c | 79 20 72 6f 75 74 69 6e | assembl|y routin|
|00000100| 65 20 2a 2a 2a 2a 0d 00 | 64 17 73 70 3d 31 33 3a |e ****..|d.sp=13:|
|00000110| 6c 69 6e 6b 3d 31 34 3a | 70 63 3d 31 35 0d 00 6e |link=14:|pc=15..n|
|00000120| 2f 76 62 69 74 3d 31 3c | 3c 32 38 3a 63 62 69 74 |/vbit=1<|<28:cbit|
|00000130| 3d 31 3c 3c 32 39 3a 7a | 62 69 74 3d 31 3c 3c 33 |=1<<29:z|bit=1<<3|
|00000140| 30 3a 6e 62 69 74 3d 31 | 3c 3c 33 31 0d 00 78 10 |0:nbit=1|<<31..x.|
|00000150| 50 25 3d 26 30 3a 4f 25 | 3d 4d 43 25 0d 00 82 14 |P%=&0:O%|=MC%....|
|00000160| e3 20 70 61 73 73 25 3d | 34 20 b8 20 36 20 88 32 |. pass%=|4 . 6 .2|
|00000170| 0d 00 8c 3a 74 68 69 73 | 66 69 6c 65 24 3d 22 41 |...:this|file$="A|
|00000180| 44 46 53 3a 3a 47 65 72 | 70 68 2e 24 2e 50 61 74 |DFS::Ger|ph.$.Pat|
|00000190| 63 68 2e 57 69 6d 70 57 | 69 6e 64 6f 77 2e 53 6f |ch.WimpW|indow.So|
|000001a0| 75 72 63 65 60 31 2c 30 | 32 22 0d 00 96 22 f4 20 |urce`1,0|2"...". |
|000001b0| 2a 2a 2a 2a 20 53 74 61 | 72 74 20 6f 66 20 6d 61 |**** Sta|rt of ma|
|000001c0| 69 6e 20 63 6f 64 65 20 | 2a 2a 2a 2a 0d 00 a0 13 |in code |****....|
|000001d0| f2 70 61 74 63 68 5f 73 | 65 74 70 63 28 30 29 0d |.patch_s|etpc(0).|
|000001e0| 00 aa 0e 5b 4f 50 54 20 | 70 61 73 73 25 0d 00 b4 |...[OPT |pass%...|
|000001f0| 2b 20 20 20 20 20 20 20 | 20 20 20 3b 20 2a 2a 2a |+ | ; ***|
|00000200| 2a 20 41 64 64 20 6d 6f | 64 75 6c 65 20 68 65 61 |* Add mo|dule hea|
|00000210| 64 65 72 20 2a 2a 2a 2a | 0d 00 be 2d 20 20 20 45 |der ****|...- E|
|00000220| 51 55 44 20 30 20 20 20 | 20 20 20 20 20 20 20 20 |QUD 0 | |
|00000230| 20 20 20 20 20 20 20 3b | 20 53 74 61 72 74 20 6f | ;| Start o|
|00000240| 66 66 73 65 74 0d 00 c8 | 36 20 20 20 45 51 55 44 |ffset...|6 EQUD|
|00000250| 20 6d 6f 64 75 6c 65 5f | 69 6e 69 74 20 20 20 20 | module_|init |
|00000260| 20 20 20 20 3b 20 49 6e | 69 74 69 61 6c 69 73 61 | ; In|itialisa|
|00000270| 74 69 6f 6e 20 6f 66 66 | 73 65 74 0d 00 d2 34 20 |tion off|set...4 |
|00000280| 20 20 45 51 55 44 20 6d | 6f 64 75 6c 65 5f 66 69 | EQUD m|odule_fi|
|00000290| 6e 61 6c 20 20 20 20 20 | 20 20 3b 20 46 69 6e 61 |nal | ; Fina|
|000002a0| 6c 69 73 61 74 69 6f 6e | 20 6f 66 66 73 65 74 0d |lisation| offset.|
|000002b0| 00 dc 37 20 20 20 45 51 | 55 44 20 30 20 20 20 20 |..7 EQ|UD 0 |
|000002c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|000002d0| 53 65 72 76 69 63 65 20 | 72 65 71 75 65 73 74 20 |Service |request |
|000002e0| 6f 66 66 73 65 74 0d 00 | e6 34 20 20 20 45 51 55 |offset..|.4 EQU|
|000002f0| 44 20 6d 6f 64 75 6c 65 | 5f 74 69 74 6c 65 20 20 |D module|_title |
|00000300| 20 20 20 20 20 3b 20 54 | 69 74 6c 65 20 73 74 72 | ; T|itle str|
|00000310| 69 6e 67 20 6f 66 66 73 | 65 74 0d 00 f0 33 20 20 |ing offs|et...3 |
|00000320| 20 45 51 55 44 20 6d 6f | 64 75 6c 65 5f 68 65 6c | EQUD mo|dule_hel|
|00000330| 70 20 20 20 20 20 20 20 | 20 3b 20 48 65 6c 70 20 |p | ; Help |
|00000340| 73 74 72 69 6e 67 20 6f | 66 66 73 65 74 0d 00 fa |string o|ffset...|
|00000350| 46 20 20 20 45 51 55 44 | 20 30 20 20 20 20 20 20 |F EQUD| 0 |
|00000360| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 48 65 | | ; He|
|00000370| 6c 70 20 61 6e 64 20 63 | 6f 6d 6d 61 6e 64 20 6b |lp and c|ommand k|
|00000380| 65 79 77 6f 72 64 20 74 | 61 62 6c 65 20 6f 66 66 |eyword t|able off|
|00000390| 73 65 74 0d 01 04 36 20 | 20 20 45 51 55 44 20 26 |set...6 | EQUD &|
|000003a0| 39 30 33 34 30 20 20 20 | 20 20 20 20 20 20 20 20 |90340 | |
|000003b0| 20 20 3b 20 53 57 49 20 | 63 68 75 6e 6b 20 62 61 | ; SWI |chunk ba|
|000003c0| 73 65 20 6e 75 6d 62 65 | 72 0d 01 0e 38 20 20 20 |se numbe|r...8 |
|000003d0| 45 51 55 44 20 6d 6f 64 | 75 6c 65 5f 73 77 69 63 |EQUD mod|ule_swic|
|000003e0| 6f 64 65 20 20 20 20 20 | 3b 20 53 57 49 20 68 61 |ode |; SWI ha|
|000003f0| 6e 64 6c 65 72 20 63 6f | 64 65 20 6f 66 66 73 65 |ndler co|de offse|
|00000400| 74 0d 01 18 3a 20 20 20 | 45 51 55 44 20 6d 6f 64 |t...: |EQUD mod|
|00000410| 75 6c 65 5f 73 77 69 74 | 61 62 6c 65 20 20 20 20 |ule_swit|able |
|00000420| 3b 20 53 57 49 20 64 65 | 63 6f 64 69 6e 67 20 74 |; SWI de|coding t|
|00000430| 61 62 6c 65 20 6f 66 66 | 73 65 74 0d 01 22 39 20 |able off|set.."9 |
|00000440| 20 20 45 51 55 44 20 30 | 20 20 20 20 20 20 20 20 | EQUD 0| |
|00000450| 20 20 20 20 20 20 20 20 | 20 20 3b 20 53 57 49 20 | | ; SWI |
|00000460| 64 65 63 6f 64 69 6e 67 | 20 63 6f 64 65 20 6f 66 |decoding| code of|
|00000470| 66 73 65 74 0d 01 2c 05 | 3a 0d 01 36 11 2e 6d 6f |fset..,.|:..6..mo|
|00000480| 64 75 6c 65 5f 74 69 74 | 6c 65 0d 01 40 1b 20 20 |dule_tit|le..@. |
|00000490| 20 45 51 55 53 20 22 57 | 69 6d 70 57 69 6e 64 6f | EQUS "W|impWindo|
|000004a0| 77 22 2b bd 30 0d 01 4a | 0c 20 20 20 41 4c 49 47 |w"+.0..J|. ALIG|
|000004b0| 4e 0d 01 54 05 3a 0d 01 | 5e 10 2e 6d 6f 64 75 6c |N..T.:..|^..modul|
|000004c0| 65 5f 68 65 6c 70 0d 01 | 68 47 20 20 20 45 51 55 |e_help..|hG EQU|
|000004d0| 53 20 22 57 69 6d 70 57 | 69 6e 64 6f 77 22 2b bd |S "WimpW|indow"+.|
|000004e0| 39 2b 22 31 2e 30 32 20 | 28 22 2b c1 91 24 2c 35 |9+"1.02 |("+..$,5|
|000004f0| 2c 31 31 29 2b 22 29 20 | a9 20 4a 75 73 74 69 6e |,11)+") |. Justin|
|00000500| 20 46 6c 65 74 63 68 65 | 72 22 2b bd 30 0d 01 72 | Fletche|r"+.0..r|
|00000510| 0c 20 20 20 41 4c 49 47 | 4e 0d 01 7c 05 3a 0d 01 |. ALIG|N..|.:..|
|00000520| 86 10 2e 6d 6f 64 75 6c | 65 5f 69 6e 69 74 0d 01 |...modul|e_init..|
|00000530| 90 37 20 20 20 53 54 4d | 46 44 20 20 20 28 73 70 |.7 STM|FD (sp|
|00000540| 29 21 2c 7b 72 30 2d 72 | 34 2c 6c 69 6e 6b 7d 20 |)!,{r0-r|4,link} |
|00000550| 20 20 20 20 3b 20 53 74 | 61 63 6b 20 72 65 67 69 | ; St|ack regi|
|00000560| 73 74 65 72 73 0d 01 9a | 14 20 20 20 4d 4f 56 20 |sters...|. MOV |
|00000570| 20 20 20 20 72 30 2c 23 | 36 0d 01 a4 13 20 a4 4c | r0,#|6.... .L|
|00000580| 4d 4f 56 28 22 22 2c 33 | 2c 26 34 29 0d 01 ae 3f |MOV("",3|,&4)...?|
|00000590| 20 20 20 53 57 49 20 20 | 20 20 20 22 58 4f 53 5f | SWI | "XOS_|
|000005a0| 4d 6f 64 75 6c 65 22 20 | 20 20 20 20 20 20 20 20 |Module" | |
|000005b0| 20 20 3b 20 43 6c 61 69 | 6d 20 70 72 69 76 61 74 | ; Clai|m privat|
|000005c0| 65 20 77 6f 72 6b 73 70 | 61 63 65 0d 01 b8 3a 20 |e worksp|ace...: |
|000005d0| 20 20 41 44 44 56 53 20 | 20 20 73 70 2c 73 70 2c | ADDVS | sp,sp,|
|000005e0| 23 34 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |#4 | |
|000005f0| 20 3b 20 69 66 20 65 72 | 72 6f 72 20 72 65 74 75 | ; if er|ror retu|
|00000600| 72 6e 20 72 30 0d 01 c2 | 34 20 20 20 4c 44 4d 56 |rn r0...|4 LDMV|
|00000610| 53 46 44 20 28 73 70 29 | 21 2c 7b 72 31 2d 72 34 |SFD (sp)|!,{r1-r4|
|00000620| 2c 70 63 7d 20 20 20 20 | 20 20 20 3b 20 72 65 74 |,pc} | ; ret|
|00000630| 75 72 6e 20 65 72 72 6f | 72 0d 01 cc 3d 20 20 20 |urn erro|r...= |
|00000640| 53 54 52 20 20 20 20 20 | 72 32 2c 5b 72 31 32 5d |STR |r2,[r12]|
|00000650| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00000660| 20 73 74 6f 72 65 20 69 | 6e 20 70 72 69 76 61 74 | store i|n privat|
|00000670| 65 20 77 6f 72 64 0d 01 | d6 31 20 20 20 4d 4f 56 |e word..|.1 MOV|
|00000680| 20 20 20 20 20 72 31 32 | 2c 72 32 20 20 20 20 20 | r12|,r2 |
|00000690| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 72 31 | | ; r1|
|000006a0| 32 3d 73 70 61 63 65 0d | 01 e0 39 20 20 20 4c 44 |2=space.|..9 LD|
|000006b0| 4d 46 44 20 20 20 28 73 | 70 29 21 2c 7b 72 30 2d |MFD (s|p)!,{r0-|
|000006c0| 72 34 2c 6c 69 6e 6b 7d | 20 20 20 20 20 3b 20 72 |r4,link}| ; r|
|000006d0| 65 73 74 6f 72 65 20 72 | 65 67 69 73 74 65 72 73 |estore r|egisters|
|000006e0| 0d 01 ea 13 20 20 20 42 | 20 20 20 20 20 20 20 69 |.... B| i|
|000006f0| 6e 69 74 0d 01 f4 05 3a | 0d 01 fe 11 2e 6d 6f 64 |nit....:|.....mod|
|00000700| 75 6c 65 5f 66 69 6e 61 | 6c 0d 02 08 37 20 20 20 |ule_fina|l...7 |
|00000710| 53 54 4d 46 44 20 20 20 | 28 73 70 29 21 2c 7b 72 |STMFD |(sp)!,{r|
|00000720| 30 2d 72 34 2c 72 31 32 | 2c 6c 69 6e 6b 7d 20 3b |0-r4,r12|,link} ;|
|00000730| 20 53 74 61 63 6b 20 72 | 65 67 69 73 74 65 72 73 | Stack r|egisters|
|00000740| 0d 02 12 18 20 20 20 4c | 44 52 20 20 20 20 20 72 |.... L|DR r|
|00000750| 31 32 2c 5b 72 31 32 5d | 0d 02 1c 14 20 20 20 4d |12,[r12]|.... M|
|00000760| 4f 56 20 20 20 20 20 72 | 30 2c 23 37 0d 02 26 15 |OV r|0,#7..&.|
|00000770| 20 20 20 4d 4f 56 20 20 | 20 20 20 72 32 2c 72 31 | MOV | r2,r1|
|00000780| 32 0d 02 30 39 20 20 20 | 53 57 49 20 20 20 20 20 |2..09 |SWI |
|00000790| 22 58 4f 53 5f 4d 6f 64 | 75 6c 65 22 20 20 20 20 |"XOS_Mod|ule" |
|000007a0| 20 20 20 20 20 20 20 3b | 20 52 65 6c 65 61 73 65 | ;| Release|
|000007b0| 20 77 6f 72 6b 73 70 61 | 63 65 0d 02 3a 17 20 20 | workspa|ce..:. |
|000007c0| 20 41 44 44 56 53 20 20 | 20 73 70 2c 73 70 2c 23 | ADDVS | sp,sp,#|
|000007d0| 34 0d 02 44 37 20 20 20 | 4c 44 4d 56 53 46 44 20 |4..D7 |LDMVSFD |
|000007e0| 28 73 70 29 21 2c 7b 72 | 31 2d 72 34 2c 72 31 32 |(sp)!,{r|1-r4,r12|
|000007f0| 2c 70 63 7d 20 20 20 3b | 20 52 65 74 75 72 6e 20 |,pc} ;| Return |
|00000800| 69 66 20 65 72 72 6f 72 | 0d 02 4e 2e 20 20 20 4c |if error|..N. L|
|00000810| 44 4d 46 44 20 20 20 28 | 73 70 29 21 2c 7b 72 30 |DMFD (|sp)!,{r0|
|00000820| 2d 72 34 2c 72 31 32 2c | 70 63 7d 20 20 20 3b 20 |-r4,r12,|pc} ; |
|00000830| 52 65 74 75 72 6e 0d 02 | 58 05 3a 0d 02 62 15 3b |Return..|X.:..b.;|
|00000840| 20 2a 2a 2a 2a 2a 20 53 | 57 49 20 74 61 62 6c 65 | ***** S|WI table|
|00000850| 0d 02 6c 14 2e 6d 6f 64 | 75 6c 65 5f 73 77 69 74 |..l..mod|ule_swit|
|00000860| 61 62 6c 65 0d 02 76 2b | 20 20 20 45 51 55 53 20 |able..v+| EQUS |
|00000870| 22 57 69 6d 70 57 69 6e | 64 6f 77 22 20 20 20 20 |"WimpWin|dow" |
|00000880| 20 20 20 3b 20 53 57 49 | 20 70 72 65 66 69 78 0d | ; SWI| prefix.|
|00000890| 02 80 0d 20 20 20 45 51 | 55 42 20 30 0d 02 8a 17 |... EQ|UB 0....|
|000008a0| 20 20 20 45 51 55 53 20 | 22 43 6f 6c 6f 75 72 22 | EQUS |"Colour"|
|000008b0| 2b bd 30 0d 02 94 1b 20 | 20 20 45 51 55 53 20 22 |+.0.... | EQUS "|
|000008c0| 54 69 74 6c 65 46 6c 61 | 67 73 22 2b bd 30 0d 02 |TitleFla|gs"+.0..|
|000008d0| 9e 1a 20 20 20 45 51 55 | 53 20 22 57 6f 72 6b 46 |.. EQU|S "WorkF|
|000008e0| 6c 61 67 73 22 2b bd 30 | 0d 02 a8 1b 20 20 20 45 |lags"+.0|.... E|
|000008f0| 51 55 53 20 22 53 70 72 | 69 74 65 41 72 65 61 22 |QUS "Spr|iteArea"|
|00000900| 2b bd 30 0d 02 b2 19 20 | 20 20 45 51 55 53 20 22 |+.0.... | EQUS "|
|00000910| 4d 69 6e 57 69 64 74 68 | 22 2b bd 30 0d 02 bc 1a |MinWidth|"+.0....|
|00000920| 20 20 20 45 51 55 53 20 | 22 4d 69 6e 48 65 69 67 | EQUS |"MinHeig|
|00000930| 68 74 22 2b bd 30 0d 02 | c6 1a 20 20 20 45 51 55 |ht"+.0..|.. EQU|
|00000940| 53 20 22 54 69 74 6c 65 | 44 61 74 61 22 2b bd 30 |S "Title|Data"+.0|
|00000950| 0d 02 d0 1c 20 20 20 45 | 51 55 53 20 22 57 69 6e |.... E|QUS "Win|
|00000960| 64 6f 77 46 6c 61 67 73 | 22 2b bd 30 0d 02 da 0d |dowFlags|"+.0....|
|00000970| 20 20 20 45 51 55 42 20 | 30 0d 02 e4 0c 20 20 20 | EQUB |0.... |
|00000980| 41 4c 49 47 4e 0d 02 ee | 05 3a 0d 02 f8 1c 3b 20 |ALIGN...|.:....; |
|00000990| 2a 2a 2a 2a 2a 20 53 57 | 49 20 68 61 6e 64 6c 65 |***** SW|I handle|
|000009a0| 72 20 63 6f 64 65 0d 03 | 02 13 2e 6d 6f 64 75 6c |r code..|...modul|
|000009b0| 65 5f 73 77 69 63 6f 64 | 65 0d 03 0c 18 20 20 20 |e_swicod|e.... |
|000009c0| 4c 44 52 20 20 20 20 20 | 72 31 32 2c 5b 72 31 32 |LDR |r12,[r12|
|000009d0| 5d 0d 03 16 15 20 20 20 | 43 4d 50 20 20 20 20 20 |].... |CMP |
|000009e0| 72 31 31 2c 23 38 0d 03 | 20 1f 20 20 20 41 44 44 |r11,#8..| . ADD|
|000009f0| 4c 54 20 20 20 70 63 2c | 70 63 2c 72 31 31 2c 4c |LT pc,|pc,r11,L|
|00000a00| 53 4c 20 23 32 0d 03 2a | 1e 20 20 20 42 20 20 20 |SL #2..*|. B |
|00000a10| 20 20 20 20 6d 6f 64 75 | 6c 65 5f 73 77 69 65 72 | modu|le_swier|
|00000a20| 72 6f 72 0d 03 34 1a 3b | 20 2a 2a 2a 2a 2a 20 53 |ror..4.;| ***** S|
|00000a30| 57 49 20 6a 75 6d 70 20 | 74 61 62 6c 65 0d 03 3e |WI jump |table..>|
|00000a40| 18 20 20 20 42 20 20 20 | 20 20 20 73 77 69 5f 63 |. B | swi_c|
|00000a50| 6f 6c 6f 75 72 0d 03 48 | 1c 20 20 20 42 20 20 20 |olour..H|. B |
|00000a60| 20 20 20 73 77 69 5f 74 | 69 74 6c 65 66 6c 61 67 | swi_t|itleflag|
|00000a70| 73 0d 03 52 1b 20 20 20 | 42 20 20 20 20 20 20 73 |s..R. |B s|
|00000a80| 77 69 5f 77 6f 72 6b 66 | 6c 61 67 73 0d 03 5c 1c |wi_workf|lags..\.|
|00000a90| 20 20 20 42 20 20 20 20 | 20 20 73 77 69 5f 73 70 | B | swi_sp|
|00000aa0| 72 69 74 65 61 72 65 61 | 0d 03 66 1a 20 20 20 42 |ritearea|..f. B|
|00000ab0| 20 20 20 20 20 20 73 77 | 69 5f 6d 69 6e 77 69 64 | sw|i_minwid|
|00000ac0| 74 68 0d 03 70 1b 20 20 | 20 42 20 20 20 20 20 20 |th..p. | B |
|00000ad0| 73 77 69 5f 6d 69 6e 68 | 65 69 67 68 74 0d 03 7a |swi_minh|eight..z|
|00000ae0| 1b 20 20 20 42 20 20 20 | 20 20 20 73 77 69 5f 74 |. B | swi_t|
|00000af0| 69 74 6c 65 64 61 74 61 | 0d 03 84 1d 20 20 20 42 |itledata|.... B|
|00000b00| 20 20 20 20 20 20 73 77 | 69 5f 77 69 6e 64 6f 77 | sw|i_window|
|00000b10| 66 6c 61 67 73 0d 03 8e | 14 2e 6d 6f 64 75 6c 65 |flags...|..module|
|00000b20| 5f 73 77 69 65 72 72 6f | 72 0d 03 98 22 20 20 20 |_swierro|r..." |
|00000b30| 41 44 52 20 20 20 20 20 | 72 30 2c 60 6d 6f 64 75 |ADR |r0,`modu|
|00000b40| 6c 65 5f 73 77 69 65 72 | 72 6f 72 0d 03 a2 3a 20 |le_swier|ror...: |
|00000b50| 20 20 84 52 53 20 20 20 | 20 70 63 2c 6c 69 6e 6b | .RS | pc,link|
|00000b60| 2c 23 76 62 69 74 20 20 | 20 20 20 20 20 20 3b 20 |,#vbit | ; |
|00000b70| 73 65 74 20 56 20 66 6c | 61 67 20 61 6e 64 20 72 |set V fl|ag and r|
|00000b80| 65 74 75 72 6e 0d 03 ac | 15 2e 60 6d 6f 64 75 6c |eturn...|..`modul|
|00000b90| 65 5f 73 77 69 65 72 72 | 6f 72 0d 03 b6 13 20 20 |e_swierr|or.... |
|00000ba0| 20 45 51 55 44 20 20 20 | 20 26 31 45 36 0d 03 c0 | EQUD | &1E6...|
|00000bb0| 3f 20 20 20 45 51 55 53 | 20 20 20 20 22 53 57 49 |? EQUS| "SWI|
|00000bc0| 20 63 6f 64 65 20 6f 75 | 74 20 6f 66 20 72 61 6e | code ou|t of ran|
|00000bd0| 67 65 20 66 6f 72 20 6d | 6f 64 75 6c 65 20 57 69 |ge for m|odule Wi|
|00000be0| 6d 70 57 69 6e 64 6f 77 | 22 2b bd 30 0d 03 ca 0c |mpWindow|"+.0....|
|00000bf0| 20 20 20 41 4c 49 47 4e | 0d 03 d4 05 3a 0d 03 de | ALIGN|....:...|
|00000c00| 2e 20 20 20 20 20 20 20 | 20 20 20 3b 20 2a 2a 2a |. | ; ***|
|00000c10| 2a 20 45 6e 64 20 6f 66 | 20 6d 6f 64 75 6c 65 20 |* End of| module |
|00000c20| 68 65 61 64 65 72 20 2a | 2a 2a 2a 0d 03 e8 05 3a |header *|***....:|
|00000c30| 0d 03 f2 49 3b 20 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |...I; **|********|
|00000c40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 03 fc 18 3b 20 53 |********|*....; S|
|00000c80| 75 62 72 6f 75 74 69 6e | 65 3b 20 20 20 69 6e 69 |ubroutin|e; ini|
|00000c90| 74 0d 04 06 45 3b 20 44 | 65 73 63 72 69 70 74 69 |t...E; D|escripti|
|00000ca0| 6f 6e 3b 20 20 43 68 65 | 63 6b 20 74 68 65 20 52 |on; Che|ck the R|
|00000cb0| 4f 20 76 65 72 73 69 6f | 6e 20 61 6e 64 20 63 72 |O versio|n and cr|
|00000cc0| 65 61 74 65 20 61 6e 20 | 6f 66 66 73 65 74 20 66 |eate an |offset f|
|00000cd0| 6f 72 20 74 68 65 0d 04 | 10 1e 3b 20 20 20 20 20 |or the..|..; |
|00000ce0| 20 20 20 20 20 20 20 20 | 20 20 6c 61 74 65 72 20 | | later |
|00000cf0| 6f 6e 65 73 0d 04 1a 18 | 3b 20 50 61 72 61 6d 65 |ones....|; Parame|
|00000d00| 74 65 72 73 3b 20 20 20 | 6e 6f 6e 65 0d 04 24 18 |ters; |none..$.|
|00000d10| 3b 20 52 65 74 75 72 6e | 73 3b 20 20 20 20 20 20 |; Return|s; |
|00000d20| 6e 6f 6e 65 0d 04 2e 49 | 3b 20 2a 2a 2a 2a 2a 2a |none...I|; ******|
|00000d30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000d40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000d50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000d60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 04 38 |********|*****..8|
|00000d70| 09 2e 69 6e 69 74 0d 04 | 42 3e 20 20 20 53 54 4d |..init..|B> STM|
|00000d80| 46 44 20 20 20 28 73 70 | 29 21 2c 7b 72 30 2d 72 |FD (sp|)!,{r0-r|
|00000d90| 35 2c 6c 69 6e 6b 7d 20 | 20 20 20 20 20 20 20 20 |5,link} | |
|00000da0| 20 20 20 3b 20 53 74 61 | 63 6b 20 72 65 67 69 73 | ; Sta|ck regis|
|00000db0| 74 65 72 73 0d 04 4c 15 | 20 20 20 4d 4f 56 20 20 |ters..L.| MOV |
|00000dc0| 20 20 20 72 30 2c 23 31 | 38 0d 04 56 1c 20 20 20 | r0,#1|8..V. |
|00000dd0| 41 44 52 20 20 20 20 20 | 72 31 2c 5f 5f 7a 30 5f |ADR |r1,__z0_|
|00000de0| 60 6e 61 6d 65 0d 04 60 | 1a 20 20 20 53 57 49 20 |`name..`|. SWI |
|00000df0| 20 20 20 20 22 4f 53 5f | 4d 6f 64 75 6c 65 22 0d | "OS_|Module".|
|00000e00| 04 6a 44 20 20 20 4c 44 | 52 20 20 20 20 20 72 31 |.jD LD|R r1|
|00000e10| 2c 5b 72 33 2c 23 26 31 | 34 5d 20 20 20 20 20 20 |,[r3,#&1|4] |
|00000e20| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 6f 66 | | ; of|
|00000e30| 66 73 65 74 20 74 6f 20 | 68 65 6c 70 20 73 74 72 |fset to |help str|
|00000e40| 69 6e 67 0d 04 74 45 20 | 20 20 41 44 44 20 20 20 |ing..tE | ADD |
|00000e50| 20 20 72 31 2c 72 31 2c | 72 33 20 20 20 20 20 20 | r1,r1,|r3 |
|00000e60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000e70| 3b 20 70 6f 69 6e 74 65 | 72 20 74 6f 20 68 65 6c |; pointe|r to hel|
|00000e80| 70 20 73 74 72 69 6e 67 | 0d 04 7e 12 2e 5f 5f 7a |p string|..~..__z|
|00000e90| 30 5f 74 65 78 74 6c 6f | 6f 70 0d 04 88 46 20 20 |0_textlo|op...F |
|00000ea0| 20 4c 44 52 42 20 20 20 | 20 72 30 2c 5b 72 31 5d | LDRB | r0,[r1]|
|00000eb0| 2c 23 31 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |,#1 | |
|00000ec0| 20 20 20 20 20 20 20 3b | 20 72 65 61 64 20 62 79 | ;| read by|
|00000ed0| 74 65 20 61 6e 64 20 69 | 6e 63 72 65 6d 65 6e 74 |te and i|ncrement|
|00000ee0| 0d 04 92 44 20 20 20 43 | 4d 50 20 20 20 20 20 72 |...D C|MP r|
|00000ef0| 30 2c 23 39 20 20 20 20 | 20 20 20 20 20 20 20 20 |0,#9 | |
|00000f00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 75 | | ; u|
|00000f10| 6e 74 69 6c 20 77 65 20 | 67 65 74 20 74 6f 20 61 |ntil we |get to a|
|00000f20| 20 74 61 62 0d 04 9c 42 | 20 20 20 42 4e 45 20 20 | tab...B| BNE |
|00000f30| 20 20 20 5f 5f 7a 30 5f | 74 65 78 74 6c 6f 6f 70 | __z0_|textloop|
|00000f40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000f50| 20 20 20 20 20 3b 20 67 | 6f 20 61 72 6f 75 6e 64 | ; g|o around|
|00000f60| 20 61 67 61 69 6e 0d 04 | a6 4b 20 20 20 4c 44 52 | again..|.K LDR|
|00000f70| 42 20 20 20 20 72 30 2c | 5b 72 31 2c 23 32 5d 20 |B r0,|[r1,#2] |
|00000f80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000f90| 20 20 20 3b 20 72 65 61 | 64 20 74 68 65 20 73 75 | ; rea|d the su|
|00000fa0| 62 20 76 65 72 73 69 6f | 6e 20 69 65 20 23 2e 78 |b versio|n ie #.x|
|00000fb0| 23 0d 04 b0 43 20 20 20 | 43 4d 50 20 20 20 20 20 |#...C |CMP |
|00000fc0| 72 30 2c 23 97 28 22 36 | 22 29 20 20 20 20 20 20 |r0,#.("6|") |
|00000fd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 69 73 | | ; is|
|00000fe0| 20 74 68 69 73 20 76 65 | 72 73 69 6f 6e 20 33 2e | this ve|rsion 3.|
|00000ff0| 36 78 20 3f 0d 04 ba 50 | 20 20 20 20 20 20 20 20 |6x ?...P| |
|00001000| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001010| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001020| 20 3b 20 74 68 69 73 20 | 77 69 6c 6c 20 64 69 65 | ; this |will die|
|00001030| 20 77 68 65 6e 20 72 6f | 34 20 63 6f 6d 65 73 20 | when ro|4 comes |
|00001040| 6f 75 74 21 0d 04 c4 3a | 20 20 20 4d 4f 56 47 45 |out!...:| MOVGE|
|00001050| 20 20 20 72 30 2c 23 38 | 20 20 20 20 20 20 20 20 | r0,#8| |
|00001060| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001070| 20 3b 20 6f 66 66 73 65 | 74 20 6f 66 20 38 0d 04 | ; offse|t of 8..|
|00001080| ce 38 20 20 20 4d 4f 56 | 4c 54 20 20 20 72 30 2c |.8 MOV|LT r0,|
|00001090| 23 30 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |#0 | |
|000010a0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 6e 6f 20 | | ; no |
|000010b0| 6f 66 66 73 65 74 0d 04 | d8 45 20 20 20 53 54 52 |offset..|.E STR|
|000010c0| 20 20 20 20 20 72 30 2c | 5b 72 31 32 5d 20 20 20 | r0,|[r12] |
|000010d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000010e0| 20 20 20 3b 20 73 74 6f | 72 65 20 69 6e 20 70 72 | ; sto|re in pr|
|000010f0| 69 76 61 74 65 20 73 70 | 61 63 65 0d 04 e2 3f 20 |ivate sp|ace...? |
|00001100| 20 20 4c 44 4d 46 44 20 | 20 20 28 73 70 29 21 2c | LDMFD | (sp)!,|
|00001110| 7b 72 30 2d 72 35 2c 70 | 63 7d 20 20 20 20 20 20 |{r0-r5,p|c} |
|00001120| 20 20 20 20 20 20 20 20 | 3b 20 52 65 74 75 72 6e | |; Return|
|00001130| 20 66 72 6f 6d 20 63 61 | 6c 6c 0d 04 ec 05 3a 0d | from ca|ll....:.|
|00001140| 04 f6 0f 2e 5f 5f 7a 30 | 5f 60 6e 61 6d 65 0d 05 |....__z0|_`name..|
|00001150| 00 21 20 20 20 45 51 55 | 53 20 20 20 20 22 57 69 |.! EQU|S "Wi|
|00001160| 6e 64 6f 77 4d 61 6e 61 | 67 65 72 22 2b bd 30 0d |ndowMana|ger"+.0.|
|00001170| 05 0a 0c 20 20 20 41 4c | 49 47 4e 0d 05 14 05 3a |... AL|IGN....:|
|00001180| 0d 05 1e 49 3b 20 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |...I; **|********|
|00001190| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000011a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000011b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000011c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 05 28 22 3b 20 53 |********|*..("; S|
|000011d0| 75 62 72 6f 75 74 69 6e | 65 3b 20 20 20 63 68 65 |ubroutin|e; che|
|000011e0| 63 6b 5f 72 30 5f 76 61 | 6c 69 64 0d 05 32 3b 3b |ck_r0_va|lid..2;;|
|000011f0| 20 44 65 73 63 72 69 70 | 74 69 6f 6e 3b 20 20 43 | Descrip|tion; C|
|00001200| 68 65 63 6b 73 20 74 68 | 61 74 20 72 30 20 69 73 |hecks th|at r0 is|
|00001210| 20 61 20 76 61 6c 69 64 | 20 77 69 6e 64 6f 77 20 | a valid| window |
|00001220| 68 61 6e 64 6c 65 0d 05 | 3c 26 3b 20 50 61 72 61 |handle..|<&; Para|
|00001230| 6d 65 74 65 72 73 3b 20 | 20 20 72 30 2d 3e 20 77 |meters; | r0-> w|
|00001240| 69 6e 64 6f 77 20 68 61 | 6e 64 6c 65 0d 05 46 36 |indow ha|ndle..F6|
|00001250| 3b 20 52 65 74 75 72 6e | 73 3b 20 20 20 20 20 20 |; Return|s; |
|00001260| 56 53 20 61 6e 64 20 72 | 30 2d 3e 20 65 72 72 6f |VS and r|0-> erro|
|00001270| 72 20 62 6c 6f 63 6b 20 | 69 66 20 69 6e 76 61 6c |r block |if inval|
|00001280| 69 64 0d 05 50 49 3b 20 | 2a 2a 2a 2a 2a 2a 2a 2a |id..PI; |********|
|00001290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000012a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000012b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000012c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 05 5a 13 2e |********|***..Z..|
|000012d0| 63 68 65 63 6b 5f 72 30 | 5f 76 61 6c 69 64 0d 05 |check_r0|_valid..|
|000012e0| 64 3e 20 20 20 53 54 4d | 46 44 20 20 20 28 73 70 |d> STM|FD (sp|
|000012f0| 29 21 2c 7b 72 30 2d 72 | 32 2c 6c 69 6e 6b 7d 20 |)!,{r0-r|2,link} |
|00001300| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 53 74 61 | | ; Sta|
|00001310| 63 6b 20 72 65 67 69 73 | 74 65 72 73 0d 05 6e 42 |ck regis|ters..nB|
|00001320| 20 20 20 80 20 20 20 20 | 20 72 31 2c 72 30 2c 23 | . | r1,r0,#|
|00001330| 33 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |3 | |
|00001340| 20 20 20 20 20 20 20 3b | 20 72 65 61 64 20 62 6f | ;| read bo|
|00001350| 74 74 6f 6d 20 74 77 6f | 20 62 79 74 65 73 0d 05 |ttom two| bytes..|
|00001360| 78 3a 20 20 20 43 4d 50 | 20 20 20 20 20 72 31 2c |x: CMP| r1,|
|00001370| 23 31 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |#1 | |
|00001380| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 69 73 20 | | ; is |
|00001390| 62 30 20 73 65 74 20 3f | 0d 05 82 52 20 20 20 42 |b0 set ?|...R B|
|000013a0| 4e 45 20 20 20 20 20 5f | 5f 7a 31 5f 6e 6f 74 62 |NE _|_z1_notb|
|000013b0| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|000013c0| 20 20 20 20 20 20 20 20 | 20 3b 20 69 66 20 6e 6f | | ; if no|
|000013d0| 74 2c 20 63 6c 61 69 6d | 20 69 74 27 73 20 6e 6f |t, claim| it's no|
|000013e0| 74 20 61 20 77 69 6e 64 | 6f 77 0d 05 8c 37 20 20 |t a wind|ow...7 |
|000013f0| 20 42 49 43 20 20 20 20 | 20 72 30 2c 72 30 2c 23 | BIC | r0,r0,#|
|00001400| 31 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |1 | |
|00001410| 20 20 20 20 20 20 20 3b | 20 63 6c 65 61 72 20 62 | ;| clear b|
|00001420| 30 0d 05 96 3e 20 20 20 | 4c 44 52 20 20 20 20 20 |0...> |LDR |
|00001430| 72 31 2c 5b 72 30 5d 20 | 20 20 20 20 20 20 20 20 |r1,[r0] | |
|00001440| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00001450| 72 65 61 64 20 66 69 72 | 73 74 20 77 6f 72 64 0d |read fir|st word.|
|00001460| 05 a0 3e 20 20 20 4c 44 | 52 20 20 20 20 20 72 32 |..> LD|R r2|
|00001470| 2c 5f 5f 7a 31 5f 60 77 | 69 6e 64 20 20 20 20 20 |,__z1_`w|ind |
|00001480| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001490| 3b 20 72 65 61 64 20 6d | 61 72 6b 65 72 0d 05 aa |; read m|arker...|
|000014a0| 46 20 20 20 43 4d 50 20 | 20 20 20 20 72 31 2c 72 |F CMP | r1,r|
|000014b0| 32 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |2 | |
|000014c0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 69 73 20 69 | | ; is i|
|000014d0| 74 20 72 65 61 6c 6c 79 | 20 61 20 77 69 6e 64 6f |t really| a windo|
|000014e0| 77 20 3f 0d 05 b4 45 20 | 20 20 42 4e 45 20 20 20 |w ?...E | BNE |
|000014f0| 20 20 5f 5f 7a 31 5f 6e | 6f 74 61 77 69 6e 64 6f | __z1_n|otawindo|
|00001500| 77 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |w | |
|00001510| 20 20 20 20 3b 20 69 66 | 20 6e 6f 74 2c 20 62 6f | ; if| not, bo|
|00001520| 75 6e 63 65 20 6f 75 74 | 0d 05 be 2e 3b 20 63 68 |unce out|....; ch|
|00001530| 65 63 6b 20 74 68 65 20 | 44 6f 6d 61 69 6e 49 44 |eck the |DomainID|
|00001540| 20 69 66 20 6e 6f 74 20 | 65 78 74 65 72 6e 61 6c | if not |external|
|00001550| 20 74 61 73 6b 73 0d 05 | c8 3c 20 20 20 4c 44 52 | tasks..|.< LDR|
|00001560| 20 20 20 20 20 72 31 2c | 5b 72 30 2c 23 34 5d 20 | r1,|[r0,#4] |
|00001570| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001580| 20 20 20 3b 20 72 65 61 | 64 20 44 6f 6d 61 69 6e | ; rea|d Domain|
|00001590| 49 64 0d 05 d2 17 20 a4 | 4c 4d 4f 56 28 22 20 20 |Id.... .|LMOV(" |
|000015a0| 22 2c 32 2c 26 46 46 38 | 29 0d 05 dc 23 20 20 20 |",2,&FF8|)...# |
|000015b0| 20 20 20 20 20 20 20 3b | 20 61 64 64 72 65 73 73 | ;| address|
|000015c0| 20 6f 66 20 44 6f 6d 61 | 69 6e 49 64 0d 05 e6 44 | of Doma|inId...D|
|000015d0| 20 20 20 4c 44 52 20 20 | 20 20 20 72 32 2c 5b 72 | LDR | r2,[r|
|000015e0| 32 5d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |2] | |
|000015f0| 20 20 20 20 20 20 20 20 | 20 3b 20 72 65 61 64 20 | | ; read |
|00001600| 63 75 72 72 65 6e 74 20 | 44 6f 6d 61 69 6e 49 64 |current |DomainId|
|00001610| 0d 05 f0 22 3b 20 20 20 | 20 f4 20 20 20 20 20 22 |..."; | . "|
|00001620| 4f 77 6e 65 72 20 25 26 | 31 2c 20 55 73 20 25 26 |Owner %&|1, Us %&|
|00001630| 32 22 0d 05 fa 42 20 20 | 20 43 4d 50 20 20 20 20 |2"...B | CMP |
|00001640| 20 72 31 2c 72 32 20 20 | 20 20 20 20 20 20 20 20 | r1,r2 | |
|00001650| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00001660| 20 61 72 65 20 74 68 65 | 79 20 74 68 65 20 73 61 | are the|y the sa|
|00001670| 6d 65 20 3f 0d 06 04 43 | 20 20 20 42 4e 45 20 20 |me ?...C| BNE |
|00001680| 20 20 20 5f 5f 7a 31 5f | 6e 6f 74 79 6f 75 72 77 | __z1_|notyourw|
|00001690| 69 6e 64 6f 77 20 20 20 | 20 20 20 20 20 20 20 20 |indow | |
|000016a0| 20 20 20 20 20 3b 20 69 | 66 20 6e 6f 74 2c 20 70 | ; i|f not, p|
|000016b0| 75 73 68 20 6f 66 66 0d | 06 0e 3f 20 20 20 4c 44 |ush off.|..? LD|
|000016c0| 4d 46 44 20 20 20 28 73 | 70 29 21 2c 7b 72 30 2d |MFD (s|p)!,{r0-|
|000016d0| 72 32 2c 70 63 7d 20 20 | 20 20 20 20 20 20 20 20 |r2,pc} | |
|000016e0| 20 20 20 20 3b 20 52 65 | 74 75 72 6e 20 66 72 6f | ; Re|turn fro|
|000016f0| 6d 20 63 61 6c 6c 0d 06 | 18 0f 2e 5f 5f 7a 31 5f |m call..|...__z1_|
|00001700| 60 77 69 6e 64 0d 06 22 | 46 20 20 20 45 51 55 53 |`wind.."|F EQUS|
|00001710| 20 20 20 20 22 57 69 6e | 64 22 20 20 20 20 20 20 | "Win|d" |
|00001720| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001730| 20 20 3b 20 6d 61 72 6b | 65 72 20 66 6f 72 20 77 | ; mark|er for w|
|00001740| 69 6e 64 6f 77 20 73 74 | 61 72 74 0d 06 2c 0f 2e |indow st|art..,..|
|00001750| 5f 5f 7a 31 5f 6e 6f 74 | 62 30 0d 06 36 3e 20 20 |__z1_not|b0..6> |
|00001760| 20 41 44 52 20 20 20 20 | 20 72 30 2c 5f 5f 7a 31 | ADR | r0,__z1|
|00001770| 5f 60 6e 6f 74 62 30 20 | 20 20 20 20 20 20 20 20 |_`notb0 | |
|00001780| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 65 72 72 | | ; err|
|00001790| 6f 72 20 62 6c 6f 63 6b | 0d 06 40 0f 2e 5f 5f 7a |or block|..@..__z|
|000017a0| 31 5f 65 72 72 6f 72 0d | 06 4a 36 20 20 20 41 44 |1_error.|.J6 AD|
|000017b0| 44 20 20 20 20 20 73 70 | 2c 73 70 2c 23 34 20 20 |D sp|,sp,#4 |
|000017c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000017d0| 20 20 20 20 3b 20 73 6b | 69 70 20 72 30 0d 06 54 | ; sk|ip r0..T|
|000017e0| 3f 20 20 20 4c 44 4d 46 | 44 20 20 20 28 73 70 29 |? LDMF|D (sp)|
|000017f0| 21 2c 7b 72 31 2d 72 32 | 2c 6c 69 6e 6b 7d 20 20 |!,{r1-r2|,link} |
|00001800| 20 20 20 20 20 20 20 20 | 20 20 3b 20 52 65 74 75 | | ; Retu|
|00001810| 72 6e 20 66 72 6f 6d 20 | 63 61 6c 6c 0d 06 5e 3d |rn from |call..^=|
|00001820| 20 20 20 84 52 53 20 20 | 20 20 70 63 2c 6c 69 6e | .RS | pc,lin|
|00001830| 6b 2c 23 76 62 69 74 20 | 20 20 20 20 20 20 20 20 |k,#vbit | |
|00001840| 20 20 20 20 20 20 20 20 | 3b 20 65 78 69 74 20 77 | |; exit w|
|00001850| 69 74 68 20 56 20 73 65 | 74 0d 06 68 10 2e 5f 5f |ith V se|t..h..__|
|00001860| 7a 31 5f 60 6e 6f 74 62 | 30 0d 06 72 15 20 20 20 |z1_`notb|0..r. |
|00001870| 45 51 55 44 20 20 20 20 | 26 34 30 30 43 31 0d 06 |EQUD |&400C1..|
|00001880| 7c 35 20 20 20 45 51 55 | 53 20 20 20 20 22 54 68 ||5 EQU|S "Th|
|00001890| 61 74 20 69 73 20 6e 6f | 74 20 61 20 77 69 6e 64 |at is no|t a wind|
|000018a0| 6f 77 20 2d 20 62 30 20 | 6e 6f 74 20 73 65 74 22 |ow - b0 |not set"|
|000018b0| 2b bd 30 0d 06 86 0c 20 | 20 20 41 4c 49 47 4e 0d |+.0.... | ALIGN.|
|000018c0| 06 90 05 3a 0d 06 9a 14 | 2e 5f 5f 7a 31 5f 6e 6f |...:....|.__z1_no|
|000018d0| 74 61 77 69 6e 64 6f 77 | 0d 06 a4 3e 20 20 20 41 |tawindow|...> A|
|000018e0| 44 52 20 20 20 20 20 72 | 30 2c 5f 5f 7a 31 5f 60 |DR r|0,__z1_`|
|000018f0| 6e 6f 74 61 77 69 6e 64 | 6f 77 20 20 20 20 20 20 |notawind|ow |
|00001900| 20 20 20 20 20 20 20 20 | 20 3b 20 65 72 72 6f 72 | | ; error|
|00001910| 20 62 6c 6f 63 6b 0d 06 | ae 40 20 20 20 42 20 20 | block..|.@ B |
|00001920| 20 20 20 20 20 5f 5f 7a | 31 5f 65 72 72 6f 72 20 | __z|1_error |
|00001930| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001940| 20 20 20 20 20 20 20 3b | 20 70 72 6f 63 65 73 73 | ;| process|
|00001950| 20 65 72 72 6f 72 0d 06 | b8 15 2e 5f 5f 7a 31 5f | error..|...__z1_|
|00001960| 60 6e 6f 74 61 77 69 6e | 64 6f 77 0d 06 c2 15 20 |`notawin|dow.... |
|00001970| 20 20 45 51 55 44 20 20 | 20 20 26 34 30 30 43 31 | EQUD | &400C1|
|00001980| 0d 06 cc 44 20 20 20 45 | 51 55 53 20 20 20 20 22 |...D E|QUS "|
|00001990| 54 68 61 74 20 69 73 20 | 6e 6f 74 20 61 20 77 69 |That is |not a wi|
|000019a0| 6e 64 6f 77 20 2d 20 57 | 69 6e 64 6f 77 20 6d 61 |ndow - W|indow ma|
|000019b0| 72 6b 65 72 20 6e 6f 74 | 20 70 72 65 73 65 6e 74 |rker not| present|
|000019c0| 22 2b bd 30 0d 06 d6 0c | 20 20 20 41 4c 49 47 4e |"+.0....| ALIGN|
|000019d0| 0d 06 e0 05 3a 0d 06 ea | 17 2e 5f 5f 7a 31 5f 6e |....:...|..__z1_n|
|000019e0| 6f 74 79 6f 75 72 77 69 | 6e 64 6f 77 0d 06 f4 3e |otyourwi|ndow...>|
|000019f0| 20 20 20 41 44 52 20 20 | 20 20 20 72 30 2c 5f 5f | ADR | r0,__|
|00001a00| 7a 31 5f 60 6e 6f 74 79 | 6f 75 72 77 69 6e 64 6f |z1_`noty|ourwindo|
|00001a10| 77 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 65 |w | ; e|
|00001a20| 72 72 6f 72 20 62 6c 6f | 63 6b 0d 06 fe 40 20 20 |rror blo|ck...@ |
|00001a30| 20 42 20 20 20 20 20 20 | 20 5f 5f 7a 31 5f 65 72 | B | __z1_er|
|00001a40| 72 6f 72 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ror | |
|00001a50| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 70 72 6f | | ; pro|
|00001a60| 63 65 73 73 20 65 72 72 | 6f 72 0d 07 08 18 2e 5f |cess err|or....._|
|00001a70| 5f 7a 31 5f 60 6e 6f 74 | 79 6f 75 72 77 69 6e 64 |_z1_`not|yourwind|
|00001a80| 6f 77 0d 07 12 15 20 20 | 20 45 51 55 44 20 20 20 |ow.... | EQUD |
|00001a90| 20 26 34 30 30 43 31 0d | 07 1c 36 20 20 20 45 51 | &400C1.|..6 EQ|
|00001aa0| 55 53 20 20 20 20 22 54 | 68 61 74 20 77 69 6e 64 |US "T|hat wind|
|00001ab0| 6f 77 20 64 6f 65 73 20 | 6e 6f 74 20 62 65 6c 6f |ow does |not belo|
|00001ac0| 6e 67 20 74 6f 20 79 6f | 75 22 2b bd 30 0d 07 26 |ng to yo|u"+.0..&|
|00001ad0| 0c 20 20 20 41 4c 49 47 | 4e 0d 07 30 05 3a 0d 07 |. ALIG|N..0.:..|
|00001ae0| 3a 49 3b 20 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |:I; ****|********|
|00001af0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001b00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001b10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001b20| 2a 2a 2a 2a 2a 2a 2a 0d | 07 44 1e 3b 20 53 75 62 |*******.|.D.; Sub|
|00001b30| 72 6f 75 74 69 6e 65 3b | 20 20 20 73 77 69 5f 63 |routine;| swi_c|
|00001b40| 6f 6c 6f 75 72 0d 07 4e | 3b 3b 20 44 65 73 63 72 |olour..N|;; Descr|
|00001b50| 69 70 74 69 6f 6e 3b 20 | 20 53 65 74 73 20 74 68 |iption; | Sets th|
|00001b60| 65 20 63 6f 6c 6f 75 72 | 20 6f 66 20 61 20 70 61 |e colour| of a pa|
|00001b70| 72 74 20 6f 66 20 74 68 | 65 20 77 69 6e 64 6f 77 |rt of th|e window|
|00001b80| 0d 07 58 26 3b 20 50 61 | 72 61 6d 65 74 65 72 73 |..X&; Pa|rameters|
|00001b90| 3b 20 20 20 72 30 2d 3e | 20 77 69 6e 64 6f 77 20 |; r0->| window |
|00001ba0| 68 61 6e 64 6c 65 0d 07 | 62 1f 3b 20 20 20 20 20 |handle..|b.; |
|00001bb0| 20 20 20 20 20 20 20 20 | 20 20 72 31 20 3d 20 72 | | r1 = r|
|00001bc0| 65 67 69 6f 6e 0d 07 6c | 3c 3b 20 20 20 20 20 20 |egion..l|<; |
|00001bd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 30 20 | | 0 |
|00001be0| 2d 20 66 72 61 6d 65 20 | 66 6f 72 65 67 72 6f 75 |- frame |foregrou|
|00001bf0| 6e 64 20 28 26 46 46 20 | 66 6f 72 20 6e 6f 6e 65 |nd (&FF |for none|
|00001c00| 29 0d 07 76 2d 3b 20 20 | 20 20 20 20 20 20 20 20 |)..v-; | |
|00001c10| 20 20 20 20 20 20 20 20 | 20 20 31 20 2d 20 66 72 | | 1 - fr|
|00001c20| 61 6d 65 20 62 61 63 6b | 67 72 6f 75 6e 64 0d 07 |ame back|ground..|
|00001c30| 80 2c 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.,; | |
|00001c40| 20 20 20 20 20 20 20 32 | 20 2d 20 77 6f 72 6b 20 | 2| - work |
|00001c50| 66 6f 72 65 67 72 6f 75 | 6e 64 0d 07 8a 3b 3b 20 |foregrou|nd...;; |
|00001c60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c70| 20 20 20 33 20 2d 20 77 | 6f 72 6b 20 62 61 63 6b | 3 - w|ork back|
|00001c80| 67 72 6f 75 6e 64 20 28 | 26 46 46 20 66 6f 72 20 |ground (|&FF for |
|00001c90| 6e 6f 6e 65 29 0d 07 94 | 2c 3b 20 20 20 20 20 20 |none)...|,; |
|00001ca0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 34 20 | | 4 |
|00001cb0| 2d 20 73 63 72 6f 6c 6c | 62 61 72 20 6f 75 74 65 |- scroll|bar oute|
|00001cc0| 72 0d 07 9e 2c 3b 20 20 | 20 20 20 20 20 20 20 20 |r...,; | |
|00001cd0| 20 20 20 20 20 20 20 20 | 20 20 35 20 2d 20 73 63 | | 5 - sc|
|00001ce0| 72 6f 6c 6c 62 61 72 20 | 69 6e 6e 65 72 0d 07 a8 |rollbar |inner...|
|00001cf0| 29 3b 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |); | |
|00001d00| 20 20 20 20 20 20 36 20 | 2d 20 77 68 65 6e 20 66 | 6 |- when f|
|00001d10| 6f 63 75 73 65 64 0d 07 | b2 1f 3b 20 20 20 20 20 |ocused..|..; |
|00001d20| 20 20 20 20 20 20 20 20 | 20 20 72 32 20 3d 20 63 | | r2 = c|
|00001d30| 6f 6c 6f 75 72 0d 07 bc | 2f 3b 20 52 65 74 75 72 |olour...|/; Retur|
|00001d40| 6e 73 3b 20 20 20 20 20 | 20 6e 6f 6e 65 2c 20 6f |ns; | none, o|
|00001d50| 72 20 56 53 20 61 6e 64 | 20 72 30 20 69 66 20 65 |r VS and| r0 if e|
|00001d60| 72 72 6f 72 0d 07 c6 49 | 3b 20 2a 2a 2a 2a 2a 2a |rror...I|; ******|
|00001d70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001d80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001d90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001da0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 07 d0 |********|*****...|
|00001db0| 0f 2e 73 77 69 5f 63 6f | 6c 6f 75 72 0d 07 da 3e |..swi_co|lour...>|
|00001dc0| 20 20 20 53 54 4d 46 44 | 20 20 20 28 73 70 29 21 | STMFD| (sp)!|
|00001dd0| 2c 7b 72 30 2d 72 32 2c | 6c 69 6e 6b 7d 20 20 20 |,{r0-r2,|link} |
|00001de0| 20 20 20 20 20 20 20 20 | 20 3b 20 53 74 61 63 6b | | ; Stack|
|00001df0| 20 72 65 67 69 73 74 65 | 72 73 0d 07 e4 4b 20 20 | registe|rs...K |
|00001e00| 20 42 4c 20 20 20 20 20 | 20 63 68 65 63 6b 5f 72 | BL | check_r|
|00001e10| 30 5f 76 61 6c 69 64 20 | 20 20 20 20 20 20 20 20 |0_valid | |
|00001e20| 20 20 20 20 20 20 20 3b | 20 69 73 20 74 68 65 20 | ;| is the |
|00001e30| 77 69 6e 64 6f 77 20 68 | 61 6e 64 6c 65 20 76 61 |window h|andle va|
|00001e40| 6c 69 64 20 3f 0d 07 ee | 4a 20 20 20 42 56 53 20 |lid ?...|J BVS |
|00001e50| 20 20 20 20 5f 5f 7a 32 | 5f 65 78 69 74 20 20 20 | __z2|_exit |
|00001e60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001e70| 20 20 20 20 20 20 3b 20 | 69 66 20 6e 6f 74 2c 20 | ; |if not, |
|00001e80| 65 78 69 74 20 77 69 74 | 68 20 65 72 72 6f 72 0d |exit wit|h error.|
|00001e90| 07 f8 40 20 20 20 43 4d | 50 20 20 20 20 20 72 31 |..@ CM|P r1|
|00001ea0| 2c 23 30 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |,#0 | |
|00001eb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 69 73 | | ; is|
|00001ec0| 20 74 68 69 73 20 74 6f | 6f 20 6c 6f 77 20 3f 0d | this to|o low ?.|
|00001ed0| 08 02 43 20 20 20 42 4c | 54 20 20 20 20 20 5f 5f |..C BL|T __|
|00001ee0| 7a 32 5f 65 72 72 6f 72 | 20 20 20 20 20 20 20 20 |z2_error| |
|00001ef0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f00| 3b 20 69 66 20 73 6f 2c | 20 74 65 6c 6c 20 74 68 |; if so,| tell th|
|00001f10| 65 6d 0d 08 0c 41 20 20 | 20 43 4d 50 20 20 20 20 |em...A | CMP |
|00001f20| 20 72 31 2c 23 36 20 20 | 20 20 20 20 20 20 20 20 | r1,#6 | |
|00001f30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00001f40| 20 69 73 20 74 68 69 73 | 20 74 6f 6f 20 68 69 67 | is this| too hig|
|00001f50| 68 20 3f 0d 08 16 43 20 | 20 20 42 47 54 20 20 20 |h ?...C | BGT |
|00001f60| 20 20 5f 5f 7a 32 5f 65 | 72 72 6f 72 20 20 20 20 | __z2_e|rror |
|00001f70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f80| 20 20 20 20 3b 20 69 66 | 20 73 6f 2c 20 74 65 6c | ; if| so, tel|
|00001f90| 6c 20 74 68 65 6d 0d 08 | 20 37 20 20 20 42 49 43 |l them..| 7 BIC|
|00001fa0| 20 20 20 20 20 72 30 2c | 72 30 2c 23 31 20 20 20 | r0,|r0,#1 |
|00001fb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001fc0| 20 20 20 3b 20 63 6c 65 | 61 72 20 62 30 0d 08 2a | ; cle|ar b0..*|
|00001fd0| 48 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |H | |
|00001fe0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001ff0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 2a 2a 2a 2a | | ; ****|
|00002000| 20 52 4f 20 53 70 65 63 | 69 66 69 63 20 62 69 74 | RO Spec|ific bit|
|00002010| 20 2a 2a 2a 2a 0d 08 34 | 49 20 20 20 4c 44 52 20 | ****..4|I LDR |
|00002020| 20 20 20 20 6c 69 6e 6b | 2c 5b 72 31 32 5d 20 20 | link|,[r12] |
|00002030| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002040| 20 20 3b 20 72 65 61 64 | 20 6f 66 66 73 65 74 20 | ; read| offset |
|00002050| 66 6f 72 20 52 4f 20 76 | 65 72 73 69 6f 6e 0d 08 |for RO v|ersion..|
|00002060| 3e 48 20 20 20 41 44 44 | 20 20 20 20 20 72 30 2c |>H ADD| r0,|
|00002070| 72 30 2c 6c 69 6e 6b 20 | 20 20 20 20 20 20 20 20 |r0,link | |
|00002080| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 61 6e 64 | | ; and|
|00002090| 20 61 64 64 20 69 74 20 | 74 6f 20 6f 75 72 20 70 | add it |to our p|
|000020a0| 6f 69 6e 74 65 72 0d 08 | 48 48 20 20 20 20 20 20 |ointer..|HH |
|000020b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000020c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000020d0| 20 20 20 3b 20 2a 2a 2a | 2a 20 52 4f 20 53 70 65 | ; ***|* RO Spe|
|000020e0| 63 69 66 69 63 20 62 69 | 74 20 2a 2a 2a 2a 0d 08 |cific bi|t ****..|
|000020f0| 52 4c 20 20 20 41 44 44 | 20 20 20 20 20 72 31 2c |RL ADD| r1,|
|00002100| 72 30 2c 72 31 20 20 20 | 20 20 20 20 20 20 20 20 |r0,r1 | |
|00002110| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 61 64 64 | | ; add|
|00002120| 20 6f 6e 20 74 68 65 20 | 6f 66 66 73 65 74 20 77 | on the |offset w|
|00002130| 65 27 72 65 20 67 69 76 | 65 6e 0d 08 5c 44 20 20 |e're giv|en..\D |
|00002140| 20 53 54 52 42 20 20 20 | 20 72 32 2c 5b 72 31 2c | STRB | r2,[r1,|
|00002150| 23 37 32 2b 33 32 5d 20 | 20 20 20 20 20 20 20 20 |#72+32] | |
|00002160| 20 20 20 20 20 20 20 3b | 20 73 74 6f 72 65 20 63 | ;| store c|
|00002170| 6f 6c 6f 75 72 20 69 6e | 20 62 6c 6f 63 6b 0d 08 |olour in| block..|
|00002180| 66 49 20 20 20 4c 44 52 | 20 20 20 20 20 72 31 2c |fI LDR| r1,|
|00002190| 5b 73 70 2c 23 34 5d 20 | 20 20 20 20 20 20 20 20 |[sp,#4] | |
|000021a0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 72 65 61 | | ; rea|
|000021b0| 64 20 74 68 65 20 63 6f | 6c 6f 75 72 20 77 65 20 |d the co|lour we |
|000021c0| 63 68 61 6e 67 65 64 0d | 08 70 45 20 20 20 43 4d |changed.|.pE CM|
|000021d0| 50 20 20 20 20 20 72 31 | 2c 23 32 20 20 20 20 20 |P r1|,#2 |
|000021e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000021f0| 20 20 20 20 3b 20 77 61 | 73 20 69 74 20 77 6f 72 | ; wa|s it wor|
|00002200| 6b 61 72 65 61 20 66 6f | 72 65 20 3f 0d 08 7a 45 |karea fo|re ?..zE|
|00002210| 20 20 20 43 4d 50 4e 45 | 20 20 20 72 31 2c 23 33 | CMPNE| r1,#3|
|00002220| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002230| 20 20 20 20 20 20 20 20 | 20 3b 20 77 61 73 20 69 | | ; was i|
|00002240| 74 20 77 6f 72 6b 61 72 | 65 61 20 62 61 63 6b 20 |t workar|ea back |
|00002250| 3f 0d 08 84 43 20 20 20 | 42 45 51 20 20 20 20 20 |?...C |BEQ |
|00002260| 5f 5f 7a 32 5f 77 6f 72 | 6b 61 72 65 61 5f 72 65 |__z2_wor|karea_re|
|00002270| 64 72 61 77 20 20 20 20 | 20 20 20 20 20 20 20 20 |draw | |
|00002280| 20 20 3b 20 69 66 20 73 | 6f 2c 20 72 65 64 72 61 | ; if s|o, redra|
|00002290| 77 20 69 74 0d 08 8e 3f | 20 20 20 42 4c 20 20 20 |w it...?| BL |
|000022a0| 20 20 20 72 65 64 72 61 | 77 5f 74 6f 6f 6c 73 20 | redra|w_tools |
|000022b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000022c0| 20 3b 20 72 65 64 72 61 | 77 20 74 68 65 20 74 6f | ; redra|w the to|
|000022d0| 6f 6c 73 0d 08 98 0e 2e | 5f 5f 7a 32 5f 65 78 69 |ols.....|__z2_exi|
|000022e0| 74 0d 08 a2 16 20 20 20 | 53 54 52 56 53 20 20 20 |t.... |STRVS |
|000022f0| 72 30 2c 5b 73 70 5d 0d | 08 ac 3f 20 20 20 4c 44 |r0,[sp].|..? LD|
|00002300| 4d 46 44 20 20 20 28 73 | 70 29 21 2c 7b 72 30 2d |MFD (s|p)!,{r0-|
|00002310| 72 32 2c 70 63 7d 20 20 | 20 20 20 20 20 20 20 20 |r2,pc} | |
|00002320| 20 20 20 20 3b 20 52 65 | 74 75 72 6e 20 66 72 6f | ; Re|turn fro|
|00002330| 6d 20 63 61 6c 6c 0d 08 | b6 19 2e 5f 5f 7a 32 5f |m call..|...__z2_|
|00002340| 77 6f 72 6b 61 72 65 61 | 5f 72 65 64 72 61 77 0d |workarea|_redraw.|
|00002350| 08 c0 46 20 20 20 42 4c | 20 20 20 20 20 20 72 65 |..F BL| re|
|00002360| 64 72 61 77 5f 77 69 6e | 64 6f 77 20 20 20 20 20 |draw_win|dow |
|00002370| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 72 65 | | ; re|
|00002380| 64 72 61 77 20 74 68 65 | 20 77 68 6f 6c 65 20 77 |draw the| whole w|
|00002390| 69 6e 64 6f 77 0d 08 ca | 42 20 20 20 42 20 20 20 |indow...|B B |
|000023a0| 20 20 20 20 5f 5f 7a 32 | 5f 65 78 69 74 20 20 20 | __z2|_exit |
|000023b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000023c0| 20 20 20 20 20 20 3b 20 | 61 6e 64 20 65 78 69 74 | ; |and exit|
|000023d0| 20 6e 69 63 65 6c 79 0d | 08 d4 0f 2e 5f 5f 7a 32 | nicely.|....__z2|
|000023e0| 5f 65 72 72 6f 72 0d 08 | de 40 20 20 20 4c 44 4d |_error..|.@ LDM|
|000023f0| 46 44 20 20 20 28 73 70 | 29 21 2c 7b 72 30 2d 72 |FD (sp|)!,{r0-r|
|00002400| 32 2c 6c 69 6e 6b 7d 20 | 20 20 20 20 20 20 20 20 |2,link} | |
|00002410| 20 20 20 3b 20 72 65 73 | 74 6f 72 65 20 72 65 67 | ; res|tore reg|
|00002420| 69 73 74 65 72 73 0d 08 | e8 3e 20 20 20 41 44 52 |isters..|.> ADR|
|00002430| 20 20 20 20 20 72 30 2c | 5f 5f 7a 32 5f 60 65 72 | r0,|__z2_`er|
|00002440| 72 6f 72 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ror | |
|00002450| 20 20 20 20 20 20 20 3b | 20 65 72 72 6f 72 20 62 | ;| error b|
|00002460| 6c 6f 63 6b 0d 08 f2 3e | 20 20 20 84 52 53 20 20 |lock...>| .RS |
|00002470| 20 20 70 63 2c 6c 69 6e | 6b 2c 23 76 62 69 74 20 | pc,lin|k,#vbit |
|00002480| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002490| 3b 20 72 65 74 75 72 6e | 20 77 69 74 68 20 56 53 |; return| with VS|
|000024a0| 65 74 0d 08 fc 10 2e 5f | 5f 7a 32 5f 60 65 72 72 |et....._|_z2_`err|
|000024b0| 6f 72 0d 09 06 15 20 20 | 20 45 51 55 44 20 20 20 |or.... | EQUD |
|000024c0| 20 26 34 30 30 43 31 0d | 09 10 2a 20 20 20 45 51 | &400C1.|..* EQ|
|000024d0| 55 53 20 20 20 20 22 54 | 6f 6f 6c 20 74 79 70 65 |US "T|ool type|
|000024e0| 20 6f 75 74 20 6f 66 20 | 72 61 6e 67 65 22 2b bd | out of |range"+.|
|000024f0| 30 0d 09 1a 0c 20 20 20 | 41 4c 49 47 4e 0d 09 24 |0.... |ALIGN..$|
|00002500| 05 3a 0d 09 2e 49 3b 20 | 2a 2a 2a 2a 2a 2a 2a 2a |.:...I; |********|
|00002510| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002520| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002530| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002540| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 09 38 22 3b |********|***..8";|
|00002550| 20 53 75 62 72 6f 75 74 | 69 6e 65 3b 20 20 20 73 | Subrout|ine; s|
|00002560| 77 69 5f 74 69 74 6c 65 | 66 6c 61 67 73 0d 09 42 |wi_title|flags..B|
|00002570| 36 3b 20 44 65 73 63 72 | 69 70 74 69 6f 6e 3b 20 |6; Descr|iption; |
|00002580| 20 43 68 61 6e 67 65 20 | 74 68 65 20 63 75 72 72 | Change |the curr|
|00002590| 65 6e 74 20 74 69 74 6c | 65 20 62 61 72 20 66 6c |ent titl|e bar fl|
|000025a0| 61 67 73 0d 09 4c 26 3b | 20 50 61 72 61 6d 65 74 |ags..L&;| Paramet|
|000025b0| 65 72 73 3b 20 20 20 72 | 30 2d 3e 20 77 69 6e 64 |ers; r|0-> wind|
|000025c0| 6f 77 20 68 61 6e 64 6c | 65 0d 09 56 22 3b 20 20 |ow handl|e..V"; |
|000025d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 72 31 20 | | r1 |
|000025e0| 3d 20 42 49 43 20 76 61 | 6c 75 65 0d 09 60 20 3b |= BIC va|lue..` ;|
|000025f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 72 | | r|
|00002600| 32 20 3d 20 82 20 76 61 | 6c 75 65 0d 09 6a 2f 3b |2 = . va|lue..j/;|
|00002610| 20 52 65 74 75 72 6e 73 | 3b 20 20 20 20 20 20 6e | Returns|; n|
|00002620| 6f 6e 65 2c 20 6f 72 20 | 56 53 20 61 6e 64 20 72 |one, or |VS and r|
|00002630| 30 20 69 66 20 65 72 72 | 6f 72 0d 09 74 49 3b 20 |0 if err|or..tI; |
|00002640| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002650| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002660| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002670| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002680| 2a 2a 2a 0d 09 7e 13 2e | 73 77 69 5f 74 69 74 6c |***..~..|swi_titl|
|00002690| 65 66 6c 61 67 73 0d 09 | 88 3e 20 20 20 53 54 4d |eflags..|.> STM|
|000026a0| 46 44 20 20 20 28 73 70 | 29 21 2c 7b 72 30 2d 72 |FD (sp|)!,{r0-r|
|000026b0| 33 2c 6c 69 6e 6b 7d 20 | 20 20 20 20 20 20 20 20 |3,link} | |
|000026c0| 20 20 20 3b 20 53 74 61 | 63 6b 20 72 65 67 69 73 | ; Sta|ck regis|
|000026d0| 74 65 72 73 0d 09 92 4b | 20 20 20 42 4c 20 20 20 |ters...K| BL |
|000026e0| 20 20 20 63 68 65 63 6b | 5f 72 30 5f 76 61 6c 69 | check|_r0_vali|
|000026f0| 64 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |d | |
|00002700| 20 3b 20 69 73 20 74 68 | 65 20 77 69 6e 64 6f 77 | ; is th|e window|
|00002710| 20 68 61 6e 64 6c 65 20 | 76 61 6c 69 64 20 3f 0d | handle |valid ?.|
|00002720| 09 9c 4a 20 20 20 42 56 | 53 20 20 20 20 20 5f 5f |..J BV|S __|
|00002730| 7a 33 5f 65 78 69 74 20 | 20 20 20 20 20 20 20 20 |z3_exit | |
|00002740| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002750| 3b 20 69 66 20 6e 6f 74 | 2c 20 65 78 69 74 20 77 |; if not|, exit w|
|00002760| 69 74 68 20 65 72 72 6f | 72 0d 09 a6 37 20 20 20 |ith erro|r...7 |
|00002770| 42 49 43 20 20 20 20 20 | 72 30 2c 72 30 2c 23 31 |BIC |r0,r0,#1|
|00002780| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002790| 20 20 20 20 20 20 3b 20 | 63 6c 65 61 72 20 62 30 | ; |clear b0|
|000027a0| 0d 09 b0 48 20 20 20 20 | 20 20 20 20 20 20 20 20 |...H | |
|000027b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000027c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 2a | | ; *|
|000027d0| 2a 2a 2a 20 52 4f 20 53 | 70 65 63 69 66 69 63 20 |*** RO S|pecific |
|000027e0| 62 69 74 20 2a 2a 2a 2a | 0d 09 ba 49 20 20 20 4c |bit ****|...I L|
|000027f0| 44 52 20 20 20 20 20 6c | 69 6e 6b 2c 5b 72 31 32 |DR l|ink,[r12|
|00002800| 5d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |] | |
|00002810| 20 20 20 20 20 3b 20 72 | 65 61 64 20 6f 66 66 73 | ; r|ead offs|
|00002820| 65 74 20 66 6f 72 20 52 | 4f 20 76 65 72 73 69 6f |et for R|O versio|
|00002830| 6e 0d 09 c4 48 20 20 20 | 41 44 44 20 20 20 20 20 |n...H |ADD |
|00002840| 72 30 2c 72 30 2c 6c 69 | 6e 6b 20 20 20 20 20 20 |r0,r0,li|nk |
|00002850| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00002860| 61 6e 64 20 61 64 64 20 | 69 74 20 74 6f 20 6f 75 |and add |it to ou|
|00002870| 72 20 70 6f 69 6e 74 65 | 72 0d 09 ce 48 20 20 20 |r pointe|r...H |
|00002880| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002890| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000028a0| 20 20 20 20 20 20 3b 20 | 2a 2a 2a 2a 20 52 4f 20 | ; |**** RO |
|000028b0| 53 70 65 63 69 66 69 63 | 20 62 69 74 20 2a 2a 2a |Specific| bit ***|
|000028c0| 2a 0d 09 d8 48 20 20 20 | 4c 44 52 20 20 20 20 20 |*...H |LDR |
|000028d0| 72 33 2c 5b 72 30 2c 23 | 37 32 2b 35 36 5d 20 20 |r3,[r0,#|72+56] |
|000028e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|000028f0| 72 65 61 64 20 74 68 65 | 20 63 75 72 72 65 6e 74 |read the| current|
|00002900| 20 73 65 74 74 69 6e 67 | 73 0d 09 e2 43 20 20 20 | setting|s...C |
|00002910| 42 49 43 20 20 20 20 20 | 72 33 2c 72 33 2c 72 31 |BIC |r3,r3,r1|
|00002920| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002930| 20 20 20 20 20 20 3b 20 | 63 6c 65 61 72 20 62 69 | ; |clear bi|
|00002940| 74 73 20 73 70 65 63 69 | 66 69 65 64 0d 09 ec 4b |ts speci|fied...K|
|00002950| 20 20 20 82 20 20 20 20 | 20 72 33 2c 72 33 2c 72 | . | r3,r3,r|
|00002960| 32 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |2 | |
|00002970| 20 20 20 20 20 20 20 3b | 20 61 6e 64 20 69 6e 76 | ;| and inv|
|00002980| 65 72 74 20 74 68 6f 73 | 65 20 6f 74 68 65 72 73 |ert thos|e others|
|00002990| 20 77 61 6e 74 65 64 0d | 09 f6 43 20 20 20 54 53 | wanted.|..C TS|
|000029a0| 54 20 20 20 20 20 72 33 | 2c 23 28 31 3c 3c 36 29 |T r3|,#(1<<6)|
|000029b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000029c0| 20 20 20 20 3b 20 69 73 | 20 69 74 20 61 6e 74 69 | ; is| it anti|
|000029d0| 2d 61 6c 69 61 73 65 64 | 20 3f 0d 0a 00 44 20 20 |-aliased| ?...D |
|000029e0| 20 42 49 43 45 51 20 20 | 20 72 33 2c 72 33 2c 23 | BICEQ | r3,r3,#|
|000029f0| 28 32 35 35 3c 3c 32 34 | 29 20 20 20 20 20 20 20 |(255<<24|) |
|00002a00| 20 20 20 20 20 20 20 3b | 20 69 66 20 73 6f 2c 20 | ;| if so, |
|00002a10| 63 6c 65 61 72 20 74 6f | 70 20 62 69 74 73 0d 0a |clear to|p bits..|
|00002a20| 0a 41 20 20 20 42 49 43 | 20 20 20 20 20 72 33 2c |.A BIC| r3,|
|00002a30| 72 33 2c 23 28 32 35 35 | 3c 3c 31 36 29 20 20 20 |r3,#(255|<<16) |
|00002a40| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 63 6c 65 | | ; cle|
|00002a50| 61 72 20 74 6f 70 2d 6d | 69 64 20 62 69 74 73 0d |ar top-m|id bits.|
|00002a60| 0a 14 3e 20 20 20 42 49 | 43 20 20 20 20 20 72 33 |..> BI|C r3|
|00002a70| 2c 72 33 2c 23 28 31 35 | 3c 3c 31 32 29 20 20 20 |,r3,#(15|<<12) |
|00002a80| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 63 6c | | ; cl|
|00002a90| 65 61 72 20 69 63 6f 6e | 20 74 79 70 65 0d 0a 1e |ear icon| type...|
|00002aa0| 4c 20 20 20 42 49 43 20 | 20 20 20 20 72 33 2c 72 |L BIC | r3,r|
|00002ab0| 33 2c 23 28 25 31 30 31 | 30 30 31 30 30 29 20 20 |3,#(%101|00100) |
|00002ac0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 63 6c 65 61 | | ; clea|
|00002ad0| 72 20 74 68 65 20 62 6f | 74 74 6f 6d 20 69 67 6e |r the bo|ttom ign|
|00002ae0| 6f 72 65 64 20 62 69 74 | 73 0d 0a 28 42 20 20 20 |ored bit|s..(B |
|00002af0| 53 54 52 20 20 20 20 20 | 72 33 2c 5b 72 30 2c 23 |STR |r3,[r0,#|
|00002b00| 37 32 2b 35 36 5d 20 20 | 20 20 20 20 20 20 20 20 |72+56] | |
|00002b10| 20 20 20 20 20 20 3b 20 | 73 74 6f 72 65 20 62 61 | ; |store ba|
|00002b20| 63 6b 20 69 6e 20 62 6c | 6f 63 6b 0d 0a 32 3f 20 |ck in bl|ock..2? |
|00002b30| 20 20 42 4c 20 20 20 20 | 20 20 72 65 64 72 61 77 | BL | redraw|
|00002b40| 5f 74 6f 6f 6c 73 20 20 | 20 20 20 20 20 20 20 20 |_tools | |
|00002b50| 20 20 20 20 20 20 20 20 | 3b 20 72 65 64 72 61 77 | |; redraw|
|00002b60| 20 74 68 65 20 74 6f 6f | 6c 73 0d 0a 3c 0e 2e 5f | the too|ls..<.._|
|00002b70| 5f 7a 33 5f 65 78 69 74 | 0d 0a 46 16 20 20 20 53 |_z3_exit|..F. S|
|00002b80| 54 52 56 53 20 20 20 72 | 30 2c 5b 73 70 5d 0d 0a |TRVS r|0,[sp]..|
|00002b90| 50 3f 20 20 20 4c 44 4d | 46 44 20 20 20 28 73 70 |P? LDM|FD (sp|
|00002ba0| 29 21 2c 7b 72 30 2d 72 | 33 2c 70 63 7d 20 20 20 |)!,{r0-r|3,pc} |
|00002bb0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 52 65 74 | | ; Ret|
|00002bc0| 75 72 6e 20 66 72 6f 6d | 20 63 61 6c 6c 0d 0a 5a |urn from| call..Z|
|00002bd0| 05 3a 0d 0a 64 05 3a 0d | 0a 6e 49 3b 20 2a 2a 2a |.:..d.:.|.nI; ***|
|00002be0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002bf0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002c00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002c10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002c20| 0d 0a 78 21 3b 20 53 75 | 62 72 6f 75 74 69 6e 65 |..x!; Su|broutine|
|00002c30| 3b 20 20 20 73 77 69 5f | 77 6f 72 6b 66 6c 61 67 |; swi_|workflag|
|00002c40| 73 0d 0a 82 35 3b 20 44 | 65 73 63 72 69 70 74 69 |s...5; D|escripti|
|00002c50| 6f 6e 3b 20 20 43 68 61 | 6e 67 65 20 74 68 65 20 |on; Cha|nge the |
|00002c60| 77 6f 72 6b 20 61 72 65 | 61 20 62 75 74 74 6f 6e |work are|a button|
|00002c70| 20 66 6c 61 67 73 0d 0a | 8c 26 3b 20 50 61 72 61 | flags..|.&; Para|
|00002c80| 6d 65 74 65 72 73 3b 20 | 20 20 72 30 2d 3e 20 77 |meters; | r0-> w|
|00002c90| 69 6e 64 6f 77 20 68 61 | 6e 64 6c 65 0d 0a 96 22 |indow ha|ndle..."|
|00002ca0| 3b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |; | |
|00002cb0| 72 31 20 3d 20 42 49 43 | 20 76 61 6c 75 65 0d 0a |r1 = BIC| value..|
|00002cc0| a0 20 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. ; | |
|00002cd0| 20 20 72 32 20 3d 20 82 | 20 76 61 6c 75 65 0d 0a | r2 = .| value..|
|00002ce0| aa 2f 3b 20 52 65 74 75 | 72 6e 73 3b 20 20 20 20 |./; Retu|rns; |
|00002cf0| 20 20 6e 6f 6e 65 2c 20 | 6f 72 20 56 53 20 61 6e | none, |or VS an|
|00002d00| 64 20 72 30 20 69 66 20 | 65 72 72 6f 72 0d 0a b4 |d r0 if |error...|
|00002d10| 49 3b 20 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |I; *****|********|
|00002d20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d50| 2a 2a 2a 2a 2a 2a 0d 0a | be 12 2e 73 77 69 5f 77 |******..|...swi_w|
|00002d60| 6f 72 6b 66 6c 61 67 73 | 0d 0a c8 3e 20 20 20 53 |orkflags|...> S|
|00002d70| 54 4d 46 44 20 20 20 28 | 73 70 29 21 2c 7b 72 30 |TMFD (|sp)!,{r0|
|00002d80| 2d 72 33 2c 6c 69 6e 6b | 7d 20 20 20 20 20 20 20 |-r3,link|} |
|00002d90| 20 20 20 20 20 3b 20 53 | 74 61 63 6b 20 72 65 67 | ; S|tack reg|
|00002da0| 69 73 74 65 72 73 0d 0a | d2 4b 20 20 20 42 4c 20 |isters..|.K BL |
|00002db0| 20 20 20 20 20 63 68 65 | 63 6b 5f 72 30 5f 76 61 | che|ck_r0_va|
|00002dc0| 6c 69 64 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |lid | |
|00002dd0| 20 20 20 3b 20 69 73 20 | 74 68 65 20 77 69 6e 64 | ; is |the wind|
|00002de0| 6f 77 20 68 61 6e 64 6c | 65 20 76 61 6c 69 64 20 |ow handl|e valid |
|00002df0| 3f 0d 0a dc 4a 20 20 20 | 42 56 53 20 20 20 20 20 |?...J |BVS |
|00002e00| 5f 5f 7a 34 5f 65 78 69 | 74 20 20 20 20 20 20 20 |__z4_exi|t |
|00002e10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002e20| 20 20 3b 20 69 66 20 6e | 6f 74 2c 20 65 78 69 74 | ; if n|ot, exit|
|00002e30| 20 77 69 74 68 20 65 72 | 72 6f 72 0d 0a e6 37 20 | with er|ror...7 |
|00002e40| 20 20 42 49 43 20 20 20 | 20 20 72 30 2c 72 30 2c | BIC | r0,r0,|
|00002e50| 23 31 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |#1 | |
|00002e60| 20 20 20 20 20 20 20 20 | 3b 20 63 6c 65 61 72 20 | |; clear |
|00002e70| 62 30 0d 0a f0 48 20 20 | 20 20 20 20 20 20 20 20 |b0...H | |
|00002e80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002e90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00002ea0| 20 2a 2a 2a 2a 20 52 4f | 20 53 70 65 63 69 66 69 | **** RO| Specifi|
|00002eb0| 63 20 62 69 74 20 2a 2a | 2a 2a 0d 0a fa 49 20 20 |c bit **|**...I |
|00002ec0| 20 4c 44 52 20 20 20 20 | 20 6c 69 6e 6b 2c 5b 72 | LDR | link,[r|
|00002ed0| 31 32 5d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |12] | |
|00002ee0| 20 20 20 20 20 20 20 3b | 20 72 65 61 64 20 6f 66 | ;| read of|
|00002ef0| 66 73 65 74 20 66 6f 72 | 20 52 4f 20 76 65 72 73 |fset for| RO vers|
|00002f00| 69 6f 6e 0d 0b 04 48 20 | 20 20 41 44 44 20 20 20 |ion...H | ADD |
|00002f10| 20 20 72 30 2c 72 30 2c | 6c 69 6e 6b 20 20 20 20 | r0,r0,|link |
|00002f20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002f30| 3b 20 61 6e 64 20 61 64 | 64 20 69 74 20 74 6f 20 |; and ad|d it to |
|00002f40| 6f 75 72 20 70 6f 69 6e | 74 65 72 0d 0b 0e 48 20 |our poin|ter...H |
|00002f50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002f60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002f70| 20 20 20 20 20 20 20 20 | 3b 20 2a 2a 2a 2a 20 52 | |; **** R|
|00002f80| 4f 20 53 70 65 63 69 66 | 69 63 20 62 69 74 20 2a |O Specif|ic bit *|
|00002f90| 2a 2a 2a 0d 0b 18 48 20 | 20 20 4c 44 52 20 20 20 |***...H | LDR |
|00002fa0| 20 20 72 33 2c 5b 72 30 | 2c 23 37 32 2b 36 30 5d | r3,[r0|,#72+60]|
|00002fb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002fc0| 3b 20 72 65 61 64 20 74 | 68 65 20 63 75 72 72 65 |; read t|he curre|
|00002fd0| 6e 74 20 73 65 74 74 69 | 6e 67 73 0d 0b 22 43 20 |nt setti|ngs.."C |
|00002fe0| 20 20 42 49 43 20 20 20 | 20 20 72 33 2c 72 33 2c | BIC | r3,r3,|
|00002ff0| 72 31 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r1 | |
|00003000| 20 20 20 20 20 20 20 20 | 3b 20 63 6c 65 61 72 20 | |; clear |
|00003010| 62 69 74 73 20 73 70 65 | 63 69 66 69 65 64 0d 0b |bits spe|cified..|
|00003020| 2c 4b 20 20 20 82 20 20 | 20 20 20 72 33 2c 72 33 |,K . | r3,r3|
|00003030| 2c 72 32 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |,r2 | |
|00003040| 20 20 20 20 20 20 20 20 | 20 3b 20 61 6e 64 20 69 | | ; and i|
|00003050| 6e 76 65 72 74 20 74 68 | 6f 73 65 20 6f 74 68 65 |nvert th|ose othe|
|00003060| 72 73 20 77 61 6e 74 65 | 64 0d 0b 36 44 20 20 20 |rs wante|d..6D |
|00003070| 80 20 20 20 20 20 72 33 | 2c 72 33 2c 23 28 31 35 |. r3|,r3,#(15|
|00003080| 3c 3c 31 32 29 20 20 20 | 20 20 20 20 20 20 20 20 |<<12) | |
|00003090| 20 20 20 20 3b 20 6c 65 | 61 76 65 20 6a 75 73 74 | ; le|ave just|
|000030a0| 20 62 75 74 74 6f 6e 20 | 66 6c 61 67 73 0d 0b 40 | button |flags..@|
|000030b0| 42 20 20 20 53 54 52 20 | 20 20 20 20 72 33 2c 5b |B STR | r3,[|
|000030c0| 72 30 2c 23 37 32 2b 36 | 30 5d 20 20 20 20 20 20 |r0,#72+6|0] |
|000030d0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 73 74 6f 72 | | ; stor|
|000030e0| 65 20 62 61 63 6b 20 69 | 6e 20 62 6c 6f 63 6b 0d |e back i|n block.|
|000030f0| 0b 4a 0e 2e 5f 5f 7a 34 | 5f 65 78 69 74 0d 0b 54 |.J..__z4|_exit..T|
|00003100| 16 20 20 20 53 54 52 56 | 53 20 20 20 72 30 2c 5b |. STRV|S r0,[|
|00003110| 73 70 5d 0d 0b 5e 3f 20 | 20 20 4c 44 4d 46 44 20 |sp]..^? | LDMFD |
|00003120| 20 20 28 73 70 29 21 2c | 7b 72 30 2d 72 33 2c 70 | (sp)!,|{r0-r3,p|
|00003130| 63 7d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |c} | |
|00003140| 3b 20 52 65 74 75 72 6e | 20 66 72 6f 6d 20 63 61 |; Return| from ca|
|00003150| 6c 6c 0d 0b 68 05 3a 0d | 0b 72 05 3a 0d 0b 7c 49 |ll..h.:.|.r.:..|I|
|00003160| 3b 20 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |; ******|********|
|00003170| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003180| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003190| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000031a0| 2a 2a 2a 2a 2a 0d 0b 86 | 22 3b 20 53 75 62 72 6f |*****...|"; Subro|
|000031b0| 75 74 69 6e 65 3b 20 20 | 20 73 77 69 5f 73 70 72 |utine; | swi_spr|
|000031c0| 69 74 65 61 72 65 61 0d | 0b 90 2a 3b 20 44 65 73 |itearea.|..*; Des|
|000031d0| 63 72 69 70 74 69 6f 6e | 3b 20 20 43 68 61 6e 67 |cription|; Chang|
|000031e0| 65 20 74 68 65 20 73 70 | 72 69 74 65 20 61 72 65 |e the sp|rite are|
|000031f0| 61 0d 0b 9a 26 3b 20 50 | 61 72 61 6d 65 74 65 72 |a...&; P|arameter|
|00003200| 73 3b 20 20 20 72 30 2d | 3e 20 77 69 6e 64 6f 77 |s; r0-|> window|
|00003210| 20 68 61 6e 64 6c 65 0d | 0b a4 21 3b 20 20 20 20 | handle.|..!; |
|00003220| 20 20 20 20 20 20 20 20 | 20 20 20 72 31 2d 3e 20 | | r1-> |
|00003230| 6e 65 77 20 61 72 65 61 | 0d 0b ae 2f 3b 20 52 65 |new area|.../; Re|
|00003240| 74 75 72 6e 73 3b 20 20 | 20 20 20 20 6e 6f 6e 65 |turns; | none|
|00003250| 2c 20 6f 72 20 56 53 20 | 61 6e 64 20 72 30 20 69 |, or VS |and r0 i|
|00003260| 66 20 65 72 72 6f 72 0d | 0b b8 49 3b 20 2a 2a 2a |f error.|..I; ***|
|00003270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000032a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000032b0| 0d 0b c2 13 2e 73 77 69 | 5f 73 70 72 69 74 65 61 |.....swi|_spritea|
|000032c0| 72 65 61 0d 0b cc 3e 20 | 20 20 53 54 4d 46 44 20 |rea...> | STMFD |
|000032d0| 20 20 28 73 70 29 21 2c | 7b 72 30 2d 72 31 2c 6c | (sp)!,|{r0-r1,l|
|000032e0| 69 6e 6b 7d 20 20 20 20 | 20 20 20 20 20 20 20 20 |ink} | |
|000032f0| 3b 20 53 74 61 63 6b 20 | 72 65 67 69 73 74 65 72 |; Stack |register|
|00003300| 73 0d 0b d6 4b 20 20 20 | 42 4c 20 20 20 20 20 20 |s...K |BL |
|00003310| 63 68 65 63 6b 5f 72 30 | 5f 76 61 6c 69 64 20 20 |check_r0|_valid |
|00003320| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00003330| 69 73 20 74 68 65 20 77 | 69 6e 64 6f 77 20 68 61 |is the w|indow ha|
|00003340| 6e 64 6c 65 20 76 61 6c | 69 64 20 3f 0d 0b e0 4a |ndle val|id ?...J|
|00003350| 20 20 20 42 56 53 20 20 | 20 20 20 5f 5f 7a 35 5f | BVS | __z5_|
|00003360| 65 78 69 74 20 20 20 20 | 20 20 20 20 20 20 20 20 |exit | |
|00003370| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 69 | | ; i|
|00003380| 66 20 6e 6f 74 2c 20 65 | 78 69 74 20 77 69 74 68 |f not, e|xit with|
|00003390| 20 65 72 72 6f 72 0d 0b | ea 37 20 20 20 42 49 43 | error..|.7 BIC|
|000033a0| 20 20 20 20 20 72 30 2c | 72 30 2c 23 31 20 20 20 | r0,|r0,#1 |
|000033b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000033c0| 20 20 20 3b 20 63 6c 65 | 61 72 20 62 30 0d 0b f4 | ; cle|ar b0...|
|000033d0| 48 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |H | |
|000033e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000033f0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 2a 2a 2a 2a | | ; ****|
|00003400| 20 52 4f 20 53 70 65 63 | 69 66 69 63 20 62 69 74 | RO Spec|ific bit|
|00003410| 20 2a 2a 2a 2a 0d 0b fe | 49 20 20 20 4c 44 52 20 | ****...|I LDR |
|00003420| 20 20 20 20 6c 69 6e 6b | 2c 5b 72 31 32 5d 20 20 | link|,[r12] |
|00003430| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003440| 20 20 3b 20 72 65 61 64 | 20 6f 66 66 73 65 74 20 | ; read| offset |
|00003450| 66 6f 72 20 52 4f 20 76 | 65 72 73 69 6f 6e 0d 0c |for RO v|ersion..|
|00003460| 08 48 20 20 20 41 44 44 | 20 20 20 20 20 72 30 2c |.H ADD| r0,|
|00003470| 72 30 2c 6c 69 6e 6b 20 | 20 20 20 20 20 20 20 20 |r0,link | |
|00003480| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 61 6e 64 | | ; and|
|00003490| 20 61 64 64 20 69 74 20 | 74 6f 20 6f 75 72 20 70 | add it |to our p|
|000034a0| 6f 69 6e 74 65 72 0d 0c | 12 48 20 20 20 20 20 20 |ointer..|.H |
|000034b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000034c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000034d0| 20 20 20 3b 20 2a 2a 2a | 2a 20 52 4f 20 53 70 65 | ; ***|* RO Spe|
|000034e0| 63 69 66 69 63 20 62 69 | 74 20 2a 2a 2a 2a 0d 0c |cific bi|t ****..|
|000034f0| 1c 3d 20 20 20 53 54 52 | 20 20 20 20 20 72 31 2c |.= STR| r1,|
|00003500| 5b 72 30 2c 23 37 32 2b | 36 34 5d 20 20 20 20 20 |[r0,#72+|64] |
|00003510| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 73 74 6f | | ; sto|
|00003520| 72 65 20 69 6e 20 62 6c | 6f 63 6b 0d 0c 26 46 20 |re in bl|ock..&F |
|00003530| 20 20 42 4c 20 20 20 20 | 20 20 72 65 64 72 61 77 | BL | redraw|
|00003540| 5f 77 69 6e 64 6f 77 20 | 20 20 20 20 20 20 20 20 |_window | |
|00003550| 20 20 20 20 20 20 20 20 | 3b 20 72 65 64 72 61 77 | |; redraw|
|00003560| 20 74 68 65 20 77 68 6f | 6c 65 20 77 69 6e 64 6f | the who|le windo|
|00003570| 77 0d 0c 30 0e 2e 5f 5f | 7a 35 5f 65 78 69 74 0d |w..0..__|z5_exit.|
|00003580| 0c 3a 16 20 20 20 53 54 | 52 56 53 20 20 20 72 30 |.:. ST|RVS r0|
|00003590| 2c 5b 73 70 5d 0d 0c 44 | 3f 20 20 20 4c 44 4d 46 |,[sp]..D|? LDMF|
|000035a0| 44 20 20 20 28 73 70 29 | 21 2c 7b 72 30 2d 72 31 |D (sp)|!,{r0-r1|
|000035b0| 2c 70 63 7d 20 20 20 20 | 20 20 20 20 20 20 20 20 |,pc} | |
|000035c0| 20 20 3b 20 52 65 74 75 | 72 6e 20 66 72 6f 6d 20 | ; Retu|rn from |
|000035d0| 63 61 6c 6c 0d 0c 4e 05 | 3a 0d 0c 58 05 3a 0d 0c |call..N.|:..X.:..|
|000035e0| 62 49 3b 20 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |bI; ****|********|
|000035f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003600| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003610| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003620| 2a 2a 2a 2a 2a 2a 2a 0d | 0c 6c 20 3b 20 53 75 62 |*******.|.l ; Sub|
|00003630| 72 6f 75 74 69 6e 65 3b | 20 20 20 73 77 69 5f 6d |routine;| swi_m|
|00003640| 69 6e 77 69 64 74 68 0d | 0c 76 2c 3b 20 44 65 73 |inwidth.|.v,; Des|
|00003650| 63 72 69 70 74 69 6f 6e | 3b 20 20 43 68 61 6e 67 |cription|; Chang|
|00003660| 65 20 74 68 65 20 6d 69 | 6e 69 6d 75 6d 20 77 69 |e the mi|nimum wi|
|00003670| 64 74 68 0d 0c 80 26 3b | 20 50 61 72 61 6d 65 74 |dth...&;| Paramet|
|00003680| 65 72 73 3b 20 20 20 72 | 30 2d 3e 20 77 69 6e 64 |ers; r|0-> wind|
|00003690| 6f 77 20 68 61 6e 64 6c | 65 0d 0c 8a 22 3b 20 20 |ow handl|e..."; |
|000036a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 72 31 2d | | r1-|
|000036b0| 3e 20 6d 69 6e 20 77 69 | 64 74 68 0d 0c 94 2f 3b |> min wi|dth.../;|
|000036c0| 20 52 65 74 75 72 6e 73 | 3b 20 20 20 20 20 20 6e | Returns|; n|
|000036d0| 6f 6e 65 2c 20 6f 72 20 | 56 53 20 61 6e 64 20 72 |one, or |VS and r|
|000036e0| 30 20 69 66 20 65 72 72 | 6f 72 0d 0c 9e 49 3b 20 |0 if err|or...I; |
|000036f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003700| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003710| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003720| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003730| 2a 2a 2a 0d 0c a8 11 2e | 73 77 69 5f 6d 69 6e 77 |***.....|swi_minw|
|00003740| 69 64 74 68 0d 0c b2 3e | 20 20 20 53 54 4d 46 44 |idth...>| STMFD|
|00003750| 20 20 20 28 73 70 29 21 | 2c 7b 72 30 2d 72 32 2c | (sp)!|,{r0-r2,|
|00003760| 6c 69 6e 6b 7d 20 20 20 | 20 20 20 20 20 20 20 20 |link} | |
|00003770| 20 3b 20 53 74 61 63 6b | 20 72 65 67 69 73 74 65 | ; Stack| registe|
|00003780| 72 73 0d 0c bc 4b 20 20 | 20 42 4c 20 20 20 20 20 |rs...K | BL |
|00003790| 20 63 68 65 63 6b 5f 72 | 30 5f 76 61 6c 69 64 20 | check_r|0_valid |
|000037a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|000037b0| 20 69 73 20 74 68 65 20 | 77 69 6e 64 6f 77 20 68 | is the |window h|
|000037c0| 61 6e 64 6c 65 20 76 61 | 6c 69 64 20 3f 0d 0c c6 |andle va|lid ?...|
|000037d0| 4a 20 20 20 42 56 53 20 | 20 20 20 20 5f 5f 7a 36 |J BVS | __z6|
|000037e0| 5f 65 78 69 74 20 20 20 | 20 20 20 20 20 20 20 20 |_exit | |
|000037f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00003800| 69 66 20 6e 6f 74 2c 20 | 65 78 69 74 20 77 69 74 |if not, |exit wit|
|00003810| 68 20 65 72 72 6f 72 0d | 0c d0 37 20 20 20 42 49 |h error.|..7 BI|
|00003820| 43 20 20 20 20 20 72 30 | 2c 72 30 2c 23 31 20 20 |C r0|,r0,#1 |
|00003830| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003840| 20 20 20 20 3b 20 63 6c | 65 61 72 20 62 30 0d 0c | ; cl|ear b0..|
|00003850| da 48 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.H | |
|00003860| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003870| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 2a 2a 2a | | ; ***|
|00003880| 2a 20 52 4f 20 53 70 65 | 63 69 66 69 63 20 62 69 |* RO Spe|cific bi|
|00003890| 74 20 2a 2a 2a 2a 0d 0c | e4 49 20 20 20 4c 44 52 |t ****..|.I LDR|
|000038a0| 20 20 20 20 20 6c 69 6e | 6b 2c 5b 72 31 32 5d 20 | lin|k,[r12] |
|000038b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000038c0| 20 20 20 3b 20 72 65 61 | 64 20 6f 66 66 73 65 74 | ; rea|d offset|
|000038d0| 20 66 6f 72 20 52 4f 20 | 76 65 72 73 69 6f 6e 0d | for RO |version.|
|000038e0| 0c ee 48 20 20 20 41 44 | 44 20 20 20 20 20 72 30 |..H AD|D r0|
|000038f0| 2c 72 30 2c 6c 69 6e 6b | 20 20 20 20 20 20 20 20 |,r0,link| |
|00003900| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 61 6e | | ; an|
|00003910| 64 20 61 64 64 20 69 74 | 20 74 6f 20 6f 75 72 20 |d add it| to our |
|00003920| 70 6f 69 6e 74 65 72 0d | 0c f8 48 20 20 20 20 20 |pointer.|..H |
|00003930| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003940| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003950| 20 20 20 20 3b 20 2a 2a | 2a 2a 20 52 4f 20 53 70 | ; **|** RO Sp|
|00003960| 65 63 69 66 69 63 20 62 | 69 74 20 2a 2a 2a 2a 0d |ecific b|it ****.|
|00003970| 0d 02 40 20 20 20 4c 44 | 52 20 20 20 20 20 72 32 |..@ LD|R r2|
|00003980| 2c 5b 72 30 2c 23 37 32 | 2b 36 38 5d 20 20 20 20 |,[r0,#72|+68] |
|00003990| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 72 65 | | ; re|
|000039a0| 61 64 20 63 75 72 72 65 | 6e 74 20 77 6f 72 64 0d |ad curre|nt word.|
|000039b0| 0d 0c 40 20 20 20 42 49 | 43 20 20 20 20 20 72 32 |..@ BI|C r2|
|000039c0| 2c 72 32 2c 23 28 32 35 | 35 29 20 20 20 20 20 20 |,r2,#(25|5) |
|000039d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 63 6c | | ; cl|
|000039e0| 65 61 72 20 62 6f 74 74 | 6f 6d 20 62 69 74 73 0d |ear bott|om bits.|
|000039f0| 0d 16 46 20 20 20 42 49 | 43 20 20 20 20 20 72 32 |..F BI|C r2|
|00003a00| 2c 72 32 2c 23 28 32 35 | 35 3c 3c 38 29 20 20 20 |,r2,#(25|5<<8) |
|00003a10| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 63 6c | | ; cl|
|00003a20| 65 61 72 20 62 6f 74 74 | 6f 6d 20 6f 74 68 65 72 |ear bott|om other|
|00003a30| 20 62 69 74 73 0d 0d 20 | 3d 20 20 20 42 49 43 20 | bits.. |= BIC |
|00003a40| 20 20 20 20 72 31 2c 72 | 31 2c 23 28 32 35 35 3c | r1,r|1,#(255<|
|00003a50| 3c 31 36 29 20 20 20 20 | 20 20 20 20 20 20 20 20 |<16) | |
|00003a60| 20 20 3b 20 63 6c 65 61 | 72 20 6d 69 64 20 62 69 | ; clea|r mid bi|
|00003a70| 74 73 0d 0d 2a 3d 20 20 | 20 42 49 43 20 20 20 20 |ts..*= | BIC |
|00003a80| 20 72 31 2c 72 31 2c 23 | 28 32 35 35 3c 3c 32 34 | r1,r1,#|(255<<24|
|00003a90| 29 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b |) | ;|
|00003aa0| 20 63 6c 65 61 72 20 74 | 6f 70 20 62 69 74 73 0d | clear t|op bits.|
|00003ab0| 0d 34 33 20 20 20 84 52 | 20 20 20 20 20 72 31 2c |.43 .R| r1,|
|00003ac0| 72 31 2c 72 32 20 20 20 | 20 20 20 20 20 20 20 20 |r1,r2 | |
|00003ad0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 6d 65 72 | | ; mer|
|00003ae0| 67 65 0d 0d 3e 3d 20 20 | 20 53 54 52 20 20 20 20 |ge..>= | STR |
|00003af0| 20 72 31 2c 5b 72 30 2c | 23 37 32 2b 36 38 5d 20 | r1,[r0,|#72+68] |
|00003b00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00003b10| 20 73 74 6f 72 65 20 69 | 6e 20 62 6c 6f 63 6b 0d | store i|n block.|
|00003b20| 0d 48 4b 20 20 20 42 4c | 20 20 20 20 20 20 72 65 |.HK BL| re|
|00003b30| 64 72 61 77 5f 6f 70 65 | 6e 20 20 20 20 20 20 20 |draw_ope|n |
|00003b40| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 72 65 | | ; re|
|00003b50| 64 72 61 77 20 74 68 65 | 20 77 69 6e 64 6f 77 20 |draw the| window |
|00003b60| 62 79 20 6f 70 65 6e 69 | 6e 67 0d 0d 52 0e 2e 5f |by openi|ng..R.._|
|00003b70| 5f 7a 36 5f 65 78 69 74 | 0d 0d 5c 16 20 20 20 53 |_z6_exit|..\. S|
|00003b80| 54 52 56 53 20 20 20 72 | 30 2c 5b 73 70 5d 0d 0d |TRVS r|0,[sp]..|
|00003b90| 66 3f 20 20 20 4c 44 4d | 46 44 20 20 20 28 73 70 |f? LDM|FD (sp|
|00003ba0| 29 21 2c 7b 72 30 2d 72 | 32 2c 70 63 7d 20 20 20 |)!,{r0-r|2,pc} |
|00003bb0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 52 65 74 | | ; Ret|
|00003bc0| 75 72 6e 20 66 72 6f 6d | 20 63 61 6c 6c 0d 0d 70 |urn from| call..p|
|00003bd0| 05 3a 0d 0d 7a 49 3b 20 | 2a 2a 2a 2a 2a 2a 2a 2a |.:..zI; |********|
|00003be0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003bf0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003c00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003c10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 0d 84 21 3b |********|***...!;|
|00003c20| 20 53 75 62 72 6f 75 74 | 69 6e 65 3b 20 20 20 73 | Subrout|ine; s|
|00003c30| 77 69 5f 6d 69 6e 68 65 | 69 67 68 74 0d 0d 8e 2d |wi_minhe|ight...-|
|00003c40| 3b 20 44 65 73 63 72 69 | 70 74 69 6f 6e 3b 20 20 |; Descri|ption; |
|00003c50| 43 68 61 6e 67 65 20 74 | 68 65 20 6d 69 6e 69 6d |Change t|he minim|
|00003c60| 75 6d 20 68 65 69 67 68 | 74 0d 0d 98 26 3b 20 50 |um heigh|t...&; P|
|00003c70| 61 72 61 6d 65 74 65 72 | 73 3b 20 20 20 72 30 2d |arameter|s; r0-|
|00003c80| 3e 20 77 69 6e 64 6f 77 | 20 68 61 6e 64 6c 65 0d |> window| handle.|
|00003c90| 0d a2 22 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |.."; | |
|00003ca0| 20 20 20 72 31 2d 3e 20 | 6d 61 78 20 77 69 64 74 | r1-> |max widt|
|00003cb0| 68 0d 0d ac 2f 3b 20 52 | 65 74 75 72 6e 73 3b 20 |h.../; R|eturns; |
|00003cc0| 20 20 20 20 20 6e 6f 6e | 65 2c 20 6f 72 20 56 53 | non|e, or VS|
|00003cd0| 20 61 6e 64 20 72 30 20 | 69 66 20 65 72 72 6f 72 | and r0 |if error|
|00003ce0| 0d 0d b6 49 3b 20 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |...I; **|********|
|00003cf0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003d00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003d10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003d20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 0d c0 12 2e 73 77 |********|*.....sw|
|00003d30| 69 5f 6d 69 6e 68 65 69 | 67 68 74 0d 0d ca 3e 20 |i_minhei|ght...> |
|00003d40| 20 20 53 54 4d 46 44 20 | 20 20 28 73 70 29 21 2c | STMFD | (sp)!,|
|00003d50| 7b 72 30 2d 72 32 2c 6c | 69 6e 6b 7d 20 20 20 20 |{r0-r2,l|ink} |
|00003d60| 20 20 20 20 20 20 20 20 | 3b 20 53 74 61 63 6b 20 | |; Stack |
|00003d70| 72 65 67 69 73 74 65 72 | 73 0d 0d d4 4b 20 20 20 |register|s...K |
|00003d80| 42 4c 20 20 20 20 20 20 | 63 68 65 63 6b 5f 72 30 |BL |check_r0|
|00003d90| 5f 76 61 6c 69 64 20 20 | 20 20 20 20 20 20 20 20 |_valid | |
|00003da0| 20 20 20 20 20 20 3b 20 | 69 73 20 74 68 65 20 77 | ; |is the w|
|00003db0| 69 6e 64 6f 77 20 68 61 | 6e 64 6c 65 20 76 61 6c |indow ha|ndle val|
|00003dc0| 69 64 20 3f 0d 0d de 4a | 20 20 20 42 56 53 20 20 |id ?...J| BVS |
|00003dd0| 20 20 20 5f 5f 7a 37 5f | 65 78 69 74 20 20 20 20 | __z7_|exit |
|00003de0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003df0| 20 20 20 20 20 3b 20 69 | 66 20 6e 6f 74 2c 20 65 | ; i|f not, e|
|00003e00| 78 69 74 20 77 69 74 68 | 20 65 72 72 6f 72 0d 0d |xit with| error..|
|00003e10| e8 37 20 20 20 42 49 43 | 20 20 20 20 20 72 30 2c |.7 BIC| r0,|
|00003e20| 72 30 2c 23 31 20 20 20 | 20 20 20 20 20 20 20 20 |r0,#1 | |
|00003e30| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 63 6c 65 | | ; cle|
|00003e40| 61 72 20 62 30 0d 0d f2 | 48 20 20 20 20 20 20 20 |ar b0...|H |
|00003e50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003e60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003e70| 20 20 3b 20 2a 2a 2a 2a | 20 52 4f 20 53 70 65 63 | ; ****| RO Spec|
|00003e80| 69 66 69 63 20 62 69 74 | 20 2a 2a 2a 2a 0d 0d fc |ific bit| ****...|
|00003e90| 49 20 20 20 4c 44 52 20 | 20 20 20 20 6c 69 6e 6b |I LDR | link|
|00003ea0| 2c 5b 72 31 32 5d 20 20 | 20 20 20 20 20 20 20 20 |,[r12] | |
|00003eb0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 72 65 61 64 | | ; read|
|00003ec0| 20 6f 66 66 73 65 74 20 | 66 6f 72 20 52 4f 20 76 | offset |for RO v|
|00003ed0| 65 72 73 69 6f 6e 0d 0e | 06 48 20 20 20 41 44 44 |ersion..|.H ADD|
|00003ee0| 20 20 20 20 20 72 30 2c | 72 30 2c 6c 69 6e 6b 20 | r0,|r0,link |
|00003ef0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003f00| 20 20 20 3b 20 61 6e 64 | 20 61 64 64 20 69 74 20 | ; and| add it |
|00003f10| 74 6f 20 6f 75 72 20 70 | 6f 69 6e 74 65 72 0d 0e |to our p|ointer..|
|00003f20| 10 48 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.H | |
|00003f30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003f40| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 2a 2a 2a | | ; ***|
|00003f50| 2a 20 52 4f 20 53 70 65 | 63 69 66 69 63 20 62 69 |* RO Spe|cific bi|
|00003f60| 74 20 2a 2a 2a 2a 0d 0e | 1a 40 20 20 20 4c 44 52 |t ****..|.@ LDR|
|00003f70| 20 20 20 20 20 72 32 2c | 5b 72 30 2c 23 37 32 2b | r2,|[r0,#72+|
|00003f80| 36 38 5d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |68] | |
|00003f90| 20 20 20 3b 20 72 65 61 | 64 20 63 75 72 72 65 6e | ; rea|d curren|
|00003fa0| 74 20 77 6f 72 64 0d 0e | 24 3d 20 20 20 42 49 43 |t word..|$= BIC|
|00003fb0| 20 20 20 20 20 72 32 2c | 72 32 2c 23 28 32 35 35 | r2,|r2,#(255|
|00003fc0| 3c 3c 31 36 29 20 20 20 | 20 20 20 20 20 20 20 20 |<<16) | |
|00003fd0| 20 20 20 3b 20 63 6c 65 | 61 72 20 6d 69 64 20 62 | ; cle|ar mid b|
|00003fe0| 69 74 73 0d 0e 2e 3d 20 | 20 20 42 49 43 20 20 20 |its...= | BIC |
|00003ff0| 20 20 72 32 2c 72 32 2c | 23 28 32 35 35 3c 3c 32 | r2,r2,|#(255<<2|
|00004000| 34 29 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |4) | |
|00004010| 3b 20 63 6c 65 61 72 20 | 74 6f 70 20 62 69 74 73 |; clear |top bits|
|00004020| 0d 0e 38 33 20 20 20 84 | 52 20 20 20 20 20 72 31 |..83 .|R r1|
|00004030| 2c 72 32 2c 72 31 2c 4c | 53 4c 20 23 31 36 20 20 |,r2,r1,L|SL #16 |
|00004040| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 6d 65 | | ; me|
|00004050| 72 67 65 0d 0e 42 3d 20 | 20 20 53 54 52 20 20 20 |rge..B= | STR |
|00004060| 20 20 72 31 2c 5b 72 30 | 2c 23 37 32 2b 36 38 5d | r1,[r0|,#72+68]|
|00004070| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004080| 3b 20 73 74 6f 72 65 20 | 69 6e 20 62 6c 6f 63 6b |; store |in block|
|00004090| 0d 0e 4c 4b 20 20 20 42 | 4c 20 20 20 20 20 20 72 |..LK B|L r|
|000040a0| 65 64 72 61 77 5f 6f 70 | 65 6e 20 20 20 20 20 20 |edraw_op|en |
|000040b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 72 | | ; r|
|000040c0| 65 64 72 61 77 20 74 68 | 65 20 77 69 6e 64 6f 77 |edraw th|e window|
|000040d0| 20 62 79 20 6f 70 65 6e | 69 6e 67 0d 0e 56 0e 2e | by open|ing..V..|
|000040e0| 5f 5f 7a 37 5f 65 78 69 | 74 0d 0e 60 16 20 20 20 |__z7_exi|t..`. |
|000040f0| 53 54 52 56 53 20 20 20 | 72 30 2c 5b 73 70 5d 0d |STRVS |r0,[sp].|
|00004100| 0e 6a 3f 20 20 20 4c 44 | 4d 46 44 20 20 20 28 73 |.j? LD|MFD (s|
|00004110| 70 29 21 2c 7b 72 30 2d | 72 32 2c 70 63 7d 20 20 |p)!,{r0-|r2,pc} |
|00004120| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 52 65 | | ; Re|
|00004130| 74 75 72 6e 20 66 72 6f | 6d 20 63 61 6c 6c 0d 0e |turn fro|m call..|
|00004140| 74 05 3a 0d 0e 7e 49 3b | 20 2a 2a 2a 2a 2a 2a 2a |t.:..~I;| *******|
|00004150| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004160| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004170| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004180| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 0e 88 21 |********|****...!|
|00004190| 3b 20 53 75 62 72 6f 75 | 74 69 6e 65 3b 20 20 20 |; Subrou|tine; |
|000041a0| 73 77 69 5f 74 69 74 6c | 65 64 61 74 61 0d 0e 92 |swi_titl|edata...|
|000041b0| 28 3b 20 44 65 73 63 72 | 69 70 74 69 6f 6e 3b 20 |(; Descr|iption; |
|000041c0| 20 43 68 61 6e 67 65 20 | 74 68 65 20 74 69 74 6c | Change |the titl|
|000041d0| 65 64 61 74 61 0d 0e 9c | 26 3b 20 50 61 72 61 6d |edata...|&; Param|
|000041e0| 65 74 65 72 73 3b 20 20 | 20 72 30 2d 3e 20 77 69 |eters; | r0-> wi|
|000041f0| 6e 64 6f 77 20 68 61 6e | 64 6c 65 0d 0e a6 28 3b |ndow han|dle...(;|
|00004200| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 72 | | r|
|00004210| 31 2d 3e 20 74 69 74 6c | 65 64 61 74 61 20 62 6c |1-> titl|edata bl|
|00004220| 6f 63 6b 0d 0e b0 2f 3b | 20 52 65 74 75 72 6e 73 |ock.../;| Returns|
|00004230| 3b 20 20 20 20 20 20 6e | 6f 6e 65 2c 20 6f 72 20 |; n|one, or |
|00004240| 56 53 20 61 6e 64 20 72 | 30 20 69 66 20 65 72 72 |VS and r|0 if err|
|00004250| 6f 72 0d 0e ba 49 3b 20 | 2a 2a 2a 2a 2a 2a 2a 2a |or...I; |********|
|00004260| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 0e c4 12 2e |********|***.....|
|000042a0| 73 77 69 5f 74 69 74 6c | 65 64 61 74 61 0d 0e ce |swi_titl|edata...|
|000042b0| 3e 20 20 20 53 54 4d 46 | 44 20 20 20 28 73 70 29 |> STMF|D (sp)|
|000042c0| 21 2c 7b 72 30 2d 72 34 | 2c 6c 69 6e 6b 7d 20 20 |!,{r0-r4|,link} |
|000042d0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 53 74 61 63 | | ; Stac|
|000042e0| 6b 20 72 65 67 69 73 74 | 65 72 73 0d 0e d8 4b 20 |k regist|ers...K |
|000042f0| 20 20 42 4c 20 20 20 20 | 20 20 63 68 65 63 6b 5f | BL | check_|
|00004300| 72 30 5f 76 61 6c 69 64 | 20 20 20 20 20 20 20 20 |r0_valid| |
|00004310| 20 20 20 20 20 20 20 20 | 3b 20 69 73 20 74 68 65 | |; is the|
|00004320| 20 77 69 6e 64 6f 77 20 | 68 61 6e 64 6c 65 20 76 | window |handle v|
|00004330| 61 6c 69 64 20 3f 0d 0e | e2 4a 20 20 20 42 56 53 |alid ?..|.J BVS|
|00004340| 20 20 20 20 20 5f 5f 7a | 38 5f 65 78 69 74 20 20 | __z|8_exit |
|00004350| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004360| 20 20 20 20 20 20 20 3b | 20 69 66 20 6e 6f 74 2c | ;| if not,|
|00004370| 20 65 78 69 74 20 77 69 | 74 68 20 65 72 72 6f 72 | exit wi|th error|
|00004380| 0d 0e ec 37 20 20 20 42 | 49 43 20 20 20 20 20 72 |...7 B|IC r|
|00004390| 30 2c 72 30 2c 23 31 20 | 20 20 20 20 20 20 20 20 |0,r0,#1 | |
|000043a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 63 | | ; c|
|000043b0| 6c 65 61 72 20 62 30 0d | 0e f6 48 20 20 20 20 20 |lear b0.|..H |
|000043c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000043d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000043e0| 20 20 20 20 3b 20 2a 2a | 2a 2a 20 52 4f 20 53 70 | ; **|** RO Sp|
|000043f0| 65 63 69 66 69 63 20 62 | 69 74 20 2a 2a 2a 2a 0d |ecific b|it ****.|
|00004400| 0f 00 49 20 20 20 4c 44 | 52 20 20 20 20 20 6c 69 |..I LD|R li|
|00004410| 6e 6b 2c 5b 72 31 32 5d | 20 20 20 20 20 20 20 20 |nk,[r12]| |
|00004420| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 72 65 | | ; re|
|00004430| 61 64 20 6f 66 66 73 65 | 74 20 66 6f 72 20 52 4f |ad offse|t for RO|
|00004440| 20 76 65 72 73 69 6f 6e | 0d 0f 0a 48 20 20 20 41 | version|...H A|
|00004450| 44 44 20 20 20 20 20 72 | 30 2c 72 30 2c 6c 69 6e |DD r|0,r0,lin|
|00004460| 6b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |k | |
|00004470| 20 20 20 20 20 3b 20 61 | 6e 64 20 61 64 64 20 69 | ; a|nd add i|
|00004480| 74 20 74 6f 20 6f 75 72 | 20 70 6f 69 6e 74 65 72 |t to our| pointer|
|00004490| 0d 0f 14 48 20 20 20 20 | 20 20 20 20 20 20 20 20 |...H | |
|000044a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000044b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 2a | | ; *|
|000044c0| 2a 2a 2a 20 52 4f 20 53 | 70 65 63 69 66 69 63 20 |*** RO S|pecific |
|000044d0| 62 69 74 20 2a 2a 2a 2a | 0d 0f 1e 3c 20 20 20 4c |bit ****|...< L|
|000044e0| 44 4d 49 41 20 20 20 72 | 31 2c 7b 72 32 2d 72 34 |DMIA r|1,{r2-r4|
|000044f0| 7d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |} | |
|00004500| 20 20 20 20 20 3b 20 72 | 65 61 64 20 31 32 20 62 | ; r|ead 12 b|
|00004510| 79 74 65 73 0d 0f 28 4a | 20 20 20 41 44 44 20 20 |ytes..(J| ADD |
|00004520| 20 20 20 72 31 2c 72 30 | 2c 23 37 32 2b 37 32 20 | r1,r0|,#72+72 |
|00004530| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004540| 20 3b 20 66 69 6e 64 20 | 74 68 65 20 74 69 74 6c | ; find |the titl|
|00004550| 65 20 64 61 74 61 20 61 | 64 64 72 65 73 73 0d 0f |e data a|ddress..|
|00004560| 32 3d 20 20 20 53 54 4d | 49 41 20 20 20 72 31 2c |2= STM|IA r1,|
|00004570| 7b 72 32 2d 72 34 7d 20 | 20 20 20 20 20 20 20 20 |{r2-r4} | |
|00004580| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 73 74 6f | | ; sto|
|00004590| 72 65 20 69 6e 20 62 6c | 6f 63 6b 0d 0f 3c 46 20 |re in bl|ock..<F |
|000045a0| 20 20 42 4c 20 20 20 20 | 20 20 72 65 64 72 61 77 | BL | redraw|
|000045b0| 5f 74 6f 6f 6c 73 20 20 | 20 20 20 20 20 20 20 20 |_tools | |
|000045c0| 20 20 20 20 20 20 20 20 | 3b 20 72 65 64 72 61 77 | |; redraw|
|000045d0| 20 74 68 65 20 77 68 6f | 6c 65 20 77 69 6e 64 6f | the who|le windo|
|000045e0| 77 0d 0f 46 0e 2e 5f 5f | 7a 38 5f 65 78 69 74 0d |w..F..__|z8_exit.|
|000045f0| 0f 50 16 20 20 20 53 54 | 52 56 53 20 20 20 72 30 |.P. ST|RVS r0|
|00004600| 2c 5b 73 70 5d 0d 0f 5a | 3f 20 20 20 4c 44 4d 46 |,[sp]..Z|? LDMF|
|00004610| 44 20 20 20 28 73 70 29 | 21 2c 7b 72 30 2d 72 34 |D (sp)|!,{r0-r4|
|00004620| 2c 70 63 7d 20 20 20 20 | 20 20 20 20 20 20 20 20 |,pc} | |
|00004630| 20 20 3b 20 52 65 74 75 | 72 6e 20 66 72 6f 6d 20 | ; Retu|rn from |
|00004640| 63 61 6c 6c 0d 0f 64 05 | 3a 0d 0f 6e 49 3b 20 2a |call..d.|:..nI; *|
|00004650| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004660| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004670| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004680| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004690| 2a 2a 0d 0f 78 23 3b 20 | 53 75 62 72 6f 75 74 69 |**..x#; |Subrouti|
|000046a0| 6e 65 3b 20 20 20 73 77 | 69 5f 77 69 6e 64 6f 77 |ne; sw|i_window|
|000046b0| 66 6c 61 67 73 0d 0f 82 | 2b 3b 20 44 65 73 63 72 |flags...|+; Descr|
|000046c0| 69 70 74 69 6f 6e 3b 20 | 20 43 68 61 6e 67 65 20 |iption; | Change |
|000046d0| 74 68 65 20 77 69 6e 64 | 6f 77 20 66 6c 61 67 73 |the wind|ow flags|
|000046e0| 0d 0f 8c 26 3b 20 50 61 | 72 61 6d 65 74 65 72 73 |...&; Pa|rameters|
|000046f0| 3b 20 20 20 72 30 2d 3e | 20 77 69 6e 64 6f 77 20 |; r0->| window |
|00004700| 68 61 6e 64 6c 65 0d 0f | 96 22 3b 20 20 20 20 20 |handle..|."; |
|00004710| 20 20 20 20 20 20 20 20 | 20 20 72 31 20 3d 20 42 | | r1 = B|
|00004720| 49 43 20 76 61 6c 75 65 | 0d 0f a0 20 3b 20 20 20 |IC value|... ; |
|00004730| 20 20 20 20 20 20 20 20 | 20 20 20 20 72 32 20 3d | | r2 =|
|00004740| 20 82 20 76 61 6c 75 65 | 0d 0f aa 2f 3b 20 52 65 | . value|.../; Re|
|00004750| 74 75 72 6e 73 3b 20 20 | 20 20 20 20 6e 6f 6e 65 |turns; | none|
|00004760| 2c 20 6f 72 20 56 53 20 | 61 6e 64 20 72 30 20 69 |, or VS |and r0 i|
|00004770| 66 20 65 72 72 6f 72 0d | 0f b4 49 3b 20 2a 2a 2a |f error.|..I; ***|
|00004780| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004790| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000047a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000047b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000047c0| 0d 0f be 14 2e 73 77 69 | 5f 77 69 6e 64 6f 77 66 |.....swi|_windowf|
|000047d0| 6c 61 67 73 0d 0f c8 3e | 20 20 20 53 54 4d 46 44 |lags...>| STMFD|
|000047e0| 20 20 20 28 73 70 29 21 | 2c 7b 72 30 2d 72 33 2c | (sp)!|,{r0-r3,|
|000047f0| 6c 69 6e 6b 7d 20 20 20 | 20 20 20 20 20 20 20 20 |link} | |
|00004800| 20 3b 20 53 74 61 63 6b | 20 72 65 67 69 73 74 65 | ; Stack| registe|
|00004810| 72 73 0d 0f d2 4b 20 20 | 20 42 4c 20 20 20 20 20 |rs...K | BL |
|00004820| 20 63 68 65 63 6b 5f 72 | 30 5f 76 61 6c 69 64 20 | check_r|0_valid |
|00004830| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00004840| 20 69 73 20 74 68 65 20 | 77 69 6e 64 6f 77 20 68 | is the |window h|
|00004850| 61 6e 64 6c 65 20 76 61 | 6c 69 64 20 3f 0d 0f dc |andle va|lid ?...|
|00004860| 4a 20 20 20 42 56 53 20 | 20 20 20 20 5f 5f 7a 39 |J BVS | __z9|
|00004870| 5f 65 78 69 74 20 20 20 | 20 20 20 20 20 20 20 20 |_exit | |
|00004880| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00004890| 69 66 20 6e 6f 74 2c 20 | 65 78 69 74 20 77 69 74 |if not, |exit wit|
|000048a0| 68 20 65 72 72 6f 72 0d | 0f e6 37 20 20 20 42 49 |h error.|..7 BI|
|000048b0| 43 20 20 20 20 20 72 30 | 2c 72 30 2c 23 31 20 20 |C r0|,r0,#1 |
|000048c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000048d0| 20 20 20 20 3b 20 63 6c | 65 61 72 20 62 30 0d 0f | ; cl|ear b0..|
|000048e0| f0 48 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.H | |
|000048f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004900| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 2a 2a 2a | | ; ***|
|00004910| 2a 20 52 4f 20 53 70 65 | 63 69 66 69 63 20 62 69 |* RO Spe|cific bi|
|00004920| 74 20 2a 2a 2a 2a 0d 0f | fa 49 20 20 20 4c 44 52 |t ****..|.I LDR|
|00004930| 20 20 20 20 20 6c 69 6e | 6b 2c 5b 72 31 32 5d 20 | lin|k,[r12] |
|00004940| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004950| 20 20 20 3b 20 72 65 61 | 64 20 6f 66 66 73 65 74 | ; rea|d offset|
|00004960| 20 66 6f 72 20 52 4f 20 | 76 65 72 73 69 6f 6e 0d | for RO |version.|
|00004970| 10 04 48 20 20 20 41 44 | 44 20 20 20 20 20 72 30 |..H AD|D r0|
|00004980| 2c 72 30 2c 6c 69 6e 6b | 20 20 20 20 20 20 20 20 |,r0,link| |
|00004990| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 61 6e | | ; an|
|000049a0| 64 20 61 64 64 20 69 74 | 20 74 6f 20 6f 75 72 20 |d add it| to our |
|000049b0| 70 6f 69 6e 74 65 72 0d | 10 0e 48 20 20 20 20 20 |pointer.|..H |
|000049c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000049d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000049e0| 20 20 20 20 3b 20 2a 2a | 2a 2a 20 52 4f 20 53 70 | ; **|** RO Sp|
|000049f0| 65 63 69 66 69 63 20 62 | 69 74 20 2a 2a 2a 2a 0d |ecific b|it ****.|
|00004a00| 10 18 48 20 20 20 4c 44 | 52 20 20 20 20 20 72 33 |..H LD|R r3|
|00004a10| 2c 5b 72 30 2c 23 37 32 | 2b 32 38 5d 20 20 20 20 |,[r0,#72|+28] |
|00004a20| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 72 65 | | ; re|
|00004a30| 61 64 20 74 68 65 20 63 | 75 72 72 65 6e 74 20 73 |ad the c|urrent s|
|00004a40| 65 74 74 69 6e 67 73 0d | 10 22 43 20 20 20 42 49 |ettings.|."C BI|
|00004a50| 43 20 20 20 20 20 72 33 | 2c 72 33 2c 72 31 20 20 |C r3|,r3,r1 |
|00004a60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004a70| 20 20 20 20 3b 20 63 6c | 65 61 72 20 62 69 74 73 | ; cl|ear bits|
|00004a80| 20 73 70 65 63 69 66 69 | 65 64 0d 10 2c 4b 20 20 | specifi|ed..,K |
|00004a90| 20 82 20 20 20 20 20 72 | 33 2c 72 33 2c 72 32 20 | . r|3,r3,r2 |
|00004aa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004ab0| 20 20 20 20 20 3b 20 61 | 6e 64 20 69 6e 76 65 72 | ; a|nd inver|
|00004ac0| 74 20 74 68 6f 73 65 20 | 6f 74 68 65 72 73 20 77 |t those |others w|
|00004ad0| 61 6e 74 65 64 0d 10 36 | 42 20 20 20 53 54 52 20 |anted..6|B STR |
|00004ae0| 20 20 20 20 72 33 2c 5b | 72 30 2c 23 37 32 2b 32 | r3,[|r0,#72+2|
|00004af0| 38 5d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |8] | |
|00004b00| 20 20 3b 20 73 74 6f 72 | 65 20 62 61 63 6b 20 69 | ; stor|e back i|
|00004b10| 6e 20 62 6c 6f 63 6b 0d | 10 40 4e 20 20 20 42 4c |n block.|.@N BL|
|00004b20| 20 20 20 20 20 20 72 65 | 64 72 61 77 5f 6f 70 65 | re|draw_ope|
|00004b30| 6e 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |n | |
|00004b40| 20 20 20 20 3b 20 72 65 | 64 72 61 77 20 74 68 65 | ; re|draw the|
|00004b50| 20 77 69 6e 64 6f 77 20 | 62 79 20 6f 70 65 6e 69 | window |by openi|
|00004b60| 6e 67 20 69 74 0d 10 4a | 0e 2e 5f 5f 7a 39 5f 65 |ng it..J|..__z9_e|
|00004b70| 78 69 74 0d 10 54 16 20 | 20 20 53 54 52 56 53 20 |xit..T. | STRVS |
|00004b80| 20 20 72 30 2c 5b 73 70 | 5d 0d 10 5e 3f 20 20 20 | r0,[sp|]..^? |
|00004b90| 4c 44 4d 46 44 20 20 20 | 28 73 70 29 21 2c 7b 72 |LDMFD |(sp)!,{r|
|00004ba0| 30 2d 72 33 2c 70 63 7d | 20 20 20 20 20 20 20 20 |0-r3,pc}| |
|00004bb0| 20 20 20 20 20 20 3b 20 | 52 65 74 75 72 6e 20 66 | ; |Return f|
|00004bc0| 72 6f 6d 20 63 61 6c 6c | 0d 10 68 05 3a 0d 10 72 |rom call|..h.:..r|
|00004bd0| 49 3b 20 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |I; *****|********|
|00004be0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004bf0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004c00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004c10| 2a 2a 2a 2a 2a 2a 0d 10 | 7c 20 3b 20 53 75 62 72 |******..|| ; Subr|
|00004c20| 6f 75 74 69 6e 65 3b 20 | 20 20 72 65 64 72 61 77 |outine; | redraw|
|00004c30| 5f 74 6f 6f 6c 73 0d 10 | 86 2d 3b 20 44 65 73 63 |_tools..|.-; Desc|
|00004c40| 72 69 70 74 69 6f 6e 3b | 20 20 52 65 64 72 61 77 |ription;| Redraw|
|00004c50| 20 6a 75 73 74 20 74 68 | 65 20 74 6f 6f 6c 20 62 | just th|e tool b|
|00004c60| 61 72 73 0d 10 90 31 3b | 20 50 61 72 61 6d 65 74 |ars...1;| Paramet|
|00004c70| 65 72 73 3b 20 20 20 72 | 30 2d 3e 20 77 69 6e 64 |ers; r|0-> wind|
|00004c80| 6f 77 20 68 61 6e 64 6c | 65 20 28 62 30 20 63 6c |ow handl|e (b0 cl|
|00004c90| 65 61 72 29 0d 10 9a 18 | 3b 20 52 65 74 75 72 6e |ear)....|; Return|
|00004ca0| 73 3b 20 20 20 20 20 20 | 6e 6f 6e 65 0d 10 a4 49 |s; |none...I|
|00004cb0| 3b 20 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |; ******|********|
|00004cc0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004cd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004ce0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004cf0| 2a 2a 2a 2a 2a 0d 10 ae | 11 2e 72 65 64 72 61 77 |*****...|..redraw|
|00004d00| 5f 74 6f 6f 6c 73 0d 10 | b8 3e 20 20 20 53 54 4d |_tools..|.> STM|
|00004d10| 46 44 20 20 20 28 73 70 | 29 21 2c 7b 72 30 2d 72 |FD (sp|)!,{r0-r|
|00004d20| 36 2c 6c 69 6e 6b 7d 20 | 20 20 20 20 20 20 20 20 |6,link} | |
|00004d30| 20 20 20 3b 20 53 74 61 | 63 6b 20 72 65 67 69 73 | ; Sta|ck regis|
|00004d40| 74 65 72 73 0d 10 c2 46 | 20 20 20 4d 4f 56 20 20 |ters...F| MOV |
|00004d50| 20 20 20 72 36 2c 72 30 | 20 20 20 20 20 20 20 20 | r6,r0| |
|00004d60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004d70| 20 3b 20 75 73 65 20 72 | 35 20 61 73 20 62 61 73 | ; use r|5 as bas|
|00004d80| 65 20 6f 66 20 62 6c 6f | 63 6b 0d 10 cc 48 20 20 |e of blo|ck...H |
|00004d90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004da0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004db0| 20 20 20 20 20 20 20 3b | 20 2a 2a 2a 2a 20 52 4f | ;| **** RO|
|00004dc0| 20 53 70 65 63 69 66 69 | 63 20 62 69 74 20 2a 2a | Specifi|c bit **|
|00004dd0| 2a 2a 0d 10 d6 50 20 20 | 20 20 20 20 20 20 20 20 |**...P | |
|00004de0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004df0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00004e00| 20 6f 6e 6c 79 20 6e 65 | 65 64 65 64 20 62 65 63 | only ne|eded bec|
|00004e10| 61 75 73 65 20 77 65 27 | 76 65 20 61 6c 72 65 61 |ause we'|ve alrea|
|00004e20| 64 79 0d 10 e0 45 20 20 | 20 20 20 20 20 20 20 20 |dy...E | |
|00004e30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004e40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00004e50| 20 61 64 64 65 64 20 74 | 68 65 20 6f 66 66 73 65 | added t|he offse|
|00004e60| 74 20 6f 6e 2e 2e 2e 0d | 10 ea 4f 20 20 20 4c 44 |t on....|..O LD|
|00004e70| 52 20 20 20 20 20 72 35 | 2c 5b 72 31 32 5d 20 20 |R r5|,[r12] |
|00004e80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004e90| 20 20 20 20 3b 20 72 65 | 61 64 20 74 68 65 20 6f | ; re|ad the o|
|00004ea0| 66 66 73 65 74 20 66 6f | 72 20 27 66 61 72 27 20 |ffset fo|r 'far' |
|00004eb0| 62 6c 6f 63 6b 73 0d 10 | f4 3c 20 20 20 53 55 42 |blocks..|.< SUB|
|00004ec0| 20 20 20 20 20 72 35 2c | 72 30 2c 72 35 20 20 20 | r5,|r0,r5 |
|00004ed0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004ee0| 20 20 20 3b 20 61 6e 64 | 20 72 65 64 75 63 65 20 | ; and| reduce |
|00004ef0| 69 74 0d 10 fe 48 20 20 | 20 20 20 20 20 20 20 20 |it...H | |
|00004f00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004f10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00004f20| 20 2a 2a 2a 2a 20 52 4f | 20 53 70 65 63 69 66 69 | **** RO| Specifi|
|00004f30| 63 20 62 69 74 20 2a 2a | 2a 2a 0d 11 08 0f 3b 20 |c bit **|**....; |
|00004f40| 74 69 74 6c 65 20 62 61 | 72 0d 11 12 49 20 20 20 |title ba|r...I |
|00004f50| 4c 44 52 20 20 20 20 20 | 72 31 2c 5b 72 35 2c 23 |LDR |r1,[r5,#|
|00004f60| 32 38 5d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |28] | |
|00004f70| 20 20 20 20 20 20 3b 20 | 6c 65 66 74 20 6f 66 20 | ; |left of |
|00004f80| 77 69 6e 64 6f 77 20 28 | 69 6e 63 20 74 6f 6f 6c |window (|inc tool|
|00004f90| 73 29 0d 11 1c 48 20 20 | 20 4c 44 52 20 20 20 20 |s)...H | LDR |
|00004fa0| 20 72 32 2c 5b 72 36 2c | 23 37 32 2b 31 32 5d 20 | r2,[r6,|#72+12] |
|00004fb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00004fc0| 20 74 6f 70 20 6f 66 20 | 77 69 6e 64 6f 77 20 28 | top of |window (|
|00004fd0| 65 78 63 20 74 6f 6f 6c | 73 29 0d 11 26 4a 20 20 |exc tool|s)..&J |
|00004fe0| 20 4c 44 52 20 20 20 20 | 20 72 33 2c 5b 72 35 2c | LDR | r3,[r5,|
|00004ff0| 23 33 36 5d 20 20 20 20 | 20 20 20 20 20 20 20 20 |#36] | |
|00005000| 20 20 20 20 20 20 20 3b | 20 72 69 67 68 74 20 6f | ;| right o|
|00005010| 66 20 77 69 6e 64 6f 77 | 20 28 69 6e 63 20 74 6f |f window| (inc to|
|00005020| 6f 6c 73 29 0d 11 30 48 | 20 20 20 4c 44 52 20 20 |ols)..0H| LDR |
|00005030| 20 20 20 72 34 2c 5b 72 | 35 2c 23 34 30 5d 20 20 | r4,[r|5,#40] |
|00005040| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005050| 20 3b 20 74 6f 70 20 6f | 66 20 77 69 6e 64 6f 77 | ; top o|f window|
|00005060| 20 28 69 6e 63 20 74 6f | 6f 6c 73 29 0d 11 3a 17 | (inc to|ols)..:.|
|00005070| 20 20 20 4d 56 4e 20 20 | 20 20 20 72 30 2c 23 ac | MVN | r0,#.|
|00005080| 20 2d 31 0d 11 44 22 20 | 20 20 53 57 49 20 20 20 | -1..D" | SWI |
|00005090| 20 20 22 58 57 69 6d 70 | 5f 46 6f 72 63 65 52 65 | "XWimp|_ForceRe|
|000050a0| 64 72 61 77 22 0d 11 4e | 23 20 20 20 20 20 20 20 |draw"..N|# |
|000050b0| 20 20 20 3b 20 72 65 64 | 72 61 77 20 77 68 6f 6c | ; red|raw whol|
|000050c0| 65 20 77 69 6e 64 6f 77 | 0d 11 58 16 3b 20 72 69 |e window|..X.; ri|
|000050d0| 67 68 74 20 73 63 72 6f | 6c 6c 20 62 61 72 0d 11 |ght scro|ll bar..|
|000050e0| 62 4a 20 20 20 4c 44 52 | 20 20 20 20 20 72 31 2c |bJ LDR| r1,|
|000050f0| 5b 72 36 2c 23 37 32 2b | 38 5d 20 20 20 20 20 20 |[r6,#72+|8] |
|00005100| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 72 69 67 | | ; rig|
|00005110| 68 74 20 6f 66 20 77 69 | 6e 64 6f 77 20 28 65 78 |ht of wi|ndow (ex|
|00005120| 63 20 74 6f 6f 6c 73 29 | 0d 11 6c 4b 20 20 20 4c |c tools)|..lK L|
|00005130| 44 52 20 20 20 20 20 72 | 32 2c 5b 72 35 2c 23 33 |DR r|2,[r5,#3|
|00005140| 32 5d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |2] | |
|00005150| 20 20 20 20 20 3b 20 62 | 6f 74 74 6f 6d 20 6f 66 | ; b|ottom of|
|00005160| 20 77 69 6e 64 6f 77 20 | 28 69 6e 63 20 74 6f 6f | window |(inc too|
|00005170| 6c 73 29 0d 11 76 4a 20 | 20 20 4c 44 52 20 20 20 |ls)..vJ | LDR |
|00005180| 20 20 72 33 2c 5b 72 35 | 2c 23 33 36 5d 20 20 20 | r3,[r5|,#36] |
|00005190| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000051a0| 3b 20 72 69 67 68 74 20 | 6f 66 20 77 69 6e 64 6f |; right |of windo|
|000051b0| 77 20 28 69 6e 63 20 74 | 6f 6f 6c 73 29 0d 11 80 |w (inc t|ools)...|
|000051c0| 48 20 20 20 4c 44 52 20 | 20 20 20 20 72 34 2c 5b |H LDR | r4,[|
|000051d0| 72 35 2c 23 34 30 5d 20 | 20 20 20 20 20 20 20 20 |r5,#40] | |
|000051e0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 74 6f 70 20 | | ; top |
|000051f0| 6f 66 20 77 69 6e 64 6f | 77 20 28 69 6e 63 20 74 |of windo|w (inc t|
|00005200| 6f 6f 6c 73 29 0d 11 8a | 17 20 20 20 4d 56 4e 20 |ools)...|. MVN |
|00005210| 20 20 20 20 72 30 2c 23 | ac 20 2d 31 0d 11 94 22 | r0,#|. -1..."|
|00005220| 20 20 20 53 57 49 20 20 | 20 20 20 22 58 57 69 6d | SWI | "XWim|
|00005230| 70 5f 46 6f 72 63 65 52 | 65 64 72 61 77 22 0d 11 |p_ForceR|edraw"..|
|00005240| 9e 23 20 20 20 20 20 20 | 20 20 20 20 3b 20 72 65 |.# | ; re|
|00005250| 64 72 61 77 20 77 68 6f | 6c 65 20 77 69 6e 64 6f |draw who|le windo|
|00005260| 77 0d 11 a8 17 3b 20 62 | 6f 74 74 6f 6d 20 73 63 |w....; b|ottom sc|
|00005270| 72 6f 6c 6c 20 62 61 72 | 0d 11 b2 49 20 20 20 4c |roll bar|...I L|
|00005280| 44 52 20 20 20 20 20 72 | 31 2c 5b 72 35 2c 23 32 |DR r|1,[r5,#2|
|00005290| 38 5d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |8] | |
|000052a0| 20 20 20 20 20 3b 20 6c | 65 66 74 20 6f 66 20 77 | ; l|eft of w|
|000052b0| 69 6e 64 6f 77 20 28 69 | 6e 63 20 74 6f 6f 6c 73 |indow (i|nc tools|
|000052c0| 29 0d 11 bc 4b 20 20 20 | 4c 44 52 20 20 20 20 20 |)...K |LDR |
|000052d0| 72 32 2c 5b 72 35 2c 23 | 33 32 5d 20 20 20 20 20 |r2,[r5,#|32] |
|000052e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|000052f0| 62 6f 74 74 6f 6d 20 6f | 66 20 77 69 6e 64 6f 77 |bottom o|f window|
|00005300| 20 28 69 6e 63 20 74 6f | 6f 6c 73 29 0d 11 c6 4a | (inc to|ols)...J|
|00005310| 20 20 20 4c 44 52 20 20 | 20 20 20 72 33 2c 5b 72 | LDR | r3,[r|
|00005320| 35 2c 23 33 36 5d 20 20 | 20 20 20 20 20 20 20 20 |5,#36] | |
|00005330| 20 20 20 20 20 20 20 20 | 20 3b 20 72 69 67 68 74 | | ; right|
|00005340| 20 6f 66 20 77 69 6e 64 | 6f 77 20 28 69 6e 63 20 | of wind|ow (inc |
|00005350| 74 6f 6f 6c 73 29 0d 11 | d0 4b 20 20 20 4c 44 52 |tools)..|.K LDR|
|00005360| 20 20 20 20 20 72 34 2c | 5b 72 36 2c 23 37 32 2b | r4,|[r6,#72+|
|00005370| 34 5d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |4] | |
|00005380| 20 20 20 3b 20 62 6f 74 | 74 6f 6d 20 6f 66 20 77 | ; bot|tom of w|
|00005390| 69 6e 64 6f 77 20 28 65 | 78 63 20 74 6f 6f 6c 73 |indow (e|xc tools|
|000053a0| 29 0d 11 da 17 20 20 20 | 4d 56 4e 20 20 20 20 20 |).... |MVN |
|000053b0| 72 30 2c 23 ac 20 2d 31 | 0d 11 e4 22 20 20 20 53 |r0,#. -1|..." S|
|000053c0| 57 49 20 20 20 20 20 22 | 58 57 69 6d 70 5f 46 6f |WI "|XWimp_Fo|
|000053d0| 72 63 65 52 65 64 72 61 | 77 22 0d 11 ee 23 20 20 |rceRedra|w"...# |
|000053e0| 20 20 20 20 20 20 20 20 | 3b 20 72 65 64 72 61 77 | |; redraw|
|000053f0| 20 77 68 6f 6c 65 20 77 | 69 6e 64 6f 77 0d 11 f8 | whole w|indow...|
|00005400| 16 20 20 20 53 54 52 56 | 53 20 20 20 72 30 2c 5b |. STRV|S r0,[|
|00005410| 73 70 5d 0d 12 02 3f 20 | 20 20 4c 44 4d 46 44 20 |sp]...? | LDMFD |
|00005420| 20 20 28 73 70 29 21 2c | 7b 72 30 2d 72 36 2c 70 | (sp)!,|{r0-r6,p|
|00005430| 63 7d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |c} | |
|00005440| 3b 20 52 65 74 75 72 6e | 20 66 72 6f 6d 20 63 61 |; Return| from ca|
|00005450| 6c 6c 0d 12 0c 05 3a 0d | 12 16 49 3b 20 2a 2a 2a |ll....:.|..I; ***|
|00005460| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005470| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005480| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005490| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000054a0| 0d 12 20 21 3b 20 53 75 | 62 72 6f 75 74 69 6e 65 |.. !; Su|broutine|
|000054b0| 3b 20 20 20 72 65 64 72 | 61 77 5f 77 69 6e 64 6f |; redr|aw_windo|
|000054c0| 77 0d 12 2a 2c 3b 20 44 | 65 73 63 72 69 70 74 69 |w..*,; D|escripti|
|000054d0| 6f 6e 3b 20 20 52 65 64 | 72 61 77 20 74 68 65 20 |on; Red|raw the |
|000054e0| 65 6e 74 69 72 65 20 77 | 69 6e 64 6f 77 0d 12 34 |entire w|indow..4|
|000054f0| 31 3b 20 50 61 72 61 6d | 65 74 65 72 73 3b 20 20 |1; Param|eters; |
|00005500| 20 72 30 2d 3e 20 77 69 | 6e 64 6f 77 20 68 61 6e | r0-> wi|ndow han|
|00005510| 64 6c 65 20 28 62 30 20 | 63 6c 65 61 72 29 0d 12 |dle (b0 |clear)..|
|00005520| 3e 18 3b 20 52 65 74 75 | 72 6e 73 3b 20 20 20 20 |>.; Retu|rns; |
|00005530| 20 20 6e 6f 6e 65 0d 12 | 48 49 3b 20 2a 2a 2a 2a | none..|HI; ****|
|00005540| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005550| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005560| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005570| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|00005580| 12 52 12 2e 72 65 64 72 | 61 77 5f 77 69 6e 64 6f |.R..redr|aw_windo|
|00005590| 77 0d 12 5c 3e 20 20 20 | 53 54 4d 46 44 20 20 20 |w..\> |STMFD |
|000055a0| 28 73 70 29 21 2c 7b 72 | 30 2d 72 34 2c 6c 69 6e |(sp)!,{r|0-r4,lin|
|000055b0| 6b 7d 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 |k} | ; |
|000055c0| 53 74 61 63 6b 20 72 65 | 67 69 73 74 65 72 73 0d |Stack re|gisters.|
|000055d0| 12 66 05 3a 0d 12 70 48 | 20 20 20 20 20 20 20 20 |.f.:..pH| |
|000055e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000055f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005600| 20 3b 20 2a 2a 2a 2a 20 | 52 4f 20 53 70 65 63 69 | ; **** |RO Speci|
|00005610| 66 69 63 20 62 69 74 20 | 2a 2a 2a 2a 0d 12 7a 50 |fic bit |****..zP|
|00005620| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005630| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005640| 20 20 20 20 20 20 20 20 | 20 3b 20 6f 6e 6c 79 20 | | ; only |
|00005650| 6e 65 65 64 65 64 20 62 | 65 63 61 75 73 65 20 77 |needed b|ecause w|
|00005660| 65 27 76 65 20 61 6c 72 | 65 61 64 79 0d 12 84 45 |e've alr|eady...E|
|00005670| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005680| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005690| 20 20 20 20 20 20 20 20 | 20 3b 20 61 64 64 65 64 | | ; added|
|000056a0| 20 74 68 65 20 6f 66 66 | 73 65 74 20 6f 6e 2e 2e | the off|set on..|
|000056b0| 2e 0d 12 8e 4f 20 20 20 | 4c 44 52 20 20 20 20 20 |....O |LDR |
|000056c0| 6c 69 6e 6b 2c 5b 72 31 | 32 5d 20 20 20 20 20 20 |link,[r1|2] |
|000056d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|000056e0| 72 65 61 64 20 74 68 65 | 20 6f 66 66 73 65 74 20 |read the| offset |
|000056f0| 66 6f 72 20 27 66 61 72 | 27 20 62 6c 6f 63 6b 73 |for 'far|' blocks|
|00005700| 0d 12 98 3c 20 20 20 53 | 55 42 20 20 20 20 20 72 |...< S|UB r|
|00005710| 30 2c 72 30 2c 6c 69 6e | 6b 20 20 20 20 20 20 20 |0,r0,lin|k |
|00005720| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 61 | | ; a|
|00005730| 6e 64 20 72 65 64 75 63 | 65 20 69 74 0d 12 a2 48 |nd reduc|e it...H|
|00005740| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005750| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005760| 20 20 20 20 20 20 20 20 | 20 3b 20 2a 2a 2a 2a 20 | | ; **** |
|00005770| 52 4f 20 53 70 65 63 69 | 66 69 63 20 62 69 74 20 |RO Speci|fic bit |
|00005780| 2a 2a 2a 2a 0d 12 ac 05 | 3a 0d 12 b6 49 20 20 20 |****....|:...I |
|00005790| 4c 44 52 20 20 20 20 20 | 72 31 2c 5b 72 30 2c 23 |LDR |r1,[r0,#|
|000057a0| 32 38 5d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |28] | |
|000057b0| 20 20 20 20 20 20 3b 20 | 6c 65 66 74 20 6f 66 20 | ; |left of |
|000057c0| 77 69 6e 64 6f 77 20 28 | 69 6e 63 20 74 6f 6f 6c |window (|inc tool|
|000057d0| 73 29 0d 12 c0 4b 20 20 | 20 4c 44 52 20 20 20 20 |s)...K | LDR |
|000057e0| 20 72 32 2c 5b 72 30 2c | 23 33 32 5d 20 20 20 20 | r2,[r0,|#32] |
|000057f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00005800| 20 62 6f 74 74 6f 6d 20 | 6f 66 20 77 69 6e 64 6f | bottom |of windo|
|00005810| 77 20 28 69 6e 63 20 74 | 6f 6f 6c 73 29 0d 12 ca |w (inc t|ools)...|
|00005820| 4a 20 20 20 4c 44 52 20 | 20 20 20 20 72 33 2c 5b |J LDR | r3,[|
|00005830| 72 30 2c 23 33 36 5d 20 | 20 20 20 20 20 20 20 20 |r0,#36] | |
|00005840| 20 20 20 20 20 20 20 20 | 20 20 3b 20 72 69 67 68 | | ; righ|
|00005850| 74 20 6f 66 20 77 69 6e | 64 6f 77 20 28 69 6e 63 |t of win|dow (inc|
|00005860| 20 74 6f 6f 6c 73 29 0d | 12 d4 48 20 20 20 4c 44 | tools).|..H LD|
|00005870| 52 20 20 20 20 20 72 34 | 2c 5b 72 30 2c 23 34 30 |R r4|,[r0,#40|
|00005880| 5d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |] | |
|00005890| 20 20 20 20 3b 20 74 6f | 70 20 6f 66 20 77 69 6e | ; to|p of win|
|000058a0| 64 6f 77 20 28 69 6e 63 | 20 74 6f 6f 6c 73 29 0d |dow (inc| tools).|
|000058b0| 12 de 17 20 20 20 4d 56 | 4e 20 20 20 20 20 72 30 |... MV|N r0|
|000058c0| 2c 23 ac 20 2d 31 0d 12 | e8 22 20 20 20 53 57 49 |,#. -1..|." SWI|
|000058d0| 20 20 20 20 20 22 58 57 | 69 6d 70 5f 46 6f 72 63 | "XW|imp_Forc|
|000058e0| 65 52 65 64 72 61 77 22 | 0d 12 f2 23 20 20 20 20 |eRedraw"|...# |
|000058f0| 20 20 20 20 20 20 3b 20 | 72 65 64 72 61 77 20 77 | ; |redraw w|
|00005900| 68 6f 6c 65 20 77 69 6e | 64 6f 77 0d 12 fc 16 20 |hole win|dow.... |
|00005910| 20 20 53 54 52 56 53 20 | 20 20 72 30 2c 5b 73 70 | STRVS | r0,[sp|
|00005920| 5d 0d 13 06 3f 20 20 20 | 4c 44 4d 46 44 20 20 20 |]...? |LDMFD |
|00005930| 28 73 70 29 21 2c 7b 72 | 30 2d 72 34 2c 70 63 7d |(sp)!,{r|0-r4,pc}|
|00005940| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00005950| 52 65 74 75 72 6e 20 66 | 72 6f 6d 20 63 61 6c 6c |Return f|rom call|
|00005960| 0d 13 10 05 3a 0d 13 1a | 49 3b 20 2a 2a 2a 2a 2a |....:...|I; *****|
|00005970| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005980| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005990| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000059a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 13 |********|******..|
|000059b0| 24 1f 3b 20 53 75 62 72 | 6f 75 74 69 6e 65 3b 20 |$.; Subr|outine; |
|000059c0| 20 20 72 65 64 72 61 77 | 5f 6f 70 65 6e 0d 13 2e | redraw|_open...|
|000059d0| 36 3b 20 44 65 73 63 72 | 69 70 74 69 6f 6e 3b 20 |6; Descr|iption; |
|000059e0| 20 52 65 64 72 61 77 20 | 74 68 65 20 77 69 6e 64 | Redraw |the wind|
|000059f0| 6f 77 20 62 79 20 72 65 | 2d 6f 70 65 6e 69 6e 67 |ow by re|-opening|
|00005a00| 20 69 74 0d 13 38 30 3b | 20 50 61 72 61 6d 65 74 | it..80;| Paramet|
|00005a10| 65 72 73 3b 20 20 20 72 | 30 2d 3e 20 77 69 6e 64 |ers; r|0-> wind|
|00005a20| 6f 77 20 62 6c 6f 63 6b | 20 28 62 30 20 75 6e 73 |ow block| (b0 uns|
|00005a30| 65 74 29 0d 13 42 18 3b | 20 52 65 74 75 72 6e 73 |et)..B.;| Returns|
|00005a40| 3b 20 20 20 20 20 20 6e | 6f 6e 65 0d 13 4c 49 3b |; n|one..LI;|
|00005a50| 20 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | *******|********|
|00005a60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005a70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005a80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005a90| 2a 2a 2a 2a 0d 13 56 10 | 2e 72 65 64 72 61 77 5f |****..V.|.redraw_|
|00005aa0| 6f 70 65 6e 0d 13 60 3e | 20 20 20 53 54 4d 46 44 |open..`>| STMFD|
|00005ab0| 20 20 20 28 73 70 29 21 | 2c 7b 72 30 2d 72 31 2c | (sp)!|,{r0-r1,|
|00005ac0| 6c 69 6e 6b 7d 20 20 20 | 20 20 20 20 20 20 20 20 |link} | |
|00005ad0| 20 3b 20 53 74 61 63 6b | 20 72 65 67 69 73 74 65 | ; Stack| registe|
|00005ae0| 72 73 0d 13 6a 15 20 20 | 20 4d 4f 56 20 20 20 20 |rs..j. | MOV |
|00005af0| 20 72 30 2c 23 33 36 0d | 13 74 13 20 20 20 42 4c | r0,#36.|.t. BL|
|00005b00| 20 20 20 20 20 63 6c 61 | 69 6d 0d 13 7e 25 20 20 | cla|im..~% |
|00005b10| 20 20 20 20 20 20 20 20 | 3b 20 63 6c 61 69 6d 20 | |; claim |
|00005b20| 73 70 61 63 65 20 66 6f | 72 20 62 6c 6f 63 6b 0d |space fo|r block.|
|00005b30| 13 88 41 20 20 20 4d 4f | 56 20 20 20 20 20 72 31 |..A MO|V r1|
|00005b40| 2c 72 30 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |,r0 | |
|00005b50| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 72 31 | | ; r1|
|00005b60| 20 3d 20 63 6c 61 69 6d | 65 64 20 62 6c 6f 63 6b | = claim|ed block|
|00005b70| 0d 13 92 43 20 20 20 4c | 44 52 20 20 20 20 20 72 |...C L|DR r|
|00005b80| 30 2c 5b 73 70 5d 20 20 | 20 20 20 20 20 20 20 20 |0,[sp] | |
|00005b90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 72 | | ; r|
|00005ba0| 65 2d 72 65 61 64 20 77 | 69 6e 64 6f 77 20 62 6c |e-read w|indow bl|
|00005bb0| 6f 63 6b 0d 13 9c 05 3a | 0d 13 a6 48 20 20 20 20 |ock....:|...H |
|00005bc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005bd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005be0| 20 20 20 20 20 3b 20 2a | 2a 2a 2a 20 52 4f 20 53 | ; *|*** RO S|
|00005bf0| 70 65 63 69 66 69 63 20 | 62 69 74 20 2a 2a 2a 2a |pecific |bit ****|
|00005c00| 0d 13 b0 50 20 20 20 20 | 20 20 20 20 20 20 20 20 |...P | |
|00005c10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005c20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 6f | | ; o|
|00005c30| 6e 6c 79 20 6e 65 65 64 | 65 64 20 62 65 63 61 75 |nly need|ed becau|
|00005c40| 73 65 20 77 65 27 76 65 | 20 61 6c 72 65 61 64 79 |se we've| already|
|00005c50| 0d 13 ba 45 20 20 20 20 | 20 20 20 20 20 20 20 20 |...E | |
|00005c60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005c70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 61 | | ; a|
|00005c80| 64 64 65 64 20 74 68 65 | 20 6f 66 66 73 65 74 20 |dded the| offset |
|00005c90| 6f 6e 2e 2e 2e 0d 13 c4 | 4f 20 20 20 4c 44 52 20 |on......|O LDR |
|00005ca0| 20 20 20 20 6c 69 6e 6b | 2c 5b 72 31 32 5d 20 20 | link|,[r12] |
|00005cb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005cc0| 20 20 3b 20 72 65 61 64 | 20 74 68 65 20 6f 66 66 | ; read| the off|
|00005cd0| 73 65 74 20 66 6f 72 20 | 27 66 61 72 27 20 62 6c |set for |'far' bl|
|00005ce0| 6f 63 6b 73 0d 13 ce 3c | 20 20 20 53 55 42 20 20 |ocks...<| SUB |
|00005cf0| 20 20 20 72 30 2c 72 30 | 2c 6c 69 6e 6b 20 20 20 | r0,r0|,link |
|00005d00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005d10| 20 3b 20 61 6e 64 20 72 | 65 64 75 63 65 20 69 74 | ; and r|educe it|
|00005d20| 0d 13 d8 48 20 20 20 20 | 20 20 20 20 20 20 20 20 |...H | |
|00005d30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005d40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 2a | | ; *|
|00005d50| 2a 2a 2a 20 52 4f 20 53 | 70 65 63 69 66 69 63 20 |*** RO S|pecific |
|00005d60| 62 69 74 20 2a 2a 2a 2a | 0d 13 e2 05 3a 0d 13 ec |bit ****|....:...|
|00005d70| 3b 20 20 20 41 44 44 20 | 20 20 20 20 72 30 2c 72 |; ADD | r0,r|
|00005d80| 30 2c 23 31 20 20 20 20 | 20 20 20 20 20 20 20 20 |0,#1 | |
|00005d90| 20 20 20 20 20 20 20 20 | 20 20 3b 20 72 65 2d 61 | | ; re-a|
|00005da0| 73 73 65 72 74 20 72 30 | 0d 13 f6 45 20 20 20 53 |ssert r0|...E S|
|00005db0| 54 52 20 20 20 20 20 72 | 30 2c 5b 72 31 5d 20 20 |TR r|0,[r1] |
|00005dc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005dd0| 20 20 20 20 20 3b 20 73 | 74 6f 72 65 20 69 6e 20 | ; s|tore in |
|00005de0| 63 6c 61 69 6d 65 64 20 | 62 6c 6f 63 6b 0d 14 00 |claimed |block...|
|00005df0| 41 20 20 20 53 57 49 20 | 20 20 20 20 22 58 57 69 |A SWI | "XWi|
|00005e00| 6d 70 5f 47 65 74 57 69 | 6e 64 6f 77 53 74 61 74 |mp_GetWi|ndowStat|
|00005e10| 65 22 20 20 20 20 20 20 | 20 20 3b 20 72 65 61 64 |e" | ; read|
|00005e20| 20 63 75 72 72 65 6e 74 | 20 73 74 61 74 65 0d 14 | current| state..|
|00005e30| 0a 3e 20 20 20 53 57 49 | 20 20 20 20 20 22 58 57 |.> SWI| "XW|
|00005e40| 69 6d 70 5f 4f 70 65 6e | 57 69 6e 64 6f 77 22 20 |imp_Open|Window" |
|00005e50| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 6f 70 65 | | ; ope|
|00005e60| 6e 20 74 68 65 20 77 69 | 6e 64 6f 77 0d 14 14 14 |n the wi|ndow....|
|00005e70| 20 20 20 4d 4f 56 20 20 | 20 20 20 72 30 2c 72 31 | MOV | r0,r1|
|00005e80| 0d 14 1e 15 20 20 20 42 | 4c 20 20 20 20 20 72 65 |.... B|L re|
|00005e90| 6c 65 61 73 65 0d 14 28 | 21 20 20 20 20 20 20 20 |lease..(|! |
|00005ea0| 20 20 20 3b 20 72 65 6c | 65 61 73 65 20 74 68 65 | ; rel|ease the|
|00005eb0| 20 73 70 61 63 65 0d 14 | 32 43 20 20 20 4c 44 52 | space..|2C LDR|
|00005ec0| 20 20 20 20 20 72 30 2c | 5b 73 70 5d 20 20 20 20 | r0,|[sp] |
|00005ed0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005ee0| 20 20 20 3b 20 72 65 2d | 72 65 61 64 20 77 69 6e | ; re-|read win|
|00005ef0| 64 6f 77 20 62 6c 6f 63 | 6b 0d 14 3c 05 3a 0d 14 |dow bloc|k..<.:..|
|00005f00| 46 48 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |FH | |
|00005f10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005f20| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 2a 2a 2a | | ; ***|
|00005f30| 2a 20 52 4f 20 53 70 65 | 63 69 66 69 63 20 62 69 |* RO Spe|cific bi|
|00005f40| 74 20 2a 2a 2a 2a 0d 14 | 50 50 20 20 20 20 20 20 |t ****..|PP |
|00005f50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005f60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005f70| 20 20 20 3b 20 6f 6e 6c | 79 20 6e 65 65 64 65 64 | ; onl|y needed|
|00005f80| 20 62 65 63 61 75 73 65 | 20 77 65 27 76 65 20 61 | because| we've a|
|00005f90| 6c 72 65 61 64 79 0d 14 | 5a 45 20 20 20 20 20 20 |lready..|ZE |
|00005fa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005fb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005fc0| 20 20 20 3b 20 61 64 64 | 65 64 20 74 68 65 20 6f | ; add|ed the o|
|00005fd0| 66 66 73 65 74 20 6f 6e | 2e 2e 2e 0d 14 64 4f 20 |ffset on|.....dO |
|00005fe0| 20 20 4c 44 52 20 20 20 | 20 20 6c 69 6e 6b 2c 5b | LDR | link,[|
|00005ff0| 72 31 32 5d 20 20 20 20 | 20 20 20 20 20 20 20 20 |r12] | |
|00006000| 20 20 20 20 20 20 20 20 | 3b 20 72 65 61 64 20 74 | |; read t|
|00006010| 68 65 20 6f 66 66 73 65 | 74 20 66 6f 72 20 27 66 |he offse|t for 'f|
|00006020| 61 72 27 20 62 6c 6f 63 | 6b 73 0d 14 6e 3c 20 20 |ar' bloc|ks..n< |
|00006030| 20 53 55 42 20 20 20 20 | 20 72 30 2c 72 30 2c 6c | SUB | r0,r0,l|
|00006040| 69 6e 6b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ink | |
|00006050| 20 20 20 20 20 20 20 3b | 20 61 6e 64 20 72 65 64 | ;| and red|
|00006060| 75 63 65 20 69 74 0d 14 | 78 48 20 20 20 20 20 20 |uce it..|xH |
|00006070| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00006080| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00006090| 20 20 20 3b 20 2a 2a 2a | 2a 20 52 4f 20 53 70 65 | ; ***|* RO Spe|
|000060a0| 63 69 66 69 63 20 62 69 | 74 20 2a 2a 2a 2a 0d 14 |cific bi|t ****..|
|000060b0| 82 05 3a 0d 14 8c 43 20 | 20 20 42 4c 20 20 20 20 |..:...C | BL |
|000060c0| 20 20 72 65 64 72 61 77 | 5f 74 6f 6f 6c 73 20 20 | redraw|_tools |
|000060d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000060e0| 3b 20 72 65 64 72 61 77 | 20 74 68 65 20 74 6f 6f |; redraw| the too|
|000060f0| 6c 73 20 74 6f 6f 0d 14 | 96 3f 20 20 20 4c 44 4d |ls too..|.? LDM|
|00006100| 46 44 20 20 20 28 73 70 | 29 21 2c 7b 72 30 2d 72 |FD (sp|)!,{r0-r|
|00006110| 31 2c 70 63 7d 20 20 20 | 20 20 20 20 20 20 20 20 |1,pc} | |
|00006120| 20 20 20 3b 20 52 65 74 | 75 72 6e 20 66 72 6f 6d | ; Ret|urn from|
|00006130| 20 63 61 6c 6c 0d 14 a0 | 05 3a 0d 14 aa 05 3a 0d | call...|.:....:.|
|00006140| 14 b4 2c 20 20 20 20 20 | 20 20 20 20 20 3b 20 4c |.., | ; L|
|00006150| 69 62 72 61 72 79 20 72 | 6f 75 74 69 6e 65 20 4d |ibrary r|outine M|
|00006160| 65 6d 6f 72 79 2e 63 6c | 61 69 6d 0d 14 be 0a 2e |emory.cl|aim.....|
|00006170| 63 6c 61 69 6d 0d 14 c8 | 49 3b 20 2a 2a 2a 2a 2a |claim...|I; *****|
|00006180| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00006190| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000061a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000061b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 14 |********|******..|
|000061c0| d2 19 3b 20 53 75 62 72 | 6f 75 74 69 6e 65 3b 20 |..; Subr|outine; |
|000061d0| 20 20 63 6c 61 69 6d 0d | 14 dc 32 3b 20 44 65 73 | claim.|..2; Des|
|000061e0| 63 72 69 70 74 69 6f 6e | 3b 20 20 63 6c 61 69 6d |cription|; claim|
|000061f0| 20 73 6f 6d 65 20 52 4d | 41 20 74 6f 20 72 30 20 | some RM|A to r0 |
|00006200| 28 73 69 7a 65 3d 72 30 | 29 0d 14 e6 1d 3b 20 50 |(size=r0|)....; P|
|00006210| 61 72 61 6d 65 74 65 72 | 73 3b 20 20 20 72 30 20 |arameter|s; r0 |
|00006220| 3d 20 73 69 7a 65 0d 14 | f0 30 3b 20 52 65 74 75 |= size..|.0; Retu|
|00006230| 72 6e 73 3b 20 20 20 20 | 20 20 72 30 20 3d 20 61 |rns; | r0 = a|
|00006240| 64 64 72 65 73 73 2c 20 | 6f 72 20 30 20 69 66 20 |ddress, |or 0 if |
|00006250| 66 61 69 6c 65 64 0d 14 | fa 49 3b 20 2a 2a 2a 2a |failed..|.I; ****|
|00006260| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00006270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00006280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00006290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|000062a0| 15 04 3e 20 20 20 53 54 | 4d 46 44 20 20 20 28 73 |..> ST|MFD (s|
|000062b0| 70 29 21 2c 7b 72 31 2d | 72 33 2c 6c 69 6e 6b 7d |p)!,{r1-|r3,link}|
|000062c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 53 74 | | ; St|
|000062d0| 61 63 6b 20 72 65 67 69 | 73 74 65 72 73 0d 15 0e |ack regi|sters...|
|000062e0| 3d 20 20 20 4d 4f 56 20 | 20 20 20 20 72 33 2c 72 |= MOV | r3,r|
|000062f0| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|00006300| 20 20 20 20 20 20 20 20 | 20 20 3b 20 72 69 67 68 | | ; righ|
|00006310| 74 20 72 65 67 69 73 74 | 65 72 0d 15 18 14 20 20 |t regist|er.... |
|00006320| 20 4d 4f 56 20 20 20 20 | 20 72 30 2c 23 36 0d 15 | MOV | r0,#6..|
|00006330| 22 1b 20 20 20 53 57 49 | 20 20 20 20 20 22 58 4f |". SWI| "XO|
|00006340| 53 5f 4d 6f 64 75 6c 65 | 22 0d 15 2c 1b 20 20 20 |S_Module|"..,. |
|00006350| 20 20 20 20 20 20 20 3b | 20 63 6c 61 69 6d 20 73 | ;| claim s|
|00006360| 70 61 63 65 0d 15 36 41 | 20 20 20 4d 4f 56 56 53 |pace..6A| MOVVS|
|00006370| 20 20 20 72 30 2c 23 30 | 20 20 20 20 20 20 20 20 | r0,#0| |
|00006380| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00006390| 20 3b 20 69 66 20 65 72 | 72 6f 72 2c 20 72 65 74 | ; if er|ror, ret|
|000063a0| 75 72 6e 20 30 0d 15 40 | 3d 20 20 20 4d 4f 56 20 |urn 0..@|= MOV |
|000063b0| 20 20 20 20 72 30 2c 72 | 32 20 20 20 20 20 20 20 | r0,r|2 |
|000063c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000063d0| 20 20 3b 20 72 65 74 75 | 72 6e 20 61 64 64 72 65 | ; retu|rn addre|
|000063e0| 73 73 0d 15 4a 3f 20 20 | 20 4c 44 4d 46 44 20 20 |ss..J? | LDMFD |
|000063f0| 20 28 73 70 29 21 2c 7b | 72 31 2d 72 33 2c 70 63 | (sp)!,{|r1-r3,pc|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.