Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199604.adf » Features » StarInfo/Fletcher/WinMgr/Patch322m
StarInfo/Fletcher/WinMgr/Patch322m
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199604.adf » Features |
Filename: | StarInfo/Fletcher/WinMgr/Patch322m |
Read OK: | ✔ |
File size: | 036E bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
In Module Out NModule Type Module Max 32k @ &BE0C ; this replaces code : ; LDR r14,[r2],#32 - get data and increment ; AND r14,r14,#&F000 - leave just button ; TEQ r14,#&F000 <-- this line ; BNE &BDF8 - if not then try again B checkforWI @ &C29C ; this replaces code : ; MOV r0,r3 - set window handle ; MOV r1,r4 - set icon handle ; MVN r2,#&f0000000 - set x offset ; MVN r5,#0 <-- this line ; BL &a53c - is Wimp_SetCaretPosition BL changesetcaret @ endofcode .checkforWI TEQ r14,#&F000 TEQNE r14,#&E000 B &BE10 ; changes parameters passed to Wimp_SetCaretPosition internally when ; menu opens .changesetcaret MOV r2,#1024*16*16 ; 16k (should be enough) MOV r3,#0 ; no y-offset MVN r4,#0 ; flags (-1) MVN r5,#0 ; no index MOV pc,link
00000000 49 6e 20 20 20 4d 6f 64 75 6c 65 0a 4f 75 74 20 |In Module.Out | 00000010 20 4e 4d 6f 64 75 6c 65 0a 54 79 70 65 20 4d 6f | NModule.Type Mo| 00000020 64 75 6c 65 0a 4d 61 78 20 20 33 32 6b 0a 0a 40 |dule.Max 32k..@| 00000030 20 26 42 45 30 43 0a 3b 20 74 68 69 73 20 72 65 | &BE0C.; this re| 00000040 70 6c 61 63 65 73 20 63 6f 64 65 20 3a 0a 3b 20 |places code :.; | 00000050 4c 44 52 20 72 31 34 2c 5b 72 32 5d 2c 23 33 32 |LDR r14,[r2],#32| 00000060 20 20 20 2d 20 67 65 74 20 64 61 74 61 20 61 6e | - get data an| 00000070 64 20 69 6e 63 72 65 6d 65 6e 74 0a 3b 20 41 4e |d increment.; AN| 00000080 44 20 72 31 34 2c 72 31 34 2c 23 26 46 30 30 30 |D r14,r14,#&F000| 00000090 20 2d 20 6c 65 61 76 65 20 6a 75 73 74 20 62 75 | - leave just bu| 000000a0 74 74 6f 6e 0a 3b 20 54 45 51 20 72 31 34 2c 23 |tton.; TEQ r14,#| 000000b0 26 46 30 30 30 20 20 20 20 3c 2d 2d 20 74 68 69 |&F000 <-- thi| 000000c0 73 20 6c 69 6e 65 0a 3b 20 42 4e 45 20 26 42 44 |s line.; BNE &BD| 000000d0 46 38 20 20 20 20 20 20 20 20 20 20 2d 20 69 66 |F8 - if| 000000e0 20 6e 6f 74 20 74 68 65 6e 20 74 72 79 20 61 67 | not then try ag| 000000f0 61 69 6e 0a 20 20 20 42 20 20 20 20 20 20 20 63 |ain. B c| 00000100 68 65 63 6b 66 6f 72 57 49 0a 0a 40 20 26 43 32 |heckforWI..@ &C2| 00000110 39 43 0a 3b 20 74 68 69 73 20 72 65 70 6c 61 63 |9C.; this replac| 00000120 65 73 20 63 6f 64 65 20 3a 0a 3b 20 4d 4f 56 20 |es code :.; MOV | 00000130 72 30 2c 72 33 20 20 20 20 20 20 20 20 20 20 2d |r0,r3 -| 00000140 20 73 65 74 20 77 69 6e 64 6f 77 20 68 61 6e 64 | set window hand| 00000150 6c 65 0a 3b 20 4d 4f 56 20 72 31 2c 72 34 20 20 |le.; MOV r1,r4 | 00000160 20 20 20 20 20 20 20 20 2d 20 73 65 74 20 69 63 | - set ic| 00000170 6f 6e 20 68 61 6e 64 6c 65 0a 3b 20 4d 56 4e 20 |on handle.; MVN | 00000180 72 32 2c 23 26 66 30 30 30 30 30 30 30 20 20 2d |r2,#&f0000000 -| 00000190 20 73 65 74 20 78 20 6f 66 66 73 65 74 0a 3b 20 | set x offset.; | 000001a0 4d 56 4e 20 72 35 2c 23 30 20 20 20 20 20 20 20 |MVN r5,#0 | 000001b0 20 20 3c 2d 2d 20 74 68 69 73 20 6c 69 6e 65 0a | <-- this line.| 000001c0 3b 20 42 4c 20 20 26 61 35 33 63 20 20 20 20 20 |; BL &a53c | 000001d0 20 20 20 20 20 2d 20 69 73 20 57 69 6d 70 5f 53 | - is Wimp_S| 000001e0 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 0a |etCaretPosition.| 000001f0 20 20 20 42 4c 20 20 20 20 20 20 63 68 61 6e 67 | BL chang| 00000200 65 73 65 74 63 61 72 65 74 0a 0a 40 20 65 6e 64 |esetcaret..@ end| 00000210 6f 66 63 6f 64 65 0a 2e 63 68 65 63 6b 66 6f 72 |ofcode..checkfor| 00000220 57 49 0a 20 20 20 54 45 51 20 20 20 20 20 72 31 |WI. TEQ r1| 00000230 34 2c 23 26 46 30 30 30 0a 20 20 20 54 45 51 4e |4,#&F000. TEQN| 00000240 45 20 20 20 72 31 34 2c 23 26 45 30 30 30 0a 20 |E r14,#&E000. | 00000250 20 20 42 20 20 20 20 20 20 20 26 42 45 31 30 0a | B &BE10.| 00000260 0a 3b 20 63 68 61 6e 67 65 73 20 70 61 72 61 6d |.; changes param| 00000270 65 74 65 72 73 20 70 61 73 73 65 64 20 74 6f 20 |eters passed to | 00000280 57 69 6d 70 5f 53 65 74 43 61 72 65 74 50 6f 73 |Wimp_SetCaretPos| 00000290 69 74 69 6f 6e 20 69 6e 74 65 72 6e 61 6c 6c 79 |ition internally| 000002a0 20 77 68 65 6e 0a 3b 20 6d 65 6e 75 20 6f 70 65 | when.; menu ope| 000002b0 6e 73 0a 2e 63 68 61 6e 67 65 73 65 74 63 61 72 |ns..changesetcar| 000002c0 65 74 0a 20 20 20 4d 4f 56 20 20 20 20 20 72 32 |et. MOV r2| 000002d0 2c 23 31 30 32 34 2a 31 36 2a 31 36 20 3b 20 31 |,#1024*16*16 ; 1| 000002e0 36 6b 20 28 73 68 6f 75 6c 64 20 62 65 20 65 6e |6k (should be en| 000002f0 6f 75 67 68 29 0a 20 20 20 4d 4f 56 20 20 20 20 |ough). MOV | 00000300 20 72 33 2c 23 30 20 20 20 20 20 3b 20 6e 6f 20 | r3,#0 ; no | 00000310 79 2d 6f 66 66 73 65 74 0a 20 20 20 4d 56 4e 20 |y-offset. MVN | 00000320 20 20 20 20 72 34 2c 23 30 20 20 20 20 20 3b 20 | r4,#0 ; | 00000330 66 6c 61 67 73 20 28 2d 31 29 0a 20 20 20 4d 56 |flags (-1). MV| 00000340 4e 20 20 20 20 20 72 35 2c 23 30 20 20 20 20 20 |N r5,#0 | 00000350 3b 20 6e 6f 20 69 6e 64 65 78 0a 20 20 20 4d 4f |; no index. MO| 00000360 56 20 20 20 20 20 70 63 2c 6c 69 6e 6b 0a |V pc,link.| 0000036e