> HexPatch , ctrl% 31,name% 127,mem1% 255,mem2% 255  :CloseAll::exit() 9(A$=OS_GetEnv:in1%=0:in2%=0:out%=0:X%=ctrl%:Y%=X%256 @2in1$=cl("",1):in2$=cl("",1):out$=cl("",1):base$=cl("",1) R<in1$="-?":"Usage: HexPatch () ()":exit(0) (Fout$="":out$=in2$:in2$=in1$:in1$="" Pin1$="""""":in1$="" cZin2$="":"Base file: "in1$:"Hexpatch file: "in2$:"Output file: "out$:"Base address: &"base$ LdX%!2=0:in1$<>"":file(in1$,5)<>1:"File '"in1$"' not found":exit(214) Hnload1%=X%!2:exec1%=X%!6:base$<>"":load1%=("&"+base$):exec1%=load1% Nxbase%=load1%&FFFF:file(in2$,5)<>1:"File '"in2$"' not found":exit(214) in1$<>"":in1%=(in1$) in2%=(in2$):out%=(out$) 3:Line:#in2%:in1%:CopyTo(in1%,out%,#in1%) GCloseAll:X%!2=load1%:A%=file(out$,2):X%!6=exec1%:A%=file(out$,3) exit(0): Line -:line$=rd(in2%):#in2% line$,1)=":" line$,1)<>":": num%=("&"+line$,2,2)) addr%=("&"+line$,4,4)) type%=("&"+line$,8,2)) line$=line$,10) type%<>0: num%=0: )num%=addr%-base%:in1%:#in1%>num%: !in1%:CopyTo(in1%,out%,num%) 8"in1%=0:num%=num%-#out%:num%:A%=1num%:#out%,0: ,:in1%:A%=#in1% 6#out%,("&"+line$,2)) @line$=line$,3):line$<3 J TCopyTo(i%,o%,p%):#i%: ^:#o%,#i%: #i%>=p% h rCloseAll '|in1%=in1%:in1%:A%=in1%:in1%=0:#A% 'in2%=in2%:in2%:A%=in2%:in2%=0:#A% 'out%=out%:out%:A%=out%:out%=0:#A%  :ݤOS_GetEnv:A$,A%:X%=1:os%=((&FFF4)&FF00)256:X%-1 Ios%=32:>&FFFF: "GetModuleFileName",0,X%,255:A$=$$X%:run$=A$:=@cmd$ os%=32:A$=$&100 yA$=0:>&7FFF:run$=$&8100: "OS_GetEnv"A$,,A%: "OS_WriteEnv","",A%:A$=A$,1+A$+" "," ",1+A$," "))):A$=0:A$=run$ 2A$=0:?(P-3):A$=$&600 A$=0:A$=$(-&300) 7A%=A$+" "," "):run$=A$,A%-1):run$<>"":=A$,A%+1) bY%=X%256:A%=9:?X%=0:X%!1=X%+16:X%!16=0:&FFD1:A%=X%+16:!A%?A%+A%?2<>8:A%?(A%+1)=13:=$(A%+1) ="" &os(A$):A$=42:A$ A$<>"":A$  @exit(A%):"FX1,"+A%:quit$=quit$:A$=quit$:quit$="":os(A$) os%<6: *Quit  H&ݤcl(l$,n%):l$="":I%=A$+" "," "):l$=A$,I%-1):A$=s(A$,I%+1)):=l$ 0l$=32 A$<>"":A$=" "+A$ b:I%=A$,l$):l$="":I%>0n%>0:l$=A$,A$+" "," ",I%+1)+1):A$,I%,1)<>" ":l$=l$,l$+" "," ")-1) qDI%:A$,I%,1)=" ":A$=A$,2+(A$<>32),I%-2-(I%=1)) I%:A$=A$,I%-1)+A$,A$+" "," ",A$+" "," ",I%)+l$)+1) "NA$=s(A$):n%:=s(l$) =I%<>0 /Xݤs(A$):A$,1)=" ":A$=A$,2):A$,1)<>" " +bA$,1)=" ":A$=A$,A$-1):A$,1)<>" " l=A$ Jvݤfile(A$,A%):os%<32:$name%=A$:?X%=name%:X%?1=name%256:=(&FFDD)&FF (A%=(A$):A%:X%!10=#A%:#A%:=1 =0 ݤrd(in%):A$: 'A%=#in%:A%<>10 A%<>13:A$=A$+A% A%=10 A%=13 #in%:=A$ B(C) {H {h H {h * pq>rps rpqs {۠{L `{{`{{H Ϋ{ {h`p{{{p`Q%=PAGE OLD RUN BASIC