home *** CD-ROM | disk | FTP | other *** search
Unknown | 1994-10-17 | 13.2 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 43 f4 20 3e 4d | 6f 75 73 65 53 70 65 65 |...C. >M|ouseSpee|
|00000010| 64 3a 20 49 20 77 61 6e | 74 20 74 65 73 74 20 69 |d: I wan|t test i|
|00000020| 66 20 74 68 65 20 6d 6f | 75 73 65 20 63 6f 75 6c |f the mo|use coul|
|00000030| 64 20 6e 6f 74 20 62 65 | 20 73 70 65 65 64 65 64 |d not be| speeded|
|00000040| 20 75 70 0d 00 14 1a f4 | 20 66 69 72 73 74 20 6d | up.....| first m|
|00000050| 6f 64 75 6c 65 20 76 65 | 72 73 69 6f 6e 0d 00 1e |odule ve|rsion...|
|00000060| 04 0d 00 28 16 f4 20 62 | 79 20 45 63 6b 61 72 74 |...(.. b|y Eckart|
|00000070| 20 47 f6 68 6c 65 72 0d | 00 32 04 0d 00 3c 2e f4 | G.hler.|.2...<..|
|00000080| 20 54 68 69 73 20 69 73 | 20 50 44 2c 20 64 6f 20 | This is| PD, do |
|00000090| 77 69 74 68 20 69 74 20 | 77 68 61 74 20 79 6f 75 |with it |what you|
|000000a0| 20 6c 69 6b 65 20 74 6f | 2e 0d 00 46 3c f4 20 50 | like to|...F<. P|
|000000b0| 65 72 68 61 70 73 20 69 | 74 20 77 6f 75 6c 64 20 |erhaps i|t would |
|000000c0| 62 65 20 6e 69 63 65 20 | 74 6f 20 69 6d 70 6c 65 |be nice |to imple|
|000000d0| 6d 65 6e 74 20 61 6e 20 | 6d 6f 75 73 65 20 73 70 |ment an |mouse sp|
|000000e0| 65 65 64 65 72 0d 00 50 | 2e f4 20 77 68 69 63 68 |eeder..P|.. which|
|000000f0| 20 68 61 73 20 61 20 6c | 69 6e 65 61 72 20 72 61 | has a l|inear ra|
|00000100| 74 69 6f 20 6f 66 20 73 | 70 65 65 64 69 6e 67 20 |tio of s|peeding |
|00000110| 75 70 2e 0d 00 5a 04 0d | 00 64 04 0d 00 6e 16 de |up...Z..|.d...n..|
|00000120| 20 43 6f 64 65 25 20 32 | 30 30 30 2c 4c 25 20 2d | Code% 2|000,L% -|
|00000130| 31 0d 00 78 04 0d 00 82 | 10 f4 20 43 6f 6e 73 74 |1..x....|.. Const|
|00000140| 61 6e 74 73 3a 0d 00 8c | 04 0d 00 96 32 6f 75 74 |ants:...|....2out|
|00000150| 66 69 6c 65 24 20 3d 20 | 22 20 24 2e 70 72 6f 6a |file$ = |" $.proj|
|00000160| 65 63 74 32 2e 4d 6f 75 | 73 65 53 70 65 65 64 2e |ect2.Mou|seSpeed.|
|00000170| 4d 6f 75 73 65 53 70 65 | 65 64 22 0d 00 a0 04 0d |MouseSpe|ed".....|
|00000180| 00 aa 36 44 65 6c 61 79 | 25 20 3d 20 35 20 20 20 |..6Delay|% = 5 |
|00000190| 20 20 20 20 20 3a 20 f4 | 20 63 61 6c 6c 20 74 69 | : .| call ti|
|000001a0| 63 6b 65 72 20 65 76 65 | 79 20 35 20 63 65 6e 74 |cker eve|y 5 cent|
|000001b0| 69 73 65 63 73 0d 00 b4 | 3f 44 65 66 61 75 6c 74 |isecs...|?Default|
|000001c0| 54 72 69 67 53 70 65 65 | 64 25 20 3d 20 32 30 20 |TrigSpee|d% = 20 |
|000001d0| 3a 20 f4 20 64 65 66 61 | 75 6c 74 20 73 70 65 65 |: . defa|ult spee|
|000001e0| 64 20 74 72 69 67 67 65 | 72 20 28 70 69 78 2f 63 |d trigge|r (pix/c|
|000001f0| 73 65 63 29 0d 00 be 44 | 44 65 66 61 75 6c 74 46 |sec)...D|DefaultF|
|00000200| 61 73 74 25 20 3d 20 35 | 20 20 20 20 20 20 20 3a |ast% = 5| :|
|00000210| 20 f4 20 64 65 66 61 75 | 6c 74 20 66 61 73 74 20 | . defau|lt fast |
|00000220| 73 70 65 65 64 20 28 6d | 6f 75 73 65 20 6d 75 6c |speed (m|ouse mul|
|00000230| 74 69 70 6c 69 65 72 29 | 0d 00 c8 04 0d 00 d2 23 |tiplier)|.......#|
|00000240| 57 4b 20 20 20 3d 20 31 | 32 20 20 20 20 20 3a 20 |WK = 1|2 : |
|00000250| f4 20 57 6f 72 6b 69 6e | 67 20 73 70 61 63 65 0d |. Workin|g space.|
|00000260| 00 dc 23 53 50 20 20 20 | 3d 20 31 33 20 20 20 20 |..#SP |= 13 |
|00000270| 20 3a 20 f4 20 53 74 61 | 63 6b 20 50 6f 69 6e 74 | : . Sta|ck Point|
|00000280| 65 72 0d 00 e6 23 4c 49 | 4e 4b 20 3d 20 31 34 20 |er...#LI|NK = 14 |
|00000290| 20 20 20 20 3a 20 f4 20 | 4c 69 6e 6b 20 52 65 67 | : . |Link Reg|
|000002a0| 69 73 74 65 72 0d 00 f0 | 04 0d 00 fa 1c f4 20 57 |ister...|...... W|
|000002b0| 6f 72 6b 69 6e 67 20 73 | 70 61 63 65 20 6f 66 66 |orking s|pace off|
|000002c0| 73 65 74 73 3a 0d 01 04 | 04 0d 01 0e 44 77 6b 5f |sets:...|....Dwk_|
|000002d0| 53 70 65 65 64 53 74 61 | 74 65 20 3d 20 30 20 20 |SpeedSta|te = 0 |
|000002e0| 20 20 20 3a 20 f4 20 63 | 6f 6e 74 61 69 6e 73 20 | : . c|ontains |
|000002f0| 73 74 61 74 65 20 6f 66 | 20 73 70 65 65 64 20 2d |state of| speed -|
|00000300| 20 73 6c 6f 77 20 6f 72 | 20 66 61 73 74 0d 01 18 | slow or| fast...|
|00000310| 2e 77 6b 5f 53 70 65 65 | 64 54 72 69 67 20 3d 20 |.wk_Spee|dTrig = |
|00000320| 20 34 20 20 20 20 20 3a | 20 f4 20 74 72 69 67 67 | 4 :| . trigg|
|00000330| 65 72 20 6f 66 20 73 70 | 65 65 64 0d 01 22 33 77 |er of sp|eed.."3w|
|00000340| 6b 5f 53 6c 6f 77 4d 75 | 6c 74 20 20 3d 20 20 39 |k_SlowMu|lt = 9|
|00000350| 20 20 20 20 20 3a 20 f4 | 20 73 6c 6f 77 20 6d 6f | : .| slow mo|
|00000360| 75 73 65 20 6d 75 6c 74 | 69 70 6c 69 65 72 0d 01 |use mult|iplier..|
|00000370| 2c 33 77 6b 5f 46 61 73 | 74 4d 75 6c 74 20 20 3d |,3wk_Fas|tMult =|
|00000380| 20 20 31 30 20 20 20 20 | 3a 20 f4 20 66 61 73 74 | 10 |: . fast|
|00000390| 20 6d 6f 75 73 65 20 6d | 75 6c 74 69 70 6c 69 65 | mouse m|ultiplie|
|000003a0| 72 0d 01 36 2e 77 6b 5f | 6f 6c 64 58 20 20 20 20 |r..6.wk_|oldX |
|000003b0| 20 20 3d 20 20 31 32 20 | 20 20 20 3a 20 f4 20 6f | = 12 | : . o|
|000003c0| 6c 64 20 58 20 63 6f 6f | 72 64 69 6e 61 74 65 0d |ld X coo|rdinate.|
|000003d0| 01 40 2e 77 6b 5f 6f 6c | 64 59 20 20 20 20 20 20 |.@.wk_ol|dY |
|000003e0| 3d 20 31 36 20 20 20 20 | 20 3a 20 f4 20 6f 6c 64 |= 16 | : . old|
|000003f0| 20 59 20 63 6f 6f 72 64 | 69 6e 61 74 65 0d 01 4a | Y coord|inate..J|
|00000400| 3e 77 6b 5f 4d 75 6c 50 | 61 72 61 6d 20 20 3d 20 |>wk_MulP|aram = |
|00000410| 32 30 20 20 20 20 20 3a | 20 f4 20 6d 6f 75 73 65 |20 :| . mouse|
|00000420| 20 6d 75 6c 74 69 70 6c | 69 65 72 20 70 61 72 61 | multipl|ier para|
|00000430| 6d 65 74 65 72 20 62 6c | 6f 63 6b 0d 01 54 30 77 |meter bl|ock..T0w|
|00000440| 6b 5f 4d 75 6c 58 20 20 | 20 20 20 20 3d 20 32 31 |k_MulX | = 21|
|00000450| 20 20 20 20 20 3a 20 f4 | 20 78 20 6d 6f 75 73 65 | : .| x mouse|
|00000460| 20 6d 75 6c 74 69 70 6c | 69 65 72 0d 01 5e 30 77 | multipl|ier..^0w|
|00000470| 6b 5f 4d 75 6c 59 20 20 | 20 20 20 20 3d 20 32 32 |k_MulY | = 22|
|00000480| 20 20 20 20 20 3a 20 f4 | 20 79 20 6d 6f 75 73 65 | : .| y mouse|
|00000490| 20 6d 75 6c 74 69 70 6c | 69 65 72 0d 01 68 41 77 | multipl|ier..hAw|
|000004a0| 6b 5f 52 65 61 64 50 61 | 72 61 6d 20 3d 20 32 33 |k_ReadPa|ram = 23|
|000004b0| 20 20 20 20 20 3a 20 f4 | 20 6d 6f 75 73 65 20 70 | : .| mouse p|
|000004c0| 6f 73 69 74 69 6f 6e 20 | 72 65 61 64 20 70 61 72 |osition |read par|
|000004d0| 61 6d 65 74 65 72 20 62 | 6c 6f 63 6b 0d 01 72 2f |ameter b|lock..r/|
|000004e0| 77 6b 5f 52 65 61 64 58 | 20 20 20 20 20 3d 20 32 |wk_ReadX| = 2|
|000004f0| 34 20 20 20 20 20 3a 20 | f4 20 58 20 63 6f 6f 72 |4 : |. X coor|
|00000500| 64 69 6e 61 74 65 20 72 | 65 61 64 0d 01 7c 2f 77 |dinate r|ead..|/w|
|00000510| 6b 5f 52 65 61 64 59 20 | 20 20 20 20 3d 20 32 36 |k_ReadY | = 26|
|00000520| 20 20 20 20 20 3a 20 f4 | 20 59 20 63 6f 6f 72 64 | : .| Y coord|
|00000530| 69 6e 61 74 65 20 72 65 | 61 64 0d 01 86 4f 77 6b |inate re|ad...Owk|
|00000540| 5f 4d 75 6c 74 46 6c 61 | 67 20 20 3d 20 32 38 20 |_MultFla|g = 28 |
|00000550| 20 20 20 20 3a 20 f4 20 | 66 6c 61 67 20 74 68 61 | : . |flag tha|
|00000560| 74 20 73 68 6f 77 73 20 | 77 68 6f 20 63 61 6c 6c |t shows |who call|
|00000570| 65 64 20 53 57 49 20 32 | 31 2c 32 20 28 54 52 55 |ed SWI 2|1,2 (TRU|
|00000580| 45 20 69 66 20 6f 77 6e | 29 0d 01 90 32 77 6b 5f |E if own|)...2wk_|
|00000590| 53 69 7a 65 20 20 20 20 | 20 20 3d 20 33 32 20 20 |Size | = 32 |
|000005a0| 20 20 20 3a 20 f4 20 73 | 69 7a 65 20 6f 66 20 77 | : . s|ize of w|
|000005b0| 6f 72 6b 69 6e 67 20 61 | 72 65 61 0d 01 9a 04 0d |orking a|rea.....|
|000005c0| 01 a4 04 0d 01 ae 04 0d | 01 b8 04 0d 01 c2 19 e3 |........|........|
|000005d0| 20 70 61 73 73 25 20 3d | 20 31 32 20 b8 20 31 34 | pass% =| 12 . 14|
|000005e0| 20 88 20 32 0d 01 cc 39 | 50 25 20 3d 20 30 20 20 | . 2...9|P% = 0 |
|000005f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000600| 20 20 20 20 20 20 3a f4 | 20 70 6f 69 6e 74 65 72 | :.| pointer|
|00000610| 20 74 6f 20 61 64 64 72 | 65 73 73 65 73 0d 01 d6 | to addr|esses...|
|00000620| 34 4f 25 20 3d 20 43 6f | 64 65 25 20 20 20 20 20 |4O% = Co|de% |
|00000630| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3a | | :|
|00000640| f4 20 70 6f 69 6e 74 65 | 72 20 74 6f 20 63 6f 64 |. pointe|r to cod|
|00000650| 65 0d 01 e0 04 0d 01 ea | 0e 5b 4f 50 54 20 70 61 |e.......|.[OPT pa|
|00000660| 73 73 25 0d 01 f4 04 0d | 01 fe 32 45 51 55 44 20 |ss%.....|..2EQUD |
|00000670| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|00000680| 20 20 20 20 20 20 20 20 | 20 20 3b 20 6e 6f 20 73 | | ; no s|
|00000690| 74 61 72 74 20 63 6f 64 | 65 0d 02 08 2e 45 51 55 |tart cod|e....EQU|
|000006a0| 44 20 69 6e 69 74 69 61 | 6c 69 73 65 20 20 20 20 |D initia|lise |
|000006b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 69 6e | | ; in|
|000006c0| 69 74 20 63 6f 64 65 0d | 02 12 32 45 51 55 44 20 |it code.|..2EQUD |
|000006d0| 66 69 6e 61 6c 69 73 65 | 20 20 20 20 20 20 20 20 |finalise| |
|000006e0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 66 69 6e 61 | | ; fina|
|000006f0| 6c 69 73 65 20 63 6f 64 | 65 0d 02 1c 34 45 51 55 |lise cod|e...4EQU|
|00000700| 44 20 30 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |D 0 | |
|00000710| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 6e 6f | | ; no|
|00000720| 20 73 65 72 76 69 63 65 | 20 63 6f 64 65 0d 02 26 | service| code..&|
|00000730| 31 45 51 55 44 20 6d 6f | 64 75 6c 65 54 69 74 6c |1EQUD mo|duleTitl|
|00000740| 65 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |e | |
|00000750| 3b 20 6d 6f 64 75 6c 65 | 20 74 69 74 6c 65 0d 02 |; module| title..|
|00000760| 30 30 45 51 55 44 20 68 | 65 6c 70 53 74 72 69 6e |00EQUD h|elpStrin|
|00000770| 67 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |g | |
|00000780| 20 3b 20 68 65 6c 70 20 | 73 74 72 69 6e 67 0d 02 | ; help |string..|
|00000790| 3a 32 45 51 55 44 20 63 | 6f 6d 6d 61 6e 64 54 61 |:2EQUD c|ommandTa|
|000007a0| 62 6c 65 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ble | |
|000007b0| 20 3b 20 43 4c 49 2d 20 | 63 6f 6d 6d 61 6e 64 73 | ; CLI- |commands|
|000007c0| 0d 02 44 0a 45 51 55 44 | 20 30 0d 02 4e 0a 45 51 |..D.EQUD| 0..N.EQ|
|000007d0| 55 44 20 30 0d 02 58 0a | 45 51 55 44 20 30 0d 02 |UD 0..X.|EQUD 0..|
|000007e0| 62 04 0d 02 6c 10 2e 6d | 6f 64 75 6c 65 54 69 74 |b...l..m|oduleTit|
|000007f0| 6c 65 0d 02 76 15 45 51 | 55 53 20 22 4d 6f 75 73 |le..v.EQ|US "Mous|
|00000800| 65 53 70 65 65 64 22 0d | 02 80 0a 45 51 55 42 20 |eSpeed".|...EQUB |
|00000810| 30 0d 02 8a 04 0d 02 94 | 0f 2e 68 65 6c 70 53 74 |0.......|..helpSt|
|00000820| 72 69 6e 67 0d 02 9e 37 | 45 51 55 53 20 22 4d 6f |ring...7|EQUS "Mo|
|00000830| 75 73 65 53 70 65 65 64 | 22 2b bd 39 2b 22 30 2e |useSpeed|"+.9+"0.|
|00000840| 33 30 20 28 31 37 20 4f | 6b 74 20 31 39 39 34 29 |30 (17 O|kt 1994)|
|00000850| 20 62 79 20 45 63 6b 61 | 72 74 22 0d 02 a8 0a 45 | by Ecka|rt"....E|
|00000860| 51 55 42 20 30 0d 02 b2 | 04 0d 02 bc 11 2e 68 65 |QUB 0...|......he|
|00000870| 6c 70 5f 74 72 69 67 67 | 65 72 0d 02 c6 5a 45 51 |lp_trigg|er...ZEQ|
|00000880| 55 53 20 22 2a 54 72 69 | 67 67 65 72 53 74 65 70 |US "*Tri|ggerStep|
|00000890| 20 73 65 74 73 20 74 68 | 65 20 73 70 65 65 64 20 | sets th|e speed |
|000008a0| 28 69 6e 20 70 69 78 65 | 6c 2f 63 73 65 63 29 20 |(in pixe|l/csec) |
|000008b0| 74 68 65 20 6d 6f 75 73 | 65 20 77 69 6c 6c 20 61 |the mous|e will a|
|000008c0| 63 63 65 6c 65 72 61 74 | 65 20 61 74 2e 22 2b bd |ccelerat|e at."+.|
|000008d0| 28 31 33 29 0d 02 d0 3c | 45 51 55 53 20 22 57 69 |(13)...<|EQUS "Wi|
|000008e0| 74 68 6f 75 74 20 61 72 | 67 75 6d 65 6e 74 20 3a |thout ar|gument :|
|000008f0| 20 73 68 6f 77 20 63 75 | 72 72 65 6e 74 20 73 65 | show cu|rrent se|
|00000900| 74 74 69 6e 67 2e 20 22 | 20 2b 20 bd 28 31 33 29 |tting. "| + .(13)|
|00000910| 0d 02 da 31 45 51 55 53 | 20 22 53 79 6e 74 61 78 |...1EQUS| "Syntax|
|00000920| 20 3a 20 54 72 69 67 67 | 65 72 53 74 65 70 20 5b | : Trigg|erStep [|
|00000930| 3c 73 70 65 65 64 3e 5d | 22 20 2b 20 bd 28 31 33 |<speed>]|" + .(13|
|00000940| 29 0d 02 e4 0a 45 51 55 | 42 20 30 0d 02 ee 04 0d |)....EQU|B 0.....|
|00000950| 02 f8 0e 2e 68 65 6c 70 | 5f 73 6c 6f 77 0d 03 02 |....help|_slow...|
|00000960| 3b 45 51 55 53 20 22 2a | 53 6c 6f 77 53 74 65 70 |;EQUS "*|SlowStep|
|00000970| 20 73 65 74 73 20 74 68 | 65 20 73 6c 6f 77 20 73 | sets th|e slow s|
|00000980| 70 65 65 64 20 6f 66 20 | 74 68 65 20 6d 6f 75 73 |peed of |the mous|
|00000990| 65 22 2b bd 28 31 33 29 | 0d 03 0c 3c 45 51 55 53 |e"+.(13)|...<EQUS|
|000009a0| 20 22 57 69 74 68 6f 75 | 74 20 61 72 67 75 6d 65 | "Withou|t argume|
|000009b0| 6e 74 20 3a 20 73 68 6f | 77 20 63 75 72 72 65 6e |nt : sho|w curren|
|000009c0| 74 20 73 65 74 74 69 6e | 67 2e 20 22 20 2b 20 bd |t settin|g. " + .|
|000009d0| 28 31 33 29 0d 03 16 2d | 45 51 55 53 20 22 53 79 |(13)...-|EQUS "Sy|
|000009e0| 6e 74 61 78 20 3a 20 53 | 6c 6f 77 53 74 65 70 20 |ntax : S|lowStep |
|000009f0| 5b 3c 73 74 65 70 3e 5d | 22 20 2b 20 bd 28 31 33 |[<step>]|" + .(13|
|00000a00| 29 0d 03 20 0a 45 51 55 | 42 20 30 0d 03 2a 04 0d |).. .EQU|B 0..*..|
|00000a10| 03 34 0e 2e 68 65 6c 70 | 5f 66 61 73 74 0d 03 3e |.4..help|_fast..>|
|00000a20| 3b 45 51 55 53 20 22 2a | 46 61 73 74 53 74 65 70 |;EQUS "*|FastStep|
|00000a30| 20 73 65 74 73 20 74 68 | 65 20 66 61 73 74 20 73 | sets th|e fast s|
|00000a40| 70 65 65 64 20 6f 66 20 | 74 68 65 20 6d 6f 75 73 |peed of |the mous|
|00000a50| 65 22 2b bd 28 31 33 29 | 0d 03 48 3c 45 51 55 53 |e"+.(13)|..H<EQUS|
|00000a60| 20 22 57 69 74 68 6f 75 | 74 20 61 72 67 75 6d 65 | "Withou|t argume|
|00000a70| 6e 74 20 3a 20 73 68 6f | 77 20 63 75 72 72 65 6e |nt : sho|w curren|
|00000a80| 74 20 73 65 74 74 69 6e | 67 2e 20 22 20 2b 20 bd |t settin|g. " + .|
|00000a90| 28 31 33 29 0d 03 52 2d | 45 51 55 53 20 22 53 79 |(13)..R-|EQUS "Sy|
|00000aa0| 6e 74 61 78 20 3a 20 46 | 61 73 74 53 74 65 70 20 |ntax : F|astStep |
|00000ab0| 5b 3c 73 74 65 70 3e 5d | 22 20 2b 20 bd 28 31 33 |[<step>]|" + .(13|
|00000ac0| 29 0d 03 5c 0a 45 51 55 | 42 20 30 0d 03 66 04 0d |)..\.EQU|B 0..f..|
|00000ad0| 03 70 09 41 4c 49 47 4e | 0d 03 7a 04 0d 03 84 46 |.p.ALIGN|..z....F|
|00000ae0| 2e 74 72 69 67 67 65 72 | 5f 63 68 61 72 5f 62 75 |.trigger|_char_bu|
|00000af0| 66 66 65 72 20 20 20 20 | 20 20 20 20 20 20 20 20 |ffer | |
|00000b00| 3b 20 63 6f 6e 74 61 69 | 6e 73 20 6f 75 74 70 75 |; contai|ns outpu|
|00000b10| 74 20 66 6f 72 20 74 72 | 69 67 67 65 72 20 73 74 |t for tr|igger st|
|00000b20| 65 70 0d 03 8e 1b 45 51 | 55 53 20 22 54 72 69 67 |ep....EQ|US "Trig|
|00000b30| 67 65 72 20 53 74 65 70 | 20 3a 20 20 22 0d 03 98 |ger Step| : "...|
|00000b40| 13 2e 74 72 69 67 67 65 | 72 5f 6e 75 6d 62 65 72 |..trigge|r_number|
|00000b50| 0d 03 a2 10 45 51 55 53 | 20 22 20 20 20 20 20 22 |....EQUS| " "|
|00000b60| 0d 03 ac 0a 45 51 55 42 | 20 30 0d 03 b6 09 41 4c |....EQUB| 0....AL|
|00000b70| 49 47 4e 0d 03 c0 04 0d | 03 ca 40 2e 73 6c 6f 77 |IGN.....|..@.slow|
|00000b80| 5f 63 68 61 72 5f 62 75 | 66 66 65 72 20 20 20 20 |_char_bu|ffer |
|00000b90| 20 20 20 20 20 20 20 20 | 3b 20 63 6f 6e 74 61 69 | |; contai|
|00000ba0| 6e 73 20 6f 75 74 70 75 | 74 20 66 6f 72 20 73 6c |ns outpu|t for sl|
|00000bb0| 6f 77 20 73 74 65 70 0d | 03 d4 17 45 51 55 53 20 |ow step.|...EQUS |
|00000bc0| 22 53 6c 6f 77 20 53 74 | 65 70 20 3a 20 22 0d 03 |"Slow St|ep : "..|
|00000bd0| de 10 2e 73 6c 6f 77 5f | 6e 75 6d 62 65 72 0d 03 |...slow_|number..|
|00000be0| e8 10 45 51 55 53 20 22 | 20 20 20 20 20 22 0d 03 |..EQUS "| "..|
|00000bf0| f2 0a 45 51 55 42 20 30 | 0d 03 fc 09 41 4c 49 47 |..EQUB 0|....ALIG|
|00000c00| 4e 0d 04 06 04 0d 04 10 | 40 2e 66 61 73 74 5f 63 |N.......|@.fast_c|
|00000c10| 68 61 72 5f 62 75 66 66 | 65 72 20 20 20 20 20 20 |har_buff|er |
|00000c20| 20 20 20 20 20 20 3b 20 | 63 6f 6e 74 61 69 6e 73 | ; |contains|
|00000c30| 20 6f 75 74 70 75 74 20 | 66 6f 72 20 66 61 73 74 | output |for fast|
|00000c40| 20 73 74 65 70 0d 04 1a | 17 45 51 55 53 20 22 46 | step...|.EQUS "F|
|00000c50| 61 73 74 20 53 74 65 70 | 20 3a 20 22 0d 04 24 10 |ast Step| : "..$.|
|00000c60| 2e 66 61 73 74 5f 6e 75 | 6d 62 65 72 0d 04 2e 10 |.fast_nu|mber....|
|00000c70| 45 51 55 53 20 22 20 20 | 20 20 20 22 0d 04 38 0a |EQUS " | "..8.|
|00000c80| 45 51 55 42 20 30 0d 04 | 42 04 0d 04 4c 04 0d 04 |EQUB 0..|B...L...|
|00000c90| 56 11 2e 63 6f 6d 6d 61 | 6e 64 54 61 62 6c 65 0d |V..comma|ndTable.|
|00000ca0| 04 60 16 45 51 55 53 20 | 22 74 72 69 67 67 65 72 |.`.EQUS |"trigger|
|00000cb0| 73 74 65 70 22 0d 04 6a | 0a 45 51 55 42 20 30 0d |step"..j|.EQUB 0.|
|00000cc0| 04 74 09 41 4c 49 47 4e | 0d 04 7e 18 45 51 55 44 |.t.ALIGN|..~.EQUD|
|00000cd0| 20 63 6f 6d 6d 61 6e 64 | 5f 74 72 69 67 67 65 72 | command|_trigger|
|00000ce0| 0d 04 88 12 45 51 55 44 | 20 26 30 30 30 31 30 30 |....EQUD| &000100|
|00000cf0| 30 30 0d 04 92 0a 45 51 | 55 44 20 30 0d 04 9c 15 |00....EQ|UD 0....|
|00000d00| 45 51 55 44 20 68 65 6c | 70 5f 74 72 69 67 67 65 |EQUD hel|p_trigge|
|00000d10| 72 0d 04 a6 04 0d 04 b0 | 13 45 51 55 53 20 22 73 |r.......|.EQUS "s|
|00000d20| 6c 6f 77 73 74 65 70 22 | 0d 04 ba 0a 45 51 55 42 |lowstep"|....EQUB|
|00000d30| 20 30 0d 04 c4 09 41 4c | 49 47 4e 0d 04 ce 15 45 | 0....AL|IGN....E|
|00000d40| 51 55 44 20 63 6f 6d 6d | 61 6e 64 5f 73 6c 6f 77 |QUD comm|and_slow|
|00000d50| 0d 04 d8 12 45 51 55 44 | 20 26 30 30 30 31 30 30 |....EQUD| &000100|
|00000d60| 30 30 0d 04 e2 0a 45 51 | 55 44 20 30 0d 04 ec 12 |00....EQ|UD 0....|
|00000d70| 45 51 55 44 20 68 65 6c | 70 5f 73 6c 6f 77 0d 04 |EQUD hel|p_slow..|
|00000d80| f6 04 0d 05 00 13 45 51 | 55 53 20 22 66 61 73 74 |......EQ|US "fast|
|00000d90| 73 74 65 70 22 0d 05 0a | 0a 45 51 55 42 20 30 0d |step"...|.EQUB 0.|
|00000da0| 05 14 09 41 4c 49 47 4e | 0d 05 1e 15 45 51 55 44 |...ALIGN|....EQUD|
|00000db0| 20 63 6f 6d 6d 61 6e 64 | 5f 66 61 73 74 0d 05 28 | command|_fast..(|
|00000dc0| 12 45 51 55 44 20 26 30 | 30 30 31 30 30 30 30 0d |.EQUD &0|0010000.|
|00000dd0| 05 32 0a 45 51 55 44 20 | 30 0d 05 3c 12 45 51 55 |.2.EQUD |0..<.EQU|
|00000de0| 44 20 68 65 6c 70 5f 66 | 61 73 74 0d 05 46 04 0d |D help_f|ast..F..|
|00000df0| 05 50 04 0d 05 5a 40 2e | 69 6e 69 74 69 61 6c 69 |.P...Z@.|initiali|
|00000e00| 73 65 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |se | |
|00000e10| 20 20 20 20 20 20 3b 20 | 73 65 74 73 20 61 6c 6c | ; |sets all|
|00000e20| 20 69 6e 69 74 20 76 61 | 6c 75 65 73 20 61 6e 64 | init va|lues and|
|00000e30| 20 73 6f 0d 05 64 1d 53 | 54 4d 46 44 20 28 53 50 | so..d.S|TMFD (SP|
|00000e40| 29 21 2c 20 7b 52 30 2d | 52 33 2c 4c 49 4e 4b 7d |)!, {R0-|R3,LINK}|
|00000e50| 0d 05 6e 0e 4d 4f 56 20 | 52 30 2c 20 23 36 0d 05 |..n.MOV |R0, #6..|
|00000e60| 78 14 4d 4f 56 20 52 33 | 2c 20 23 77 6b 5f 53 69 |x.MOV R3|, #wk_Si|
|00000e70| 7a 65 0d 05 82 39 53 57 | 49 20 22 58 4f 53 5f 4d |ze...9SW|I "XOS_M|
|00000e80| 6f 64 75 6c 65 22 20 20 | 20 20 20 20 20 20 20 20 |odule" | |
|00000e90| 20 20 20 20 20 20 3b 20 | 63 6c 61 69 6d 20 77 6f | ; |claim wo|
|00000ea0| 72 6b 69 6e 67 20 73 70 | 61 63 65 0d 05 8c 35 4c |rking sp|ace...5L|
|00000eb0| 44 4d 56 53 46 44 20 28 | 53 50 29 21 2c 20 7b 52 |DMVSFD (|SP)!, {R|
|00000ec0| 30 2d 52 33 2c 4c 49 4e | 4b 7d 20 20 20 20 20 3b |0-R3,LIN|K} ;|
|00000ed0| 20 72 65 74 75 72 6e 20 | 69 66 20 65 72 72 6f 72 | return |if error|
|00000ee0| 0d 05 96 12 4d 4f 56 56 | 53 20 50 43 2c 20 4c 49 |....MOVV|S PC, LI|
|00000ef0| 4e 4b 0d 05 a0 45 53 54 | 52 20 52 32 2c 20 5b 57 |NK...EST|R R2, [W|
|00000f00| 4b 5d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |K] | |
|00000f10| 20 20 20 20 20 3b 20 73 | 65 74 20 70 72 69 76 61 | ; s|et priva|
|00000f20| 74 65 20 77 6f 72 6b 69 | 6e 67 20 61 72 65 61 20 |te worki|ng area |
|00000f30| 70 6f 69 6e 74 65 72 0d | 05 aa 46 4d 4f 56 20 52 |pointer.|..FMOV R|
|00000f40| 33 2c 20 57 4b 20 20 20 | 20 20 20 20 20 20 20 20 |3, WK | |
|00000f50| 20 20 20 20 20 20 20 20 | 20 20 3b 20 67 65 74 20 | | ; get |
|00000f60| 61 64 64 72 65 73 73 20 | 6f 66 20 70 72 69 76 61 |address |of priva|
|00000f70| 74 65 20 77 6f 72 64 20 | 69 6e 20 52 33 0d 05 b4 |te word |in R3...|
|00000f80| 41 4d 4f 56 20 57 4b 2c | 20 52 32 20 20 20 20 20 |AMOV WK,| R2 |
|00000f90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000fa0| 3b 20 73 65 74 20 77 6f | 72 6b 69 6e 67 20 73 70 |; set wo|rking sp|
|00000fb0| 61 63 65 20 70 6f 69 6e | 74 65 72 20 57 4b 0d 05 |ace poin|ter WK..|
|00000fc0| be 04 0d 05 c8 47 4d 4f | 56 20 52 30 2c 20 23 31 |.....GMO|V R0, #1|
|00000fd0| 36 31 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |61 | |
|00000fe0| 20 20 20 20 20 3b 20 72 | 65 61 64 20 6d 6f 75 73 | ; r|ead mous|
|00000ff0| 65 20 6d 75 6c 74 69 70 | 6c 69 65 72 20 67 65 74 |e multip|lier get|
|00001000| 74 69 6e 67 20 66 72 6f | 6d 0d 05 d2 3a 4d 4f 56 |ting fro|m...:MOV|
|00001010| 20 52 31 2c 20 23 31 39 | 34 20 20 20 20 20 20 20 | R1, #19|4 |
|00001020| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 43 4d | | ; CM|
|00001030| 4f 53 20 72 61 6d 20 6c | 6f 63 61 74 69 6f 6e 20 |OS ram l|ocation |
|00001040| 31 39 34 0d 05 dc 35 53 | 57 49 20 22 58 4f 53 5f |194...5S|WI "XOS_|
|00001050| 42 79 74 65 22 20 20 20 | 20 20 20 20 20 20 20 20 |Byte" | |
|00001060| 20 20 20 20 20 20 3b 20 | 77 69 74 68 20 4f 53 5f | ; |with OS_|
|00001070| 42 79 74 65 20 31 36 31 | 0d 05 e6 44 53 54 52 42 |Byte 161|...DSTRB|
|00001080| 20 52 32 2c 20 5b 57 4b | 2c 20 23 77 6b 5f 53 6c | R2, [WK|, #wk_Sl|
|00001090| 6f 77 4d 75 6c 74 5d 20 | 20 20 20 3b 20 73 65 74 |owMult] | ; set|
|000010a0| 20 64 65 66 61 75 6c 74 | 20 73 6c 6f 77 20 73 70 | default| slow sp|
|000010b0| 65 65 64 20 20 28 69 6e | 20 52 32 29 0d 05 f0 04 |eed (in| R2)....|
|000010c0| 0d 05 fa 3e 4d 4f 56 20 | 52 30 2c 20 23 44 65 66 |...>MOV |R0, #Def|
|000010d0| 61 75 6c 74 54 72 69 67 | 53 70 65 65 64 25 20 20 |aultTrig|Speed% |
|000010e0| 20 20 20 3b 20 73 65 74 | 20 64 65 66 61 75 6c 74 | ; set| default|
|000010f0| 20 73 70 65 65 64 20 74 | 72 69 67 67 65 72 0d 06 | speed t|rigger..|
|00001100| 04 1e 53 54 52 20 52 30 | 2c 20 5b 57 4b 2c 23 77 |..STR R0|, [WK,#w|
|00001110| 6b 5f 53 70 65 65 64 54 | 72 69 67 5d 0d 06 0e 3b |k_SpeedT|rig]...;|
|00001120| 4d 4f 56 20 20 52 30 2c | 20 23 44 65 66 61 75 6c |MOV R0,| #Defaul|
|00001130| 74 46 61 73 74 25 20 20 | 20 20 20 20 20 20 20 3b |tFast% | ;|
|00001140| 20 73 65 74 20 64 65 66 | 61 75 6c 74 20 66 61 73 | set def|ault fas|
|00001150| 74 20 73 70 65 65 64 0d | 06 18 1f 53 54 52 42 20 |t speed.|...STRB |
|00001160| 52 30 2c 20 5b 57 4b 2c | 20 23 77 6b 5f 46 61 73 |R0, [WK,| #wk_Fas|
|00001170| 74 4d 75 6c 74 5d 0d 06 | 22 0e 4d 4f 56 20 52 30 |tMult]..|".MOV R0|
|00001180| 2c 20 23 30 0d 06 2c 3c | 53 54 52 20 52 30 2c 20 |, #0..,<|STR R0, |
|00001190| 5b 57 4b 2c 23 77 6b 5f | 53 70 65 65 64 53 74 61 |[WK,#wk_|SpeedSta|
|000011a0| 74 65 5d 20 20 20 20 3b | 20 73 65 74 20 73 70 65 |te] ;| set spe|
|000011b0| 65 64 20 73 74 61 74 65 | 20 61 74 20 73 6c 6f 77 |ed state| at slow|
|000011c0| 0d 06 36 04 0d 06 40 4a | 4d 4f 56 20 52 30 2c 23 |..6...@J|MOV R0,#|
|000011d0| 32 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |2 | |
|000011e0| 20 20 20 20 20 20 20 3b | 20 73 65 74 20 72 65 61 | ;| set rea|
|000011f0| 73 6f 6e 20 63 6f 64 65 | 20 32 20 66 6f 72 20 70 |son code| 2 for p|
|00001200| 61 72 61 6d 65 74 65 72 | 20 62 6c 6f 63 6b 0d 06 |arameter| block..|
|00001210| 4a 42 53 54 52 42 20 52 | 30 2c 5b 57 4b 2c 23 77 |JBSTRB R|0,[WK,#w|
|00001220| 6b 5f 4d 75 6c 50 61 72 | 61 6d 5d 20 20 20 20 20 |k_MulPar|am] |
|00001230| 20 3b 20 74 68 61 74 20 | 73 65 6c 65 63 74 73 20 | ; that |selects |
|00001240| 6d 6f 75 73 65 20 6d 75 | 6c 74 69 70 6c 69 65 72 |mouse mu|ltiplier|
|00001250| 0d 06 54 04 0d 06 5e 4a | 4d 4f 56 20 52 30 2c 23 |..T...^J|MOV R0,#|
|00001260| 36 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |6 | |
|00001270| 20 20 20 20 20 20 20 3b | 20 73 65 74 20 72 65 61 | ;| set rea|
|00001280| 73 6f 6e 20 63 6f 64 65 | 20 36 20 66 6f 72 20 70 |son code| 6 for p|
|00001290| 61 72 61 6d 65 74 65 72 | 20 62 6c 6f 63 6b 0d 06 |arameter| block..|
|000012a0| 68 45 53 54 52 42 20 52 | 30 2c 5b 57 4b 2c 23 77 |hESTRB R|0,[WK,#w|
|000012b0| 6b 5f 52 65 61 64 50 61 | 72 61 6d 5d 20 20 20 20 |k_ReadPa|ram] |
|000012c0| 20 3b 20 74 68 61 74 20 | 73 65 6c 65 63 74 73 20 | ; that |selects |
|000012d0| 72 65 61 64 20 6d 6f 75 | 73 65 20 70 6f 73 69 74 |read mou|se posit|
|000012e0| 69 6f 6e 0d 06 72 04 0d | 06 7c 4d 4d 4f 56 20 52 |ion..r..|.|MMOV R|
|000012f0| 30 2c 30 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0,0 | |
|00001300| 20 20 20 20 20 20 20 20 | 20 20 3b 20 63 6c 65 61 | | ; clea|
|00001310| 72 20 46 6c 61 67 20 74 | 68 61 74 20 73 68 6f 77 |r Flag t|hat show|
|00001320| 73 20 77 68 6f 20 63 61 | 6c 6c 73 20 53 57 49 20 |s who ca|lls SWI |
|00001330| 32 31 2c 32 0d 06 86 3d | 53 54 52 42 20 52 30 2c |21,2...=|STRB R0,|
|00001340| 5b 57 4b 2c 23 77 6b 5f | 4d 75 6c 74 46 6c 61 67 |[WK,#wk_|MultFlag|
|00001350| 5d 20 20 20 20 20 20 3b | 20 62 65 63 61 75 73 65 |] ;| because|
|00001360| 20 6a 75 73 74 20 6e 6f | 74 20 63 61 6c 6c 69 6e | just no|t callin|
|00001370| 67 0d 06 90 04 0d 06 9a | 41 4d 4f 56 20 52 30 2c |g.......|AMOV R0,|
|00001380| 20 23 37 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | #7 | |
|00001390| 20 20 20 20 20 20 20 20 | 3b 20 63 6c 61 69 6d 20 | |; claim |
|000013a0| 57 6f 72 64 56 20 2d 20 | 76 65 63 74 6f 72 20 28 |WordV - |vector (|
|000013b0| 30 37 29 20 74 6f 0d 06 | a4 4b 41 44 52 20 52 31 |07) to..|.KADR R1|
|000013c0| 2c 20 54 72 61 70 4d 75 | 6c 74 69 70 6c 69 65 72 |, TrapMu|ltiplier|
|000013d0| 20 20 20 20 20 20 20 20 | 20 3b 20 77 69 74 68 20 | | ; with |
|000013e0| 74 68 65 20 6d 6f 75 73 | 65 20 6d 75 6c 74 69 70 |the mous|e multip|
|000013f0| 6c 69 65 72 20 74 72 61 | 70 20 72 6f 75 74 69 6e |lier tra|p routin|
|00001400| 65 0d 06 ae 4f 4d 4f 56 | 20 52 32 2c 20 52 33 20 |e...OMOV| R2, R3 |
|00001410| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001420| 20 20 20 20 3b 20 73 65 | 74 20 77 6f 72 6b 69 6e | ; se|t workin|
|00001430| 67 20 61 72 65 61 20 70 | 6f 69 6e 74 65 72 20 28 |g area p|ointer (|
|00001440| 74 6f 20 63 61 6c 6c 20 | 57 4b 20 77 69 74 68 29 |to call |WK with)|
|00001450| 0d 06 b8 2e 53 57 49 20 | 22 58 4f 53 5f 43 6c 61 |....SWI |"XOS_Cla|
|00001460| 69 6d 22 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |im" | |
|00001470| 20 20 20 3b 20 61 6e 64 | 20 63 6c 61 69 6d 0d 06 | ; and| claim..|
|00001480| c2 04 0d 06 cc 34 4d 4f | 56 20 52 30 2c 20 23 44 |.....4MO|V R0, #D|
|00001490| 65 6c 61 79 25 20 20 20 | 20 20 20 20 20 20 20 20 |elay% | |
|000014a0| 20 20 20 20 20 3b 20 49 | 6e 73 74 61 6c 6c 20 74 | ; I|nstall t|
|000014b0| 69 63 6b 65 72 3a 0d 06 | d6 35 41 44 52 20 52 31 |icker:..|.5ADR R1|
|000014c0| 2c 20 43 68 65 63 6b 53 | 70 65 65 64 20 20 20 20 |, CheckS|peed |
|000014d0| 20 20 20 20 20 20 20 20 | 20 3b 20 73 65 74 20 63 | | ; set c|
|000014e0| 6f 64 65 20 61 64 64 72 | 65 73 73 0d 06 e0 43 53 |ode addr|ess...CS|
|000014f0| 57 49 20 22 58 4f 53 5f | 43 61 6c 6c 45 76 65 72 |WI "XOS_|CallEver|
|00001500| 79 22 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 |y" | ; |
|00001510| 69 6e 73 74 61 6c 6c 20 | 74 69 63 6b 65 72 20 63 |install |ticker c|
|00001520| 6f 64 65 20 43 68 65 63 | 6b 53 70 65 65 64 0d 06 |ode Chec|kSpeed..|
|00001530| ea 04 0d 06 f4 1d 4c 44 | 4d 46 44 20 28 53 50 29 |......LD|MFD (SP)|
|00001540| 21 2c 20 7b 52 30 2d 52 | 33 2c 4c 49 4e 4b 7d 0d |!, {R0-R|3,LINK}.|
|00001550| 06 fe 30 4d 4f 56 20 50 | 43 2c 20 4c 49 4e 4b 20 |..0MOV P|C, LINK |
|00001560| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001570| 20 20 20 3b 20 61 6e 64 | 20 72 65 74 75 72 6e 0d | ; and| return.|
|00001580| 07 08 04 0d 07 12 04 0d | 07 1c 04 0d 07 26 32 2e |........|.....&2.|
|00001590| 66 69 6e 61 6c 69 73 65 | 20 20 20 20 20 20 20 20 |finalise| |
|000015a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|000015b0| 66 69 6e 61 6c 69 73 65 | 20 61 6c 6c 3a 0d 07 30 |finalise| all:..0|
|000015c0| 33 53 54 4d 46 44 20 28 | 53 50 29 21 2c 20 7b 52 |3STMFD (|SP)!, {R|
|000015d0| 30 2c 20 52 31 2c 4c 49 | 4e 4b 7d 20 20 20 20 20 |0, R1,LI|NK} |
|000015e0| 3b 20 73 61 76 65 20 20 | 72 65 67 69 73 74 65 72 |; save |register|
|000015f0| 0d 07 3a 35 41 44 52 20 | 52 30 2c 20 43 68 65 63 |..:5ADR |R0, Chec|
|00001600| 6b 53 70 65 65 64 20 20 | 20 20 20 20 20 20 20 20 |kSpeed | |
|00001610| 20 20 20 3b 20 75 6e 69 | 6e 73 74 61 6c 6c 20 74 | ; uni|nstall t|
|00001620| 69 63 6b 65 72 0d 07 44 | 0e 4d 4f 56 20 52 31 2c |icker..D|.MOV R1,|
|00001630| 20 57 4b 0d 07 4e 1f 53 | 57 49 20 22 58 4f 53 5f | WK..N.S|WI "XOS_|
|00001640| 52 65 6d 6f 76 65 54 69 | 63 6b 65 72 45 76 65 6e |RemoveTi|ckerEven|
|00001650| 74 22 0d 07 58 34 4c 44 | 4d 56 53 46 44 20 28 53 |t"..X4LD|MVSFD (S|
|00001660| 50 29 21 2c 7b 52 30 2c | 52 31 2c 4c 49 4e 4b 7d |P)!,{R0,|R1,LINK}|
|00001670| 20 20 20 20 20 3b 20 69 | 66 20 65 72 72 6f 72 20 | ; i|f error |
|00001680| 72 65 74 75 72 6e 0d 07 | 62 12 4d 4f 56 56 53 20 |return..|b.MOVVS |
|00001690| 50 43 2c 20 4c 49 4e 4b | 0d 07 6c 04 0d 07 76 3a |PC, LINK|..l...v:|
|000016a0| 4d 4f 56 20 52 30 2c 23 | 30 37 20 20 20 20 20 20 |MOV R0,#|07 |
|000016b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|000016c0| 20 72 65 6c 65 61 73 65 | 20 57 6f 72 64 56 20 2d | release| WordV -|
|000016d0| 76 65 63 74 6f 72 0d 07 | 80 45 41 44 52 20 52 31 |vector..|.EADR R1|
|000016e0| 2c 54 72 61 70 4d 75 6c | 74 69 70 6c 69 65 72 20 |,TrapMul|tiplier |
|000016f0| 20 20 20 20 20 20 20 20 | 20 3b 20 61 6e 64 20 74 | | ; and t|
|00001700| 68 65 20 72 6f 75 74 69 | 6e 65 20 74 68 61 74 20 |he routi|ne that |
|00001710| 63 6c 61 69 6d 65 64 20 | 74 68 65 0d 07 8a 39 4d |claimed |the...9M|
|00001720| 4f 56 20 52 32 2c 20 57 | 4b 20 20 20 20 20 20 20 |OV R2, W|K |
|00001730| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00001740| 6d 6f 75 73 65 20 6d 75 | 6c 74 69 70 6c 69 65 72 |mouse mu|ltiplier|
|00001750| 20 53 57 49 0d 07 94 15 | 53 57 49 20 22 58 4f 53 | SWI....|SWI "XOS|
|00001760| 5f 52 65 6c 65 61 73 65 | 22 0d 07 9e 04 0d 07 a8 |_Release|".......|
|00001770| 0f 4c 44 52 20 57 4b 2c | 5b 57 4b 5d 0d 07 b2 4e |.LDR WK,|[WK]...N|
|00001780| 4d 4f 56 20 52 30 2c 20 | 23 31 36 31 20 20 20 20 |MOV R0, |#161 |
|00001790| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|000017a0| 20 72 65 73 74 6f 72 65 | 20 6f 6c 64 20 6d 6f 75 | restore| old mou|
|000017b0| 73 65 20 6d 75 6c 74 69 | 70 6c 69 65 72 20 67 65 |se multi|plier ge|
|000017c0| 74 74 69 6e 67 20 66 72 | 6f 6d 0d 07 bc 3a 4d 4f |tting fr|om...:MO|
|000017d0| 56 20 52 31 2c 20 23 31 | 39 34 20 20 20 20 20 20 |V R1, #1|94 |
|000017e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 43 | | ; C|
|000017f0| 4d 4f 53 20 72 61 6d 20 | 6c 6f 63 61 74 69 6f 6e |MOS ram |location|
|00001800| 20 31 39 34 0d 07 c6 35 | 53 57 49 20 22 58 4f 53 | 194...5|SWI "XOS|
|00001810| 5f 42 79 74 65 22 20 20 | 20 20 20 20 20 20 20 20 |_Byte" | |
|00001820| 20 20 20 20 20 20 20 3b | 20 77 69 74 68 20 4f 53 | ;| with OS|
|00001830| 5f 42 79 74 65 20 31 36 | 31 0d 07 d0 3f 53 54 52 |_Byte 16|1...?STR|
|00001840| 42 20 52 32 2c 20 5b 57 | 4b 2c 20 23 77 6b 5f 4d |B R2, [W|K, #wk_M|
|00001850| 75 6c 58 5d 20 20 20 20 | 20 20 20 20 3b 20 73 65 |ulX] | ; se|
|00001860| 74 20 74 68 65 20 70 61 | 72 61 6d 65 74 65 72 73 |t the pa|rameters|
|00001870| 20 28 69 6e 20 52 32 29 | 0d 07 da 3e 53 54 52 42 | (in R2)|...>STRB|
|00001880| 20 52 32 2c 20 5b 57 4b | 2c 20 23 77 6b 5f 4d 75 | R2, [WK|, #wk_Mu|
|00001890| 6c 59 5d 20 20 20 20 20 | 20 20 20 3b 20 61 6e 64 |lY] | ; and|
|000018a0| 20 74 68 65 6e 20 6d 6f | 75 73 65 20 6d 75 6c 74 | then mo|use mult|
|000018b0| 69 70 6c 69 65 72 0d 07 | e4 34 4d 4f 56 20 52 30 |iplier..|.4MOV R0|
|000018c0| 2c 20 23 32 31 20 20 20 | 20 20 20 20 20 20 20 20 |, #21 | |
|000018d0| 20 20 20 20 20 20 20 20 | 20 3b 20 77 69 74 68 20 | | ; with |
|000018e0| 4f 53 5f 57 6f 72 64 20 | 32 31 0d 07 ee 1c 41 44 |OS_Word |21....AD|
|000018f0| 44 20 52 31 2c 20 57 4b | 2c 20 23 77 6b 5f 4d 75 |D R1, WK|, #wk_Mu|
|00001900| 6c 50 61 72 61 6d 0d 07 | f8 12 53 57 49 20 22 58 |lParam..|..SWI "X|
|00001910| 4f 53 5f 57 6f 72 64 22 | 0d 08 02 04 0d 08 0c 10 |OS_Word"|........|
|00001920| 4d 4f 56 56 43 20 52 30 | 2c 20 23 37 0d 08 16 10 |MOVVC R0|, #7....|
|00001930| 4d 4f 56 56 43 20 52 32 | 2c 20 57 4b 0d 08 20 39 |MOVVC R2|, WK.. 9|
|00001940| 53 57 49 56 43 20 22 58 | 4f 53 5f 4d 6f 64 75 6c |SWIVC "X|OS_Modul|
|00001950| 65 22 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |e" | |
|00001960| 20 3b 20 66 72 65 65 20 | 77 6f 72 6b 69 6e 67 20 | ; free |working |
|00001970| 73 70 61 63 65 0d 08 2a | 04 0d 08 34 35 4c 44 4d |space..*|...45LDM|
|00001980| 46 44 20 28 53 50 29 21 | 2c 20 7b 52 30 2c 20 52 |FD (SP)!|, {R0, R|
|00001990| 31 2c 4c 49 4e 4b 7d 20 | 20 20 20 20 3b 20 72 65 |1,LINK} | ; re|
|000019a0| 73 74 6f 72 65 20 72 65 | 67 69 73 74 65 72 0d 08 |store re|gister..|
|000019b0| 3e 2b 4d 4f 56 20 50 43 | 2c 20 4c 49 4e 4b 20 20 |>+MOV PC|, LINK |
|000019c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000019d0| 20 3b 20 72 65 74 75 72 | 6e 0d 08 48 04 0d 08 52 | ; retur|n..H...R|
|000019e0| 04 0d 08 5c 04 0d 08 66 | 42 2e 63 6f 6d 6d 61 6e |...\...f|B.comman|
|000019f0| 64 5f 74 72 69 67 67 65 | 72 20 20 20 20 20 20 20 |d_trigge|r |
|00001a00| 20 20 20 20 20 20 20 20 | 3b 20 65 76 61 6c 75 61 | |; evalua|
|00001a10| 74 65 73 20 74 72 69 67 | 67 65 72 73 74 65 70 20 |tes trig|gerstep |
|00001a20| 63 6f 6d 6d 61 6e 64 0d | 08 70 37 53 54 4d 46 44 |command.|.p7STMFD|
|00001a30| 20 28 53 50 29 21 2c 7b | 4c 49 4e 4b 7d 20 20 20 | (SP)!,{|LINK} |
|00001a40| 20 20 20 20 20 20 20 20 | 20 20 3b 20 73 61 76 65 | | ; save|
|00001a50| 20 6c 69 6e 6b 20 72 65 | 67 69 73 74 65 72 0d 08 | link re|gister..|
|00001a60| 7a 3e 4c 44 52 20 57 4b | 2c 20 5b 57 4b 5d 20 20 |z>LDR WK|, [WK] |
|00001a70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a80| 20 3b 20 6c 6f 61 64 20 | 77 6f 72 6b 69 6e 67 20 | ; load |working |
|00001a90| 61 72 65 61 20 70 6f 69 | 6e 74 65 72 0d 08 84 32 |area poi|nter...2|
|00001aa0| 43 4d 50 20 52 31 2c 20 | 23 30 20 20 20 20 20 20 |CMP R1, |#0 |
|00001ab0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00001ac0| 20 6e 6f 20 61 72 67 75 | 6d 65 6e 74 73 3f 0d 08 | no argu|ments?..|
|00001ad0| 8e 43 42 45 51 20 6e 6f | 5f 74 72 69 67 67 65 72 |.CBEQ no|_trigger|
|00001ae0| 5f 61 72 67 73 20 20 20 | 20 20 20 20 20 20 20 20 |_args | |
|00001af0| 20 3b 20 69 66 20 79 65 | 73 20 2d 3e 20 63 6f 6e | ; if ye|s -> con|
|00001b00| 76 65 72 74 20 69 74 20 | 74 6f 20 6e 75 6d 62 65 |vert it |to numbe|
|00001b10| 72 0d 08 98 3b 20 4d 4f | 56 20 52 31 2c 20 52 30 |r...; MO|V R1, R0|
|00001b20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001b30| 20 20 20 20 3b 20 52 31 | 20 2d 20 70 6f 69 6e 74 | ; R1| - point|
|00001b40| 65 72 20 74 6f 20 73 74 | 72 69 6e 67 0d 08 a2 10 |er to st|ring....|
|00001b50| 20 4d 4f 56 20 52 30 2c | 20 23 31 30 0d 08 ac 1b | MOV R0,| #10....|
|00001b60| 20 53 57 49 20 22 58 4f | 53 5f 52 65 61 64 55 6e | SWI "XO|S_ReadUn|
|00001b70| 73 69 67 6e 65 64 22 0d | 08 b6 3c 20 53 54 52 20 |signed".|..< STR |
|00001b80| 52 32 2c 5b 57 4b 2c 23 | 77 6b 5f 53 70 65 65 64 |R2,[WK,#|wk_Speed|
|00001b90| 54 72 69 67 5d 20 20 20 | 20 20 3b 20 73 74 6f 72 |Trig] | ; stor|
|00001ba0| 65 20 76 61 6c 75 65 20 | 67 69 76 65 6e 20 69 6e |e value |given in|
|00001bb0| 20 52 32 0d 08 c0 3a 20 | 4c 44 4d 46 44 20 28 53 | R2...: |LDMFD (S|
|00001bc0| 50 29 21 2c 7b 4c 49 4e | 4b 7d 20 20 20 20 20 20 |P)!,{LIN|K} |
|00001bd0| 20 20 20 20 20 20 3b 20 | 72 65 73 74 6f 72 65 20 | ; |restore |
|00001be0| 6c 69 6e 6b 20 72 65 67 | 69 73 74 65 72 0d 08 ca |link reg|ister...|
|00001bf0| 2f 20 4d 4f 56 20 50 43 | 2c 20 4c 49 4e 4b 20 20 |/ MOV PC|, LINK |
|00001c00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c10| 3b 20 61 6e 64 20 72 65 | 74 75 72 6e 0d 08 d4 4e |; and re|turn...N|
|00001c20| 2e 6e 6f 5f 74 72 69 67 | 67 65 72 5f 61 72 67 73 |.no_trig|ger_args|
|00001c30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00001c40| 20 6e 6f 20 61 72 67 73 | 20 67 69 76 65 6e 20 2d | no args| given -|
|00001c50| 3e 20 77 72 69 74 65 20 | 63 6f 6e 74 65 6e 74 20 |> write |content |
|00001c60| 6f 66 20 54 72 69 67 67 | 65 72 0d 08 de 3c 20 4c |of Trigg|er...< L|
|00001c70| 44 52 20 52 30 2c 20 5b | 57 4b 2c 23 77 6b 5f 53 |DR R0, [|WK,#wk_S|
|00001c80| 70 65 65 64 54 72 69 67 | 5d 20 20 20 20 3b 20 73 |peedTrig|] ; s|
|00001c90| 70 65 65 64 20 74 6f 20 | 63 75 72 72 65 6e 74 20 |peed to |current |
|00001ca0| 6f 75 74 70 75 74 0d 08 | e8 1a 20 41 44 52 20 52 |output..|.. ADR R|
|00001cb0| 31 2c 74 72 69 67 67 65 | 72 5f 6e 75 6d 62 65 72 |1,trigge|r_number|
|00001cc0| 0d 08 f2 0f 20 4d 4f 56 | 20 52 32 2c 20 23 35 0d |.... MOV| R2, #5.|
|00001cd0| 08 fc 36 20 53 57 49 20 | 22 58 4f 53 5f 42 69 6e |..6 SWI |"XOS_Bin|
|00001ce0| 61 72 79 54 6f 44 65 63 | 69 6d 61 6c 22 20 20 20 |aryToDec|imal" |
|00001cf0| 20 20 3b 20 63 6f 6e 76 | 65 72 74 20 74 6f 20 73 | ; conv|ert to s|
|00001d00| 74 72 69 6e 67 0d 09 06 | 1f 20 41 44 52 20 52 30 |tring...|. ADR R0|
|00001d10| 2c 74 72 69 67 67 65 72 | 5f 63 68 61 72 5f 62 75 |,trigger|_char_bu|
|00001d20| 66 66 65 72 0d 09 10 3e | 20 53 57 49 20 22 58 4f |ffer...>| SWI "XO|
|00001d30| 53 5f 57 72 69 74 65 30 | 22 20 20 20 20 20 20 20 |S_Write0|" |
|00001d40| 20 20 20 20 20 20 20 20 | 3b 20 77 72 69 74 65 20 | |; write |
|00001d50| 74 72 69 67 67 65 72 20 | 6e 75 6d 62 65 72 20 6f |trigger |number o|
|00001d60| 75 74 0d 09 1a 16 20 53 | 57 49 20 22 58 4f 53 5f |ut.... S|WI "XOS_|
|00001d70| 4e 65 77 4c 69 6e 65 22 | 0d 09 24 3a 4c 44 4d 46 |NewLine"|..$:LDMF|
|00001d80| 44 20 28 53 50 29 21 2c | 7b 4c 49 4e 4b 7d 20 20 |D (SP)!,|{LINK} |
|00001d90| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 72 65 73 | | ; res|
|00001da0| 74 6f 72 65 20 6c 69 6e | 6b 20 72 65 67 69 73 74 |tore lin|k regist|
|00001db0| 65 72 0d 09 2e 10 4d 4f | 56 20 50 43 2c 20 4c 49 |er....MO|V PC, LI|
|00001dc0| 4e 4b 0d 09 38 04 0d 09 | 42 40 2e 63 6f 6d 6d 61 |NK..8...|B@.comma|
|00001dd0| 6e 64 5f 73 6c 6f 77 20 | 20 20 20 20 20 20 20 20 |nd_slow | |
|00001de0| 20 20 20 20 20 20 20 20 | 20 3b 20 65 76 61 6c 75 | | ; evalu|
|00001df0| 61 74 65 73 20 73 6c 6f | 77 20 73 74 65 70 20 63 |ates slo|w step c|
|00001e00| 6f 6d 6d 61 6e 64 0d 09 | 4c 37 53 54 4d 46 44 20 |ommand..|L7STMFD |
|00001e10| 28 53 50 29 21 2c 7b 4c | 49 4e 4b 7d 20 20 20 20 |(SP)!,{L|INK} |
|00001e20| 20 20 20 20 20 20 20 20 | 20 3b 20 73 61 76 65 20 | | ; save |
|00001e30| 6c 69 6e 6b 20 72 65 67 | 69 73 74 65 72 0d 09 56 |link reg|ister..V|
|00001e40| 3e 4c 44 52 20 57 4b 2c | 20 5b 57 4b 5d 20 20 20 |>LDR WK,| [WK] |
|00001e50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001e60| 3b 20 6c 6f 61 64 20 77 | 6f 72 6b 69 6e 67 20 61 |; load w|orking a|
|00001e70| 72 65 61 20 70 6f 69 6e | 74 65 72 0d 09 60 32 43 |rea poin|ter..`2C|
|00001e80| 4d 50 20 52 31 2c 20 23 | 30 20 20 20 20 20 20 20 |MP R1, #|0 |
|00001e90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00001ea0| 6e 6f 20 61 72 67 75 6d | 65 6e 74 73 3f 0d 09 6a |no argum|ents?..j|
|00001eb0| 43 42 45 51 20 6e 6f 5f | 73 6c 6f 77 5f 61 72 67 |CBEQ no_|slow_arg|
|00001ec0| 73 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |s | |
|00001ed0| 3b 20 69 66 20 79 65 73 | 20 2d 3e 20 63 6f 6e 76 |; if yes| -> conv|
|00001ee0| 65 72 74 20 69 74 20 74 | 6f 20 6e 75 6d 62 65 72 |ert it t|o number|
|00001ef0| 0d 09 74 3b 20 4d 4f 56 | 20 52 31 2c 20 52 30 20 |..t; MOV| R1, R0 |
|00001f00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f10| 20 20 20 3b 20 52 31 20 | 2d 20 70 6f 69 6e 74 65 | ; R1 |- pointe|
|00001f20| 72 20 74 6f 20 73 74 72 | 69 6e 67 0d 09 7e 10 20 |r to str|ing..~. |
|00001f30| 4d 4f 56 20 52 30 2c 20 | 23 31 30 0d 09 88 1b 20 |MOV R0, |#10.... |
|00001f40| 53 57 49 20 22 58 4f 53 | 5f 52 65 61 64 55 6e 73 |SWI "XOS|_ReadUns|
|00001f50| 69 67 6e 65 64 22 0d 09 | 92 3c 20 53 54 52 42 20 |igned"..|.< STRB |
|00001f60| 52 32 2c 5b 57 4b 2c 23 | 77 6b 5f 53 6c 6f 77 4d |R2,[WK,#|wk_SlowM|
|00001f70| 75 6c 74 5d 20 20 20 20 | 20 3b 20 73 74 6f 72 65 |ult] | ; store|
|00001f80| 20 76 61 6c 75 65 20 67 | 69 76 65 6e 20 69 6e 20 | value g|iven in |
|00001f90| 52 32 0d 09 9c 3a 20 4c | 44 4d 46 44 20 28 53 50 |R2...: L|DMFD (SP|
|00001fa0| 29 21 2c 7b 4c 49 4e 4b | 7d 20 20 20 20 20 20 20 |)!,{LINK|} |
|00001fb0| 20 20 20 20 20 3b 20 72 | 65 73 74 6f 72 65 20 6c | ; r|estore l|
|00001fc0| 69 6e 6b 20 72 65 67 69 | 73 74 65 72 0d 09 a6 2f |ink regi|ster.../|
|00001fd0| 20 4d 4f 56 20 50 43 2c | 20 4c 49 4e 4b 20 20 20 | MOV PC,| LINK |
|00001fe0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00001ff0| 20 61 6e 64 20 72 65 74 | 75 72 6e 0d 09 b0 51 2e | and ret|urn...Q.|
|00002000| 6e 6f 5f 73 6c 6f 77 5f | 61 72 67 73 20 20 20 20 |no_slow_|args |
|00002010| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00002020| 6e 6f 20 61 72 67 73 20 | 67 69 76 65 6e 20 2d 3e |no args |given ->|
|00002030| 20 77 72 69 74 65 20 63 | 6f 6e 74 65 6e 74 20 6f | write c|ontent o|
|00002040| 66 20 53 6c 6f 77 20 53 | 70 65 65 64 0d 09 ba 3c |f Slow S|peed...<|
|00002050| 20 4c 44 52 42 20 52 30 | 2c 20 5b 57 4b 2c 23 77 | LDRB R0|, [WK,#w|
|00002060| 6b 5f 53 6c 6f 77 4d 75 | 6c 74 5d 20 20 20 20 3b |k_SlowMu|lt] ;|
|00002070| 20 73 70 65 65 64 20 74 | 6f 20 63 75 72 72 65 6e | speed t|o curren|
|00002080| 74 20 6f 75 74 70 75 74 | 0d 09 c4 17 20 41 44 52 |t output|.... ADR|
|00002090| 20 52 31 2c 73 6c 6f 77 | 5f 6e 75 6d 62 65 72 0d | R1,slow|_number.|
|000020a0| 09 ce 0f 20 4d 4f 56 20 | 52 32 2c 20 23 35 0d 09 |... MOV |R2, #5..|
|000020b0| d8 36 20 53 57 49 20 22 | 58 4f 53 5f 42 69 6e 61 |.6 SWI "|XOS_Bina|
|000020c0| 72 79 54 6f 44 65 63 69 | 6d 61 6c 22 20 20 20 20 |ryToDeci|mal" |
|000020d0| 20 3b 20 63 6f 6e 76 65 | 72 74 20 74 6f 20 73 74 | ; conve|rt to st|
|000020e0| 72 69 6e 67 0d 09 e2 1c | 20 41 44 52 20 52 30 2c |ring....| ADR R0,|
|000020f0| 73 6c 6f 77 5f 63 68 61 | 72 5f 62 75 66 66 65 72 |slow_cha|r_buffer|
|00002100| 0d 09 ec 41 20 53 57 49 | 20 22 58 4f 53 5f 57 72 |...A SWI| "XOS_Wr|
|00002110| 69 74 65 30 22 20 20 20 | 20 20 20 20 20 20 20 20 |ite0" | |
|00002120| 20 20 20 20 3b 20 77 72 | 69 74 65 20 73 6c 6f 77 | ; wr|ite slow|
|00002130| 20 73 70 65 65 64 20 6e | 75 6d 62 65 72 20 6f 75 | speed n|umber ou|
|00002140| 74 0d 09 f6 16 20 53 57 | 49 20 22 58 4f 53 5f 4e |t.... SW|I "XOS_N|
|00002150| 65 77 4c 69 6e 65 22 0d | 0a 00 3a 4c 44 4d 46 44 |ewLine".|..:LDMFD|
|00002160| 20 28 53 50 29 21 2c 7b | 4c 49 4e 4b 7d 20 20 20 | (SP)!,{|LINK} |
|00002170| 20 20 20 20 20 20 20 20 | 20 20 3b 20 72 65 73 74 | | ; rest|
|00002180| 6f 72 65 20 6c 69 6e 6b | 20 72 65 67 69 73 74 65 |ore link| registe|
|00002190| 72 0d 0a 0a 10 4d 4f 56 | 20 50 43 2c 20 4c 49 4e |r....MOV| PC, LIN|
|000021a0| 4b 0d 0a 14 04 0d 0a 1e | 04 0d 0a 28 40 2e 63 6f |K.......|...(@.co|
|000021b0| 6d 6d 61 6e 64 5f 66 61 | 73 74 20 20 20 20 20 20 |mmand_fa|st |
|000021c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 65 76 | | ; ev|
|000021d0| 61 6c 75 61 74 65 73 20 | 66 61 73 74 20 73 74 65 |aluates |fast ste|
|000021e0| 70 20 63 6f 6d 6d 61 6e | 64 0d 0a 32 37 53 54 4d |p comman|d..27STM|
|000021f0| 46 44 20 28 53 50 29 21 | 2c 7b 4c 49 4e 4b 7d 20 |FD (SP)!|,{LINK} |
|00002200| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 73 61 | | ; sa|
|00002210| 76 65 20 6c 69 6e 6b 20 | 72 65 67 69 73 74 65 72 |ve link |register|
|00002220| 0d 0a 3c 3e 4c 44 52 20 | 57 4b 2c 20 5b 57 4b 5d |..<>LDR |WK, [WK]|
|00002230| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002240| 20 20 20 3b 20 6c 6f 61 | 64 20 77 6f 72 6b 69 6e | ; loa|d workin|
|00002250| 67 20 61 72 65 61 20 70 | 6f 69 6e 74 65 72 0d 0a |g area p|ointer..|
|00002260| 46 32 43 4d 50 20 52 31 | 2c 20 23 30 20 20 20 20 |F2CMP R1|, #0 |
|00002270| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002280| 20 3b 20 6e 6f 20 61 72 | 67 75 6d 65 6e 74 73 3f | ; no ar|guments?|
|00002290| 0d 0a 50 43 42 45 51 20 | 6e 6f 5f 66 61 73 74 5f |..PCBEQ |no_fast_|
|000022a0| 61 72 67 73 20 20 20 20 | 20 20 20 20 20 20 20 20 |args | |
|000022b0| 20 20 20 3b 20 69 66 20 | 79 65 73 20 2d 3e 20 63 | ; if |yes -> c|
|000022c0| 6f 6e 76 65 72 74 20 69 | 74 20 74 6f 20 6e 75 6d |onvert i|t to num|
|000022d0| 62 65 72 0d 0a 5a 3b 20 | 4d 4f 56 20 52 31 2c 20 |ber..Z; |MOV R1, |
|000022e0| 52 30 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |R0 | |
|000022f0| 20 20 20 20 20 20 3b 20 | 52 31 20 2d 20 70 6f 69 | ; |R1 - poi|
|00002300| 6e 74 65 72 20 74 6f 20 | 73 74 72 69 6e 67 0d 0a |nter to |string..|
|00002310| 64 10 20 4d 4f 56 20 52 | 30 2c 20 23 31 30 0d 0a |d. MOV R|0, #10..|
|00002320| 6e 1b 20 53 57 49 20 22 | 58 4f 53 5f 52 65 61 64 |n. SWI "|XOS_Read|
|00002330| 55 6e 73 69 67 6e 65 64 | 22 0d 0a 78 3c 20 53 54 |Unsigned|"..x< ST|
|00002340| 52 42 20 52 32 2c 5b 57 | 4b 2c 23 77 6b 5f 46 61 |RB R2,[W|K,#wk_Fa|
|00002350| 73 74 4d 75 6c 74 5d 20 | 20 20 20 20 3b 20 73 74 |stMult] | ; st|
|00002360| 6f 72 65 20 76 61 6c 75 | 65 20 67 69 76 65 6e 20 |ore valu|e given |
|00002370| 69 6e 20 52 32 0d 0a 82 | 3a 20 4c 44 4d 46 44 20 |in R2...|: LDMFD |
|00002380| 28 53 50 29 21 2c 7b 4c | 49 4e 4b 7d 20 20 20 20 |(SP)!,{L|INK} |
|00002390| 20 20 20 20 20 20 20 20 | 3b 20 72 65 73 74 6f 72 | |; restor|
|000023a0| 65 20 6c 69 6e 6b 20 72 | 65 67 69 73 74 65 72 0d |e link r|egister.|
|000023b0| 0a 8c 2f 20 4d 4f 56 20 | 50 43 2c 20 4c 49 4e 4b |../ MOV |PC, LINK|
|000023c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000023d0| 20 20 3b 20 61 6e 64 20 | 72 65 74 75 72 6e 0d 0a | ; and |return..|
|000023e0| 96 51 2e 6e 6f 5f 66 61 | 73 74 5f 61 72 67 73 20 |.Q.no_fa|st_args |
|000023f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002400| 20 3b 20 6e 6f 20 61 72 | 67 73 20 67 69 76 65 6e | ; no ar|gs given|
|00002410| 20 2d 3e 20 77 72 69 74 | 65 20 63 6f 6e 74 65 6e | -> writ|e conten|
|00002420| 74 20 6f 66 20 53 6c 6f | 77 20 53 70 65 65 64 0d |t of Slo|w Speed.|
|00002430| 0a a0 3c 20 4c 44 52 42 | 20 52 30 2c 20 5b 57 4b |..< LDRB| R0, [WK|
|00002440| 2c 23 77 6b 5f 46 61 73 | 74 4d 75 6c 74 5d 20 20 |,#wk_Fas|tMult] |
|00002450| 20 20 3b 20 73 70 65 65 | 64 20 74 6f 20 63 75 72 | ; spee|d to cur|
|00002460| 72 65 6e 74 20 6f 75 74 | 70 75 74 0d 0a aa 17 20 |rent out|put.... |
|00002470| 41 44 52 20 52 31 2c 66 | 61 73 74 5f 6e 75 6d 62 |ADR R1,f|ast_numb|
|00002480| 65 72 0d 0a b4 0f 20 4d | 4f 56 20 52 32 2c 20 23 |er.... M|OV R2, #|
|00002490| 35 0d 0a be 36 20 53 57 | 49 20 22 58 4f 53 5f 42 |5...6 SW|I "XOS_B|
|000024a0| 69 6e 61 72 79 54 6f 44 | 65 63 69 6d 61 6c 22 20 |inaryToD|ecimal" |
|000024b0| 20 20 20 20 3b 20 63 6f | 6e 76 65 72 74 20 74 6f | ; co|nvert to|
|000024c0| 20 73 74 72 69 6e 67 0d | 0a c8 1c 20 41 44 52 20 | string.|... ADR |
|000024d0| 52 30 2c 66 61 73 74 5f | 63 68 61 72 5f 62 75 66 |R0,fast_|char_buf|
|000024e0| 66 65 72 0d 0a d2 41 20 | 53 57 49 20 22 58 4f 53 |fer...A |SWI "XOS|
|000024f0| 5f 57 72 69 74 65 30 22 | 20 20 20 20 20 20 20 20 |_Write0"| |
|00002500| 20 20 20 20 20 20 20 3b | 20 77 72 69 74 65 20 73 | ;| write s|
|00002510| 6c 6f 77 20 73 70 65 65 | 64 20 6e 75 6d 62 65 72 |low spee|d number|
|00002520| 20 6f 75 74 0d 0a dc 16 | 20 53 57 49 20 22 58 4f | out....| SWI "XO|
|00002530| 53 5f 4e 65 77 4c 69 6e | 65 22 0d 0a e6 3a 4c 44 |S_NewLin|e"...:LD|
|00002540| 4d 46 44 20 28 53 50 29 | 21 2c 7b 4c 49 4e 4b 7d |MFD (SP)|!,{LINK}|
|00002550| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 72 | | ; r|
|00002560| 65 73 74 6f 72 65 20 6c | 69 6e 6b 20 72 65 67 69 |estore l|ink regi|
|00002570| 73 74 65 72 0d 0a f0 10 | 4d 4f 56 20 50 43 2c 20 |ster....|MOV PC, |
|00002580| 4c 49 4e 4b 0d 0a fa 04 | 0d 0b 04 04 0d 0b 0e 51 |LINK....|.......Q|
|00002590| 2e 54 72 61 70 4d 75 6c | 74 69 70 6c 69 65 72 20 |.TrapMul|tiplier |
|000025a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|000025b0| 20 72 6f 75 74 69 6e 65 | 20 74 68 61 74 20 63 6c | routine| that cl|
|000025c0| 61 69 6d 73 20 74 68 65 | 20 6d 6f 75 73 65 20 6d |aims the| mouse m|
|000025d0| 75 6c 74 69 70 6c 69 65 | 72 20 53 57 49 0d 0b 18 |ultiplie|r SWI...|
|000025e0| 2f 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |/ | |
|000025f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002600| 3b 20 4f 53 5f 57 6f 72 | 64 20 32 31 0d 0b 22 0e |; OS_Wor|d 21..".|
|00002610| 43 4d 50 20 52 30 2c 23 | 32 31 0d 0b 2c 3c 4d 4f |CMP R0,#|21..,<MO|
|00002620| 56 4e 45 53 20 50 43 2c | 20 4c 49 4e 4b 20 20 20 |VNES PC,| LINK |
|00002630| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 69 | | ; i|
|00002640| 66 20 6e 6f 74 20 6e 6f | 2e 20 32 31 20 2d 3e 20 |f not no|. 21 -> |
|00002650| 72 65 74 75 72 6e 0d 0b | 36 40 4c 44 52 42 20 52 |return..|6@LDRB R|
|00002660| 30 2c 5b 52 31 5d 20 20 | 20 20 20 20 20 20 20 20 |0,[R1] | |
|00002670| 20 20 20 20 20 20 20 20 | 20 3b 20 67 65 74 20 73 | | ; get s|
|00002680| 75 62 2d 72 65 61 73 6f | 6e 20 63 6f 64 65 20 28 |ub-reaso|n code (|
|00002690| 2d 3e 20 52 31 29 0d 0b | 40 45 43 4d 50 20 52 30 |-> R1)..|@ECMP R0|
|000026a0| 2c 23 32 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |,#2 | |
|000026b0| 20 20 20 20 20 20 20 20 | 20 3b 20 63 6f 6d 70 61 | | ; compa|
|000026c0| 72 65 20 69 66 20 6d 6f | 75 73 65 20 6d 75 6c 74 |re if mo|use mult|
|000026d0| 69 70 6c 69 65 72 20 63 | 6f 64 65 0d 0b 4a 2f 4d |iplier c|ode..J/M|
|000026e0| 4f 56 20 52 30 2c 23 32 | 31 20 20 20 20 20 20 20 |OV R0,#2|1 |
|000026f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00002700| 72 65 73 74 6f 72 65 20 | 52 30 0d 0b 54 39 4d 4f |restore |R0..T9MO|
|00002710| 56 4e 45 53 20 50 43 2c | 20 4c 49 4e 4b 20 20 20 |VNES PC,| LINK |
|00002720| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 61 | | ; a|
|00002730| 6e 64 20 69 66 20 6e 6f | 74 20 2d 3e 20 72 65 74 |nd if no|t -> ret|
|00002740| 75 72 6e 0d 0b 5e 32 53 | 54 4d 46 44 20 28 53 50 |urn..^2S|TMFD (SP|
|00002750| 29 21 2c 7b 52 30 2c 57 | 4b 7d 20 20 20 20 20 20 |)!,{R0,W|K} |
|00002760| 20 20 20 20 20 20 3b 20 | 73 61 76 65 20 72 65 67 | ; |save reg|
|00002770| 69 73 74 65 72 0d 0b 68 | 3d 4c 44 52 20 57 4b 2c |ister..h|=LDR WK,|
|00002780| 5b 57 4b 5d 20 20 20 20 | 20 20 20 20 20 20 20 20 |[WK] | |
|00002790| 20 20 20 20 20 20 20 20 | 3b 20 67 65 74 20 77 6f | |; get wo|
|000027a0| 72 6b 69 6e 67 20 61 72 | 65 61 20 61 64 64 72 65 |rking ar|ea addre|
|000027b0| 73 73 0d 0b 72 2d 4c 44 | 52 42 20 52 30 2c 20 5b |ss..r-LD|RB R0, [|
|000027c0| 57 4b 2c 23 77 6b 5f 4d | 75 6c 74 46 6c 61 67 5d |WK,#wk_M|ultFlag]|
|000027d0| 20 20 20 20 20 3b 20 67 | 65 74 20 66 6c 61 67 0d | ; g|et flag.|
|000027e0| 0b 7c 0e 43 4d 50 20 52 | 30 2c 20 23 30 0d 0b 86 |.|.CMP R|0, #0...|
|000027f0| 46 4c 44 4d 4e 45 46 44 | 20 28 53 50 29 21 2c 7b |FLDMNEFD| (SP)!,{|
|00002800| 52 30 2c 57 4b 7d 20 20 | 20 20 20 20 20 20 20 20 |R0,WK} | |
|00002810| 3b 20 69 66 20 73 65 74 | 20 2d 3e 20 70 61 73 73 |; if set| -> pass|
|00002820| 20 63 61 6c 6c 20 6f 6e | 2c 20 69 74 20 69 73 20 | call on|, it is |
|00002830| 74 68 65 0d 0b 90 37 4d | 4f 56 4e 45 53 20 50 43 |the...7M|OVNES PC|
|00002840| 2c 4c 49 4e 4b 20 20 20 | 20 20 20 20 20 20 20 20 |,LINK | |
|00002850| 20 20 20 20 20 20 3b 20 | 43 68 65 63 6b 53 70 65 | ; |CheckSpe|
|00002860| 65 64 2d 72 6f 75 74 69 | 6e 65 0d 0b 9a 04 0d 0b |ed-routi|ne......|
|00002870| a4 3b 4c 44 52 42 20 52 | 30 2c 5b 52 31 2c 23 31 |.;LDRB R|0,[R1,#1|
|00002880| 5d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |] | |
|00002890| 20 3b 20 67 65 74 20 78 | 20 6d 6f 75 73 65 20 6d | ; get x| mouse m|
|000028a0| 75 6c 74 69 70 6c 69 65 | 72 0d 0b ae 48 53 54 52 |ultiplie|r...HSTR|
|000028b0| 42 20 52 30 2c 5b 57 4b | 2c 23 77 6b 5f 53 6c 6f |B R0,[WK|,#wk_Slo|
|000028c0| 77 4d 75 6c 74 5d 20 20 | 20 20 20 20 3b 20 61 6e |wMult] | ; an|
|000028d0| 64 20 73 65 74 20 73 6c | 6f 77 20 6d 6f 75 73 65 |d set sl|ow mouse|
|000028e0| 20 6d 75 6c 74 69 70 6c | 69 65 72 20 61 74 20 69 | multipl|ier at i|
|000028f0| 74 0d 0b b8 35 4c 44 4d | 46 44 20 28 53 50 29 21 |t...5LDM|FD (SP)!|
|00002900| 2c 7b 52 30 2c 57 4b 7d | 20 20 20 20 20 20 20 20 |,{R0,WK}| |
|00002910| 20 20 20 20 3b 20 72 65 | 73 74 6f 72 65 20 72 65 | ; re|store re|
|00002920| 67 69 73 74 65 72 0d 0b | c2 3d 4c 44 4d 46 44 20 |gister..|.=LDMFD |
|00002930| 28 53 50 29 21 2c 7b 50 | 43 7d 20 20 20 20 20 20 |(SP)!,{P|C} |
|00002940| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 61 6e 64 | | ; and|
|00002950| 20 69 6e 74 65 72 63 65 | 70 74 20 74 68 65 20 63 | interce|pt the c|
|00002960| 61 6c 6c 0d 0b cc 04 0d | 0b d6 48 2e 43 68 65 63 |all.....|..H.Chec|
|00002970| 6b 53 70 65 65 64 20 20 | 20 20 20 20 20 20 20 20 |kSpeed | |
|00002980| 20 20 20 20 20 20 20 20 | 20 20 3b 20 6d 61 69 6e | | ; main|
|00002990| 20 63 6f 64 65 20 74 6f | 20 63 6f 6e 74 72 6f 6c | code to| control|
|000029a0| 20 73 70 65 65 64 20 6f | 66 20 6d 6f 75 73 65 0d | speed o|f mouse.|
|000029b0| 0b e0 38 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |..8 | |
|000029c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000029d0| 20 20 3b 20 63 61 6c 6c | 65 64 20 65 76 65 72 79 | ; call|ed every|
|000029e0| 20 35 20 6d 73 65 63 0d | 0b ea 04 0d 0b f4 25 53 | 5 msec.|......%S|
|000029f0| 54 4d 46 44 20 28 53 50 | 29 21 2c 7b 52 30 2d 52 |TMFD (SP|)!,{R0-R|
|00002a00| 32 2c 52 38 2c 52 39 2c | 57 4b 2c 4c 49 4e 4b 7d |2,R8,R9,|WK,LINK}|
|00002a10| 0d 0b fe 3d 4c 44 52 20 | 57 4b 2c 5b 57 4b 5d 20 |...=LDR |WK,[WK] |
|00002a20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002a30| 20 20 20 3b 20 67 65 74 | 20 77 6f 72 6b 69 6e 67 | ; get| working|
|00002a40| 20 61 72 65 61 20 61 64 | 64 72 65 73 73 0d 0c 08 | area ad|dress...|
|00002a50| 3f 41 44 44 20 52 31 2c | 57 4b 2c 20 23 77 6b 5f |?ADD R1,|WK, #wk_|
|00002a60| 52 65 61 64 50 61 72 61 | 6d 20 20 20 20 20 20 20 |ReadPara|m |
|00002a70| 3b 20 67 65 74 20 63 75 | 72 72 65 6e 74 20 6d 6f |; get cu|rrent mo|
|00002a80| 75 73 65 20 70 6f 73 69 | 74 69 6f 6e 0d 0c 12 0e |use posi|tion....|
|00002a90| 4d 4f 56 20 52 30 2c 23 | 32 31 0d 0c 1c 04 0d 0c |MOV R0,#|21......|
|00002aa0| 26 39 4d 4f 56 20 52 39 | 2c 20 50 43 20 20 20 20 |&9MOV R9|, PC |
|00002ab0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002ac0| 20 3b 20 73 77 69 74 63 | 68 20 74 6f 20 53 56 43 | ; switc|h to SVC|
|00002ad0| 20 2d 20 6d 6f 64 65 0d | 0c 30 11 84 52 20 52 38 | - mode.|.0..R R8|
|00002ae0| 2c 20 52 39 2c 20 23 33 | 0d 0c 3a 33 54 45 51 50 |, R9, #3|..:3TEQP|
|00002af0| 20 52 38 2c 20 23 30 20 | 20 20 20 20 20 20 20 20 | R8, #0 | |
|00002b00| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 73 65 74 | | ; set|
|00002b10| 20 53 56 43 2d 20 66 6c | 61 67 73 0d 0c 44 29 4d | SVC- fl|ags..D)M|
|00002b20| 4f 56 20 52 30 2c 20 52 | 30 20 20 20 20 20 20 20 |OV R0, R|0 |
|00002b30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00002b40| 77 61 69 74 0d 0c 4e 3b | 53 54 4d 46 44 20 28 53 |wait..N;|STMFD (S|
|00002b50| 50 29 21 2c 7b 4c 49 4e | 4b 7d 20 20 20 20 20 20 |P)!,{LIN|K} |
|00002b60| 20 20 20 20 20 20 20 3b | 20 73 74 6f 72 65 20 73 | ;| store s|
|00002b70| 76 63 20 6c 69 6e 6b 20 | 70 6f 69 6e 74 65 72 0d |vc link |pointer.|
|00002b80| 0c 58 04 0d 0c 62 38 53 | 57 49 20 22 58 4f 53 5f |.X...b8S|WI "XOS_|
|00002b90| 57 6f 72 64 22 20 20 20 | 20 20 20 20 20 20 20 20 |Word" | |
|00002ba0| 20 20 20 20 20 20 3b 20 | 72 65 61 64 20 6d 6f 75 | ; |read mou|
|00002bb0| 73 65 20 70 6f 73 69 74 | 69 6f 6e 0d 0c 6c 1a 4c |se posit|ion..l.L|
|00002bc0| 44 52 20 52 31 2c 5b 57 | 4b 2c 20 23 77 6b 5f 52 |DR R1,[W|K, #wk_R|
|00002bd0| 65 61 64 58 5d 0d 0c 76 | 3a 4d 4f 56 20 52 32 2c |eadX]..v|:MOV R2,|
|00002be0| 20 52 31 2c 20 4c 53 52 | 20 23 31 36 20 20 20 20 | R1, LSR| #16 |
|00002bf0| 20 20 20 20 20 20 20 20 | 3b 20 59 20 70 6f 73 69 | |; Y posi|
|00002c00| 74 69 6f 6e 20 72 65 61 | 64 20 69 6e 20 52 32 0d |tion rea|d in R2.|
|00002c10| 0c 80 0e 4d 56 4e 20 52 | 30 2c 20 23 30 0d 0c 8a |...MVN R|0, #0...|
|00002c20| 4e 80 20 52 31 2c 52 31 | 2c 52 30 2c 20 4c 53 52 |N. R1,R1|,R0, LSR|
|00002c30| 20 23 31 36 20 20 20 20 | 20 20 20 20 20 20 3b 20 | #16 | ; |
|00002c40| 58 20 70 6f 73 69 74 69 | 6f 6e 20 72 65 61 64 20 |X positi|on read |
|00002c50| 69 6e 20 52 31 20 28 31 | 36 20 62 69 74 20 6c 6f |in R1 (1|6 bit lo|
|00002c60| 6e 67 2c 20 6d 61 73 6b | 65 64 29 0d 0c 94 3f 4c |ng, mask|ed)...?L|
|00002c70| 44 52 20 52 30 2c 5b 57 | 4b 2c 23 77 6b 5f 6f 6c |DR R0,[W|K,#wk_ol|
|00002c80| 64 58 5d 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 |dX] | ; |
|00002c90| 72 65 61 64 20 6c 61 73 | 74 20 58 20 70 6f 73 69 |read las|t X posi|
|00002ca0| 74 69 6f 6e 20 69 6e 20 | 52 30 0d 0c 9e 4f 53 55 |tion in |R0...OSU|
|00002cb0| 42 53 20 52 30 2c 20 52 | 31 2c 20 52 30 20 20 20 |BS R0, R|1, R0 |
|00002cc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 64 | | ; d|
|00002cd0| 69 66 66 65 72 65 6e 63 | 65 20 62 65 74 77 65 65 |ifferenc|e betwee|
|00002ce0| 6e 20 6f 6c 64 20 61 6e | 64 20 6e 65 77 20 58 20 |n old an|d new X |
|00002cf0| 70 6f 73 20 69 6e 20 52 | 30 0d 0c a8 3a 52 53 42 |pos in R|0...:RSB|
|00002d00| 4c 53 20 52 30 2c 20 52 | 30 2c 20 23 30 20 20 20 |LS R0, R|0, #0 |
|00002d10| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 69 66 | | ; if|
|00002d20| 20 6e 65 67 61 74 69 76 | 65 20 2d 3e 20 6e 65 67 | negativ|e -> neg|
|00002d30| 61 74 65 0d 0c b2 4f 53 | 54 52 20 52 31 2c 20 5b |ate...OS|TR R1, [|
|00002d40| 57 4b 2c 20 23 77 6b 5f | 6f 6c 64 58 5d 20 20 20 |WK, #wk_|oldX] |
|00002d50| 20 20 20 20 20 20 3b 20 | 73 74 6f 72 65 20 63 75 | ; |store cu|
|00002d60| 72 72 65 6e 74 20 58 20 | 70 6f 73 69 74 69 6f 6e |rrent X |position|
|00002d70| 20 61 73 20 6f 6c 64 20 | 58 20 70 6f 73 69 74 69 | as old |X positi|
|00002d80| 6f 6e 0d 0c bc 3f 4d 4f | 56 20 52 31 2c 20 52 30 |on...?MO|V R1, R0|
|00002d90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002da0| 20 20 20 20 20 3b 20 61 | 6e 64 20 73 74 6f 72 65 | ; a|nd store|
|00002db0| 20 64 69 66 66 65 72 65 | 6e 63 65 20 69 6e 20 52 | differe|nce in R|
|00002dc0| 31 0d 0c c6 04 0d 0c d0 | 3f 4c 44 52 20 52 30 2c |1.......|?LDR R0,|
|00002dd0| 5b 57 4b 2c 23 77 6b 5f | 6f 6c 64 59 5d 20 20 20 |[WK,#wk_|oldY] |
|00002de0| 20 20 20 20 20 20 20 20 | 3b 20 72 65 61 64 20 6c | |; read l|
|00002df0| 61 73 74 20 59 20 70 6f | 73 69 74 69 6f 6e 20 69 |ast Y po|sition i|
|00002e00| 6e 20 52 30 0d 0c da 4f | 53 55 42 53 20 52 30 2c |n R0...O|SUBS R0,|
|00002e10| 20 52 32 2c 20 52 30 20 | 20 20 20 20 20 20 20 20 | R2, R0 | |
|00002e20| 20 20 20 20 20 20 20 3b | 20 64 69 66 66 65 72 65 | ;| differe|
|00002e30| 6e 7a 65 20 62 65 74 77 | 65 65 6e 20 6f 6c 64 20 |nze betw|een old |
|00002e40| 61 6e 64 20 6e 65 77 20 | 59 20 70 6f 73 20 69 6e |and new |Y pos in|
|00002e50| 20 52 30 0d 0c e4 3a 52 | 53 42 4c 53 20 52 30 2c | R0...:R|SBLS R0,|
|00002e60| 20 52 30 2c 20 23 30 20 | 20 20 20 20 20 20 20 20 | R0, #0 | |
|00002e70| 20 20 20 20 20 20 3b 20 | 69 66 20 6e 65 67 61 74 | ; |if negat|
|00002e80| 69 76 65 20 2d 3e 20 6e | 65 67 61 74 65 0d 0c ee |ive -> n|egate...|
|00002e90| 4f 53 54 52 20 52 32 2c | 20 5b 57 4b 2c 23 77 6b |OSTR R2,| [WK,#wk|
|00002ea0| 5f 6f 6c 64 59 5d 20 20 | 20 20 20 20 20 20 20 20 |_oldY] | |
|00002eb0| 3b 20 73 74 6f 72 65 20 | 63 75 72 72 65 6e 74 20 |; store |current |
|00002ec0| 59 20 70 6f 73 69 74 69 | 6f 6e 20 61 73 20 6f 6c |Y positi|on as ol|
|00002ed0| 64 20 59 20 70 6f 73 69 | 74 69 6f 6e 0d 0c f8 3f |d Y posi|tion...?|
|00002ee0| 4d 4f 56 20 52 32 2c 20 | 52 30 20 20 20 20 20 20 |MOV R2, |R0 |
|00002ef0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00002f00| 20 61 6e 64 20 73 74 6f | 72 65 20 64 69 66 66 65 | and sto|re diffe|
|00002f10| 72 65 6e 63 65 20 69 6e | 20 52 32 0d 0d 02 04 0d |rence in| R2.....|
|00002f20| 0d 0c 4e 4c 44 52 20 52 | 30 2c 20 5b 57 4b 2c 20 |..NLDR R|0, [WK, |
|00002f30| 23 77 6b 5f 53 70 65 65 | 64 54 72 69 67 5d 20 20 |#wk_Spee|dTrig] |
|00002f40| 20 20 3b 20 69 73 20 74 | 68 65 20 64 69 66 66 65 | ; is t|he diffe|
|00002f50| 72 65 6e 63 65 20 67 72 | 65 61 74 65 72 20 61 73 |rence gr|eater as|
|00002f60| 20 74 68 65 20 74 72 69 | 67 67 65 72 3f 0d 0d 16 | the tri|gger?...|
|00002f70| 3b 43 4d 50 20 52 31 2c | 20 52 30 20 20 20 20 20 |;CMP R1,| R0 |
|00002f80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002f90| 3b 20 74 65 73 74 20 66 | 6f 72 20 58 20 2d 20 64 |; test f|or X - d|
|00002fa0| 69 72 65 63 74 69 6f 6e | 0d 0d 20 3b 43 4d 50 4c |irection|.. ;CMPL|
|00002fb0| 53 20 52 32 2c 20 52 30 | 20 20 20 20 20 20 20 20 |S R2, R0| |
|00002fc0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 61 6e 64 | | ; and|
|00002fd0| 20 66 6f 72 20 20 59 20 | 2d 20 64 69 72 65 63 74 | for Y |- direct|
|00002fe0| 69 6f 6e 0d 0d 2a 4a 4d | 4f 56 48 49 20 52 30 2c |ion..*JM|OVHI R0,|
|00002ff0| 20 23 31 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | #1 | |
|00003000| 20 20 20 20 20 20 3b 20 | 69 66 20 68 69 67 68 65 | ; |if highe|
|00003010| 72 20 2d 3e 20 73 70 65 | 65 64 20 73 74 61 74 65 |r -> spe|ed state|
|00003020| 20 28 69 6e 20 52 30 29 | 20 3a 3d 20 31 0d 0d 34 | (in R0)| := 1..4|
|00003030| 49 4c 44 52 48 49 42 20 | 52 32 2c 5b 57 4b 2c 23 |ILDRHIB |R2,[WK,#|
|00003040| 77 6b 5f 46 61 73 74 4d | 75 6c 74 5d 20 20 20 20 |wk_FastM|ult] |
|00003050| 20 3b 20 61 6e 64 20 70 | 75 74 20 66 61 73 74 20 | ; and p|ut fast |
|00003060| 73 70 65 65 64 20 6d 75 | 6c 74 69 70 6c 69 65 72 |speed mu|ltiplier|
|00003070| 20 61 74 20 52 32 0d 0d | 3e 3b 4d 4f 56 4c 53 20 | at R2..|>;MOVLS |
|00003080| 52 30 2c 20 23 30 20 20 | 20 20 20 20 20 20 20 20 |R0, #0 | |
|00003090| 20 20 20 20 20 20 20 20 | 20 3b 20 65 6c 73 65 20 | | ; else |
|000030a0| 20 73 70 65 65 64 20 73 | 74 61 74 65 20 3a 3d 20 | speed s|tate := |
|000030b0| 30 0d 0d 48 49 4c 44 52 | 4c 53 42 20 52 32 2c 5b |0..HILDR|LSB R2,[|
|000030c0| 57 4b 2c 23 77 6b 5f 53 | 6c 6f 77 4d 75 6c 74 5d |WK,#wk_S|lowMult]|
|000030d0| 20 20 20 20 20 3b 20 61 | 6e 64 20 70 75 74 20 73 | ; a|nd put s|
|000030e0| 6c 6f 77 20 73 70 65 65 | 64 20 6d 75 6c 74 69 70 |low spee|d multip|
|000030f0| 6c 69 65 72 20 61 74 20 | 52 32 0d 0d 52 04 0d 0d |lier at |R2..R...|
|00003100| 5c 43 4c 44 52 20 52 31 | 2c 20 5b 57 4b 2c 20 23 |\CLDR R1|, [WK, #|
|00003110| 77 6b 5f 53 70 65 65 64 | 53 74 61 74 65 5d 20 20 |wk_Speed|State] |
|00003120| 20 3b 20 67 65 74 20 70 | 72 65 76 69 6f 75 73 20 | ; get p|revious |
|00003130| 73 70 65 65 64 20 73 74 | 61 74 65 20 69 6e 20 52 |speed st|ate in R|
|00003140| 31 0d 0d 66 35 43 4d 50 | 20 52 31 2c 20 52 30 20 |1..f5CMP| R1, R0 |
|00003150| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003160| 20 20 20 20 3b 20 61 72 | 65 20 74 68 65 79 20 65 | ; ar|e they e|
|00003170| 71 75 61 6c 20 3f 0d 0d | 70 3c 42 45 51 20 72 65 |qual ?..|p<BEQ re|
|00003180| 61 64 79 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ady | |
|00003190| 20 20 20 20 20 20 20 20 | 20 3b 20 69 66 20 79 65 | | ; if ye|
|000031a0| 73 20 2d 3e 20 6e 6f 74 | 68 69 6e 67 20 74 6f 20 |s -> not|hing to |
|000031b0| 64 6f 0d 0d 7a 3f 53 54 | 52 20 52 30 2c 20 5b 57 |do..z?ST|R R0, [W|
|000031c0| 4b 2c 23 77 6b 5f 53 70 | 65 65 64 53 74 61 74 65 |K,#wk_Sp|eedState|
|000031d0| 5d 20 20 20 20 3b 20 65 | 6c 73 65 20 73 74 6f 72 |] ; e|lse stor|
|000031e0| 65 20 6e 65 77 20 73 70 | 65 65 64 20 73 74 61 74 |e new sp|eed stat|
|000031f0| 65 0d 0d 84 3f 53 54 52 | 42 20 52 32 2c 5b 57 4b |e...?STR|B R2,[WK|
|00003200| 2c 20 23 77 6b 5f 4d 75 | 6c 58 5d 20 20 20 20 20 |, #wk_Mu|lX] |
|00003210| 20 20 20 20 3b 20 73 74 | 6f 72 65 20 6e 65 77 20 | ; st|ore new |
|00003220| 6d 6f 75 73 65 20 6d 75 | 6c 74 69 70 6c 69 65 72 |mouse mu|ltiplier|
|00003230| 0d 0d 8e 1a 53 54 52 42 | 20 52 32 2c 5b 57 4b 2c |....STRB| R2,[WK,|
|00003240| 20 23 77 6b 5f 4d 75 6c | 59 5d 0d 0d 98 31 41 44 | #wk_Mul|Y]...1AD|
|00003250| 44 20 52 31 2c 20 57 4b | 2c 23 77 6b 5f 4d 75 6c |D R1, WK|,#wk_Mul|
|00003260| 50 61 72 61 6d 20 20 20 | 20 20 20 20 20 3b 20 61 |Param | ; a|
|00003270| 6e 64 20 73 65 74 20 74 | 68 65 6d 0d 0d a2 3f 4d |nd set t|hem...?M|
|00003280| 4f 56 20 52 30 2c 23 31 | 20 20 20 20 20 20 20 20 |OV R0,#1| |
|00003290| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|000032a0| 73 65 74 20 46 6c 61 67 | 2c 20 74 68 61 74 20 74 |set Flag|, that t|
|000032b0| 68 69 73 20 69 73 20 74 | 68 65 0d 0d ac 3d 53 54 |his is t|he...=ST|
|000032c0| 52 42 20 52 30 2c 5b 57 | 4b 2c 23 77 6b 5f 4d 75 |RB R0,[W|K,#wk_Mu|
|000032d0| 6c 74 46 6c 61 67 5d 20 | 20 20 20 20 20 3b 20 6d |ltFlag] | ; m|
|000032e0| 6f 75 73 65 20 6d 75 6c | 74 69 70 6c 69 65 72 20 |ouse mul|tiplier |
|000032f0| 72 6f 75 74 69 6e 65 0d | 0d b6 34 4d 4f 56 20 52 |routine.|..4MOV R|
|00003300| 30 2c 20 23 32 31 20 20 | 20 20 20 20 20 20 20 20 |0, #21 | |
|00003310| 20 20 20 20 20 20 20 20 | 20 20 3b 20 77 69 74 68 | | ; with|
|00003320| 20 4f 53 5f 57 6f 72 64 | 20 32 31 0d 0d c0 12 53 | OS_Word| 21....S|
|00003330| 57 49 20 22 58 4f 53 5f | 57 6f 72 64 22 0d 0d ca |WI "XOS_|Word"...|
|00003340| 2f 4d 4f 56 20 52 30 2c | 23 30 20 20 20 20 20 20 |/MOV R0,|#0 |
|00003350| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003360| 3b 20 63 6c 65 61 72 20 | 66 6c 61 67 0d 0d d4 1d |; clear |flag....|
|00003370| 53 54 52 42 20 52 30 2c | 5b 57 4b 2c 23 77 6b 5f |STRB R0,|[WK,#wk_|
|00003380| 4d 75 6c 74 46 6c 61 67 | 5d 0d 0d de 0a 2e 72 65 |MultFlag|].....re|
|00003390| 61 64 79 0d 0d e8 3d 4c | 44 4d 46 44 20 28 53 50 |ady...=L|DMFD (SP|
|000033a0| 29 21 2c 7b 4c 49 4e 4b | 7d 20 20 20 20 20 20 20 |)!,{LINK|} |
|000033b0| 20 20 20 20 20 20 3b 20 | 72 65 73 74 6f 72 65 20 | ; |restore |
|000033c0| 6f 6c 64 20 6c 69 6e 6b | 20 70 6f 69 6e 74 65 72 |old link| pointer|
|000033d0| 0d 0d f2 3f 54 45 51 50 | 20 52 39 2c 20 23 30 20 |...?TEQP| R9, #0 |
|000033e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000033f0| 20 20 20 3b 20 73 77 69 | 74 63 68 20 74 6f 20 6f | ; swi|tch to o|
|00003400| 6c 64 20 6d 6f 64 65 20 | 28 69 6e 20 52 39 29 0d |ld mode |(in R9).|
|00003410| 0d fc 29 4d 4f 56 20 52 | 30 2c 20 52 30 20 20 20 |..)MOV R|0, R0 |
|00003420| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003430| 20 20 3b 20 77 61 69 74 | 0d 0e 06 31 4c 44 4d 46 | ; wait|...1LDMF|
|00003440| 44 20 28 53 50 29 21 2c | 7b 52 30 2d 52 32 2c 52 |D (SP)!,|{R0-R2,R|
|00003450| 38 2c 20 52 39 2c 57 4b | 2c 4c 49 4e 4b 7d 20 20 |8, R9,WK|,LINK} |
|00003460| 20 3b 20 72 65 74 75 72 | 6e 0d 0e 10 0f 4d 4f 56 | ; retur|n....MOV|
|00003470| 20 50 43 2c 20 52 31 34 | 0d 0e 1a 05 5d 0d 0e 24 | PC, R14|....]..$|
|00003480| 0b ed 20 70 61 73 73 25 | 0d 0e 2e 04 0d 0e 38 37 |.. pass%|......87|
|00003490| ff 20 22 53 41 56 45 20 | 22 2b 6f 75 74 66 69 6c |. "SAVE |"+outfil|
|000034a0| 65 24 20 2b 20 22 20 22 | 20 2b 20 c3 7e 28 43 6f |e$ + " "| + .~(Co|
|000034b0| 64 65 25 29 20 2b 20 22 | 20 22 20 2b 20 c3 7e 28 |de%) + "| " + .~(|
|000034c0| 4f 25 29 0d 0e 42 26 20 | ff 20 22 53 65 74 54 79 |O%)..B& |. "SetTy|
|000034d0| 70 65 20 22 2b 20 6f 75 | 74 66 69 6c 65 24 20 2b |pe "+ ou|tfile$ +|
|000034e0| 22 20 6d 6f 64 75 6c 65 | 22 0d 0e 4c 04 0d ff |" module|"..L... |
+--------+-------------------------+-------------------------+--------+--------+