home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
desktop
/
outlnwimp_1
/
!WimpPatch
/
!Runimage
(
.txt
)
< prev
next >
Wrap
RISC OS BBC BASIC V Source
|
1995-11-21
|
7KB
|
59 lines
Patch for windowmanager version 3.16 to allow the use of outline fonts
instead of the system font. Must be used in conjunction with "OutLineWimp"
module.
version 4.7NT - 27th June 1995
Written by Andrew Sellors for RISC OS 3.1
This program is Shareware, see the !Help file for details
Unregistered Version
" at line ";
E%&8C*&400:
S%3*&400:Z%=
E:M%=!(Z%-4):W%=Z%+M%:
A%=Z%:B%=E%:C%=M%:
1?(E%+77)=43:$(E%+79)=
$,5,&B):?(E%+90)=41:
8,&A,"<WimpPatch$Dir>.^.NewWimp",&FFA,,E%,J%:
2:P%=E%+&3D18:[OPTE:.v:]:P%=E%+&741C:[OPTE:B o:.Jy:]:P%=E%+&7618:[OPTE:STMFD&D!,{2,4,5}:]:P%=E%+&7640:[OPTE:TST1,#64:BEQ k:BNE x:]:P%=E%+&7670:[OPTE:.F:]:P%=E%+&77A0:[OPTE:B e:MOV0,0:.Cy:]:P%=E%+&7934:[OPTE:B I:]:P%=E%+&7948:[OPTE:.U
LDR&E,[&C,#80]:]:P%=E%+&9554:[OPTE:B Py:.a:]:P%=E%+&973C:[OPTE:B T:.Zy:]:P%=E%+&967C:[OPTE:B O:.P:MOV5,#0:]:P%=E%+&969C:[OPTE:BL N:]:P%=E%+&9754:[OPTE:BL N:LDMIA&D!,{0,1,5}:]:P%=E%+&A2E0:[OPTE:.h:]:P%=E%+M%:L%=E%+&8C*&400:[OPTE:.I
STMFD&D!,{0-3,5-&A}:MOV6,1:MOV&A,2:SWI A:SWI &6008A:MOV1,2:MOV5,#0:.w:LDRB3,[1,5]:CMP3,#32:ADDGE5,5,#1:BGE w:MOV7,5:MVN2,#&80000000:MVN3,#&80000000:MVN4,#0:SWI &60085:MOV1,2:SWI &60088:SWI W:TST8,#4:BLNE G:MOV4,1:MOV0,#784:ADD0,0,#&B:
6,6,0:CMP6,0
LDMNEFD&D!,{0-3,5-&A}:BNE U:CMP4,5,LSL#4:MOVLT4,5,LSL#4:LDMFD&D!,{0-3,5-&A}:B U:.N:STMFD&D!,{0,1,3-5,7,8,&A,&E}:SWI A:SWI &6008A:MOV&A,2:MOV7,5:TST1,#1:TSTNE1,#256:BLNE l:MOV1,2:MVN2,#&80000000:MVN3,#&80000000:MVN4,#0:SWI &60085:MOV1,2:SWI &60088
SWI W:TST8,#4:BLNE G:MOV2,1:LDMFD&D!,{0,1,3-5,7,8,&A,pc}:.l:STMFD&D!,{&E}:LDR1,C:BL L:CMP1,#32:LDMCCFD&D!,{pc}:ADR2,S:STRB1,[2]:MOV1,#0:STRB1,[2,#1]:MOV1,2:MVN2,#&80000000:MVN3,#&80000000:MVN4,#0:MOV5,#1:SWI &60085:MOV1,2:SWI &60088:MUL 2,1,7
LDMFD&D!,{&E}:LDMFD&D!,{0,1,3-5,7,8,&A,pc}:.Py:LDR1,[2,#8]:STR1,C:LDR1,[2],#4:B a:.T:LDR1,[2,#8]:STR1,C:LDR1,[2],#4:B Zy:.C:&0:.L:STMFD&D!,{2-4,&E}:MOV3,1:MOV4,#0:MOV2,#68:CMP3,#1:BLGE h:LDREQB4,[3],#1:TEQEQ4,#92:LDREQB4,[3]:MOV1,4:LDMFD&D!,{2-4,pc}
.O:STMFD&D!,{0-6}:MOV4,1:MOV1,2:MOV5,#0:.R:LDRB3,[1,5]:CMP3,#32:ADDGE5,5,#1:BGE R:MOV2,&E:MOV6,1:MOV&B,#4096:CMP&B,&E,ASR#4:BLT Y:SWI A:SWI &6008A:TST4,#1:TSTNE4,#256:BLNE q:MOV1,2:SWI &60089:MOV1,6:MVN3,#&80000000:MVN4,#0:SWI &60085:MOV&E,5
LDMFD&D!,{0-6}:B P:.Y:MOV&E,&E,ASR#4:LDMFD&D!,{0-6}:B P:.q:STMFD&D!,{&E}:LDR1,C:BL L:CMP1,#32:LDMCCFD&D!,{pc}:MOV&B,2:ADR2,S:STRB1,[2]:MOV1,#0:STRB1,[2,#1]:MOV1,2:MVN2,#&80000000:MVN3,#&80000000:MVN4,#0:MOV5,#1:SWI &60085:MOV1,2:SWI &60088:CMP1,#1
MOVLE&E,#0:BLE K:MOV2,&B:MOV&E,#0:MOV3,1:.V:CMP3,2:ADDLE&E,&E,#1:ADDLE3,3,1:BLE V:.K:LDMFD&D!,{&B}:LDMFD&D!,{0-6}:B P:.k:MOV3,4:LDMFD&D!,{4,5}:STMFD&D!,{6-&C,&E}:MOV&C,3:SWI A:TST1,#256:
Q8,#&C:MVNNE8,#-&10000000:MOV7,#0:MOV1,2:.n:LDRB3,[1,7]
CMP3,#32:ADDGE7,7,#1:BGE n:CMP7,8:MOVGT7,8:MOV3,4:SUB4,5,#22:MOV2,#16+256+&80:MOV5,#0:MOV6,#0:CMP&C,#32:BCS _:SWI W:MOV&C,8:TST8,#1:BEQ J:SUB8,7,#1:MOV&A,#0:.p:LDRB9,[1,8]:.D:CMP9,#32:ADDEQ&A,&A,#1:CMP9,#&8B:BEQ Q:CMP9,#94:BEQ Q:CMP9,#70:BEQ b
CMP9,#40:BEQ g:.Sy:CMP8,#1:SUBGT8,8,#1:BGT p:.J:TST&C,#2:BLNE X:TST&C,#4:SWIEQ &60086:BLNE B:LDMFD&D!,{6-&C,&E}:B F:.g:SUB8,8,#1:LDRB9,[1,8]:CMP9,#&A0:BNE D:B y:.b:SUB&B,7,8:CMP&B,#1:BEQ Sy:CMP&B,#4:BGE J:.Q:SUB8,8,#1:LDRB9,[1,8]:CMP9,#32:BNE D
CMP&A,#0:BNE J:.y:MOV9,7:MOV7,8:TST&C,#4:SWIEQ &60086:BLNE B:ADD1,1,8:SUB7,9,8:MOV8,3:TST&C,#2:BLNE X:STMFD&D!,{1,2,4-7,&A}:MOV&A,1:MVN2,#&80000000:MVN3,#&80000000:MVN4,#0:MOV5,7:SWI &60085:MOV1,2:SWI &60088:TST&C,#4:BLNE G:MOV3,9,LSL#4:SUB3,3,1
ADD3,3,8:LDMFD&D!,{1,2,4-7,&A}:SWI A:TST&C,#4:SWIEQ &60086:BLNE B:LDMFD&D!,{6-&C,&E}:B F:._:CMP7,#0:BEQ My:ADR1,S:STRB&C,[1]:MOV&C,#0:STRB&C,[1,#1]:MOV8,7:MOV7,#1:STMFD&D!,{0-5}:SWI &6008A:MVN2,#&80000000:MVN3,#&80000000:MVN4,#0:MOV5,#1:SWI &60085
MOV1,2:SWI &60088:MOV9,1:LDMFD&D!,{0-5}:.m:SWI &60086:ADD3,3,9:SUBS8,8,#1:BGT m:.My:LDMFD&D!,{6-&C,&E}:B F:.X:CMP7,#0:
Qpc,&E:STMFD&D!,{0-4,7,&E}:CMP7,#20:LDMGEFD&D!,{0-4,7,pc}:SUB2,7,#1:.u:LDRB0,[1,2]:CMP0,#&8B:BEQ f:CMP2,#0:SUBNE2,2,#1:BNE u
LDMFD&D!,{0-4,7,pc}:.f:ADR3,S:MOV0,#0:STRB0,[3,7]:SUB7,7,#1:MOV4,#0:.c:CMP2,4:
Q0,&C,LSR#3:LDRNEB0,[1,4]:STRB0,[3,4]:CMP4,7:ADDNE4,4,#1:BNE c:LDMFD&D!,{0-4,7}:ADR1,S:LDMFD&D!,{pc}:.S:="12345678901234567890":=0:ALIGN:.B:CMP7,#0:
Qpc,&E
STMFD&D!,{0-9,&E}:.s:CMP7,#0:LDMEQFD&D!,{0-9,pc}:MOV8,#0:.d:LDRB9,[1,8]:CMP9,#&80:BEQ Z:CMP9,#&83:BEQ Z:CMP9,#&84:BEQ Z:CMP9,#&88:BEQ Z:CMP9,#&89:BEQ Z:CMP9,#&8A:BEQ Z:CMP9,#&8B:BEQ Z:ADD8,8,#1:CMP8,7:BNE d:SWI A:SWI &60086:LDMFD&D!,{0-9,pc}:.Z
MOV9,7:CMP8,#0:BEQ r:MOV7,8:SWI A:SWI &60086:STMFD&D!,{1,2,4,5,6}:MOV6,3:SWI &6008A:MVN2,#&80000000:MVN3,#&80000000:MVN4,#0:MOV5,7:SWI &60085:MOV1,2:SWI &60088:ADD3,6,1:LDMFD&D!,{1,2,4,5,6}:ADD1,1,7:.r:SWI H:MOV7,#1:SWI &60086:STMFD&D!,{1,2,4,5,6}
MOV6,3:SWI &6008A:MVN2,#&80000000:MVN3,#&80000000:MVN4,#0:MOV5,7:SWI &60085:MOV1,2:SWI &60088:ADD3,6,1:LDMFD&D!,{1,2,4,5,6}:SUB7,9,8:SUB7,7,#1:ADD1,1,#1:B s:.G:CMP7,#0:
Qpc,&E:STMFD&D!,{0,2-&A,&E}:SWI H:SWI &6008A:MOV9,1:MOV8,#0:.`:LDRB6,[&A,8]
CMP6,#&80:BEQ M:CMP6,#&83:BEQ M:CMP6,#&84:BEQ M:CMP6,#&88:BEQ M:CMP6,#&89:BEQ M:CMP6,#&8A:BEQ M:CMP6,#&8B:BEQ M:.j:ADD8,8,#1:CMP8,7:BNE `:MOV1,9:LDMFD&D!,{0,2-&A,pc}:.M:ADD1,&A,8:MVN2,#&80000000:MVN3,#&80000000:MVN4,#0:MOV5,#1:SWI &60085:MOV1,2
SWI &60088:ADD9,9,1:B j:.x:LDMFD&D!,{0,3}:TST1,#256:
Q3,#&C:MVNNE3,#-&10000000:.z:SUBS3,3,#1:LDRCSB0,[2],#1:CMPCS0,#32:BCC Ay:CMP4,#32:MOVCS0,4:SWI &20000:BVC z:.Ay:SWIVC &20100+&D:B F:.e:ADR0,Fy:STMFD0!,{2-7,&A,&B}:MOV&B,0:MOV&A,1:SUB4,2,#22
LDMFD&D!,{0,1}:MOV7,1:MOV1,0:STMFD&D!,{1,7}:SWI A:SWI &6008A:STMFD&D!,{1,2,4,5}:MVN2,#&80000000:MVN3,#&80000000:MVN4,#0:MOV5,7:SWI &60085:MOV1,2:SWI &60088:MOV3,7,LSL#4:SUB3,3,1:MOV3,3,ASR#1:ADD3,3,&A:LDMFD&D!,{1,2,4,5}:MOV2,#16+256+&80:MOV5,#0
MOV6,#0:SWI &60086:MOV0,&B:LDMFD0!,{2-7,&A,&B}:LDMFD&D!,{0,1}:B Cy:&0:&0:&0:&0:&0:&0:&0:&0:&0:&0:&0:&0:&0:&0:&0:&0:&0:&0:.Fy:.o:STMFD&D!,{1-3,&E}:TST1,#64:BNE i:TST1,#-&1000000:
Q1,#2:
Q2,#7:BEQ Ey:MOV4,1:MOV1,4,LSR#28:MOV2,4,LSR#24:
2,2,#&F
TST4,#&200000:MOVNE3,2:MOVNE2,1:MOVNE1,3:TST4,#32:CMPEQ1,#9:
Q1,#1:TST4,#32:CMPEQ1,#&D:
Q1,#1:.Ey:BL v:.i:LDMFD&D!,{1-3,&E}:TST1,#1:B Jy:]:J%=P%:
F%,E$:
30,18,"WindowManager"
,,,Z%:F%=Z%+(Z%!20):E$=
$F%,16,5):
E$<>"3.16 "
"Error Incorrect module version number / already patched. WimpPatch only works with WindowManager v3.16"
2:P%=S%:L%=S%+3*&400:[OPTE:STMFD&D!,{0-4,&E}:MOV4,#0:.t:LDR3,[0,4]:STR3,[1,4]:CMP2,4:ADDGT4,4,#4:BGT t:LDMFD&D!,{0-4,pc}:]:
Z:A=&496C0+&20000:W=&496C1+&20000:H=&496C9+&20000:Wy=&496CA+&20000:By=&496CB+&20000: