Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!ut-sally!utah-cs!utah-gr!uplherc!esunix!blgardne From: blgardne@esunix.UUCP (Blaine Gardner) Newsgroups: comp.sys.amiga Subject: FastFonts patch (new version) Message-ID: <377@esunix.UUCP> Date: Wed, 24-Jun-87 00:39:45 EDT Article-I.D.: esunix.377 Posted: Wed Jun 24 00:39:45 1987 Date-Received: Fri, 26-Jun-87 06:32:55 EDT Organization: Evans & Sutherland Computer Corporation Lines: 426 Keywords: here we go again Well, it looks like I'm a little too efficient (a first! :-) yesterday I posted the patch program for the FastFonts ScreenBlanker. Now today's mail brings another disk from Microsmiths with an enhanced patcher. This one fixes the ScreenBlanker bug like the first, but also updates FastFonts to version 1.02. Charlie Heath asked that I post this version rather than the first, so kill the first one, and use this one instead. The readme, source, and uuencoded binary are below. ------------------------------------------------------------------------ This is a patch program to upgrade Microsmiths FastFonts V1.01 to V1.02 The patch is to solve a problem with ScreenBlanker and ScreenBlanker2; both of these programs in V1.01 of FastFonts can cause you to drop characters when using a modem program when the blanker dims the screen. Thanks to Blaine Gardner for reporting the problem. Also included is a patch for FF and FastFonts which can improve system performance in multitasking. This patch allows other tasks to run more efficiently while FastText is being displayed; it doesn't make a big difference in most cases, but is included since the ScreenBlanker patch was being released. These three files are copyright (c) 1987 by Microsmiths, Inc, but may be freely distributed as long as all three files are together in their original unmodified condition. For instructions, after de-arcing, type "ffpatch1" from CLI, after copying ScreenBlanker and ScreenBlanker2 (plus FFand FastFonts if you want the multitasking enhancement) to Ram: . If you have questions, please contact: Microsmiths, Inc POBox 561 Cambridge, MA02140 bix:cheath CIS: 74216,2117 ------------------------------------------------------------------------ /*FFPatch1.c */ /* This program installs patches in Microsmiths ScreenBlanker V1.01 */ /* to solve a bug which can cause comm programs to loose characters */ /* when the ScreenBlanker or ScreenBlanker2 blank the screen. */ /* Also included is a patch to improve multitasking performance when */ /*running FFor FastFonts. */ /* This patch program will only work with V1.01 FastFonts, though */ /* the patches will notbe installed if the wrong version is used. */ /* Microsmiths, Inc */ /* POBox 561 */ /* Cambridge, MA02140 */ /* bix:cheath CIS:74216,2117 */ #include /*Patches to install for ScreenBlanker */ static long SB1[] = { 1561, -120,124, 1691, -126,118, 0 }; /*Patches to install for ScreenBlanker2 */ static long SB2[] = { 1571, -120,124, 1651, -126,118, 0 }; /*Patches to install for FF */ static long FF1[] = { 637, 10,50, 638, 67,32, 639, 111,67, 640, 112,111, 641, 121,112, 642, 114,121, 643, 105,114, 644, 103,105, 645, 104,103, 646, 116,104, 647, 32,116, 648, 40,32, 649, 99,32, 650, 41,-87, 1911, -114,-112, 1967, -114,-112, 2219, 86,88, 2303, 117,-18, 2304, 0,-1, 2305, 0,28, 2537, 95,111, 0 }; /*Patches to install for FastFonts */ static long FastFonts1[] = { 958, -101,50, 959, 48,-101, 960, 59,48, 961, 51,59, 962, 49,51, 963, 59,49, 964, 52,59, 965, 48,52, 966, 109,48, 967, 10,109, 968, 67,32, 969, 111,67, 970, 112,111, 971, 121,112, 972, 114,121, 973, 105,114, 974, 103,105, 975, 104,103, 976, 116,104, 977, 32,116, 978, 40,32, 979, 99,-87, 980, 41,32, 4817, -114,-112, 4873, -114,-112, 5125, 86,88, 5209, 117,-18, 5210, 0,-1, 5211, 0,28, 5993, 95,111, 0 }; main(argc,argv) int argc; char *argv[]; { printf("Patch program 1987,Microsmiths Inc\n\n"); if (argc != 2 ||strcmp(argv[1],"OK" ) != 0 ) { printf("This patch solves a bug which can cause telecom programs to loose\n"); printf("characters when either version of 1.01 ScreenBlanker is running.\n"); printf("It can also improve multitasking system performance of FF& FastFonts.\n\n"); printf("To run this program, COPYboth ScreenSaver and ScreenSaver2 from your\n"); printf("FastFonts V1.01 disk to RAM: . Also copy FFand FastFonts V1.01 to RAM:\n"); printf("if you want the performance enhancement.\n\n"); printf("Then run this program with command line:\n"); printf("1> FFPatch1 OK\n\n"); printf("This will leave the patched programs in RAM:\n"); exit(1); } do_patch("ram:ScreenBlanker", SB1 ); do_patch("ram:ScreenBlanker2", SB2); do_patch("ram:FF",FF1); do_patch("ram:FastFonts",FastFonts1); printf("\nFinished - now copy the programs from Ram: to your working disks\n"); printf(" and thank you for your support...\n ...cheath\n"); } do_patch(filename, patcharray ) char *filename; long *patcharray; { FILE *fhand; char cval[1]; long fpos; long *ptr; printf("Patching %s ...\n",filename); if ((fhand = fopen(filename, "r+")) == 0L) { printf(" Can't find %s - skipping\n",filename); return 0; } /*First verify all read values */ for (ptr=patcharray; fpos = *ptr++; ) { if (fseek(fhand, fpos, 0L) != 0 ) do_error(filename,"Error seeking in file"); if (fread(cval,1,1,fhand) == 0 ) do_error(filename,"Error reading file"); if (cval[0] != *ptr++) { printf(" Error verifying %s - wrong version?\n Skipping %s\n",filename,filename); return 0; } ptr++; } /*Next, install the patches */ for (ptr=patcharray; fpos = *ptr++; ) { if (fseek(fhand, fpos, 0L) != 0 ) do_error(filename,"Error seeking in file"); ptr++; /*Skip verify value */ cval[0] = *ptr++; if (fwrite(cval,1,1,fhand) == 0 ) do_error(filename,"Error writing new value to file"); } if (fclose(fhand) != 0 ) do_error(filename,"Error closing file"); printf(" Completed patch for %s\n",filename); return 1; } do_error(err1,err2) char *err1,*err2; { printf("\n Error patching file %s\n %s\n\nAborting Patches!\n",err1,err2); exit(20); } ------------------------------------------------------------------------ begin 777 ffpatch1 M #\P # ( :C !=P $ /I &HT[Z"/I. M50 2'H VDZZ#O183PQM ( "&862'H \"!M HO* $3KH.FE!/2D!G9$AZ M -U.N@[,6$](>@$63KH.PEA/2'H!3DZZ#KA83TAZ 8U.N@ZN6$](>@'*3KH. MI%A/2'H""4ZZ#II83TAZ BI.N@Z06$](>@)*3KH.AEA/2'H"44ZZ#GQ83S\\ M %.NA>:5$](;( "2'H"9TZZ Q!03TAL@!Y(>@)K3KH# E!/2&R .DAZ G!. MN@+T4$](;($Z2'H":4ZZ N903TAZ FU.N@XP6$](>@*F3KH.)EA/3EU.=5!A M=&-H('!R;V=R86T@J2 Q.3@W+*!-:6-R;W-M:71H6]U M<@H 1F%S=$9O;G1S(%8Q+C Q(&1I2!& M1J!A;F0@1F%S=$9O;G1S(%8Q+C Q('1O(%)!33H* &EF('EO=2!W86YT('1H M92!P97)F;W)M86YC92!E;FAA;F-E;65N="X*"@!4:&5N(')U;B!T:&ES('!R M;V=R86T@=VET:"!C;VUM86YD(&QI;F4Z"@ Q/B!&1E!A=&-H,2!/2PH* %1H M:7,@=VEL;"!L96%V92!T:&4@<&%T8VAE9"!P6]U(&9O%BM__(@;?_R6*W_\BM0__9F /]R*VT #/_R8&!"IR\M__8O+?_\3KH" M+D_O Q*0&<.2'H!$2\M A.N@%L4$]8K?_R(&W_\EBM__(;: #__LO+?_\ M/SP 3\\ %(;?_[3KH"M$_O Q*0&8.2'H ZR\M A.N@$P4$\@;?_R6*W_ M\BM0__9FDB\M__Q.N@\^6$]*0&<.2'H X2\M A.N@$&4$\O+0 (2'H XDZZ M">103W !8 #^OE!A=&-H:6YG("5S("XN+@H @ 83KH(VD_O M P_/ 43KH1]E1/3EU.=0H)17)R;W(@<&%T8VAI;F<@9FEL92 EH !&5F$"H #, \ M !AG"G#_3-\$$$Y=3G4(J@ " Q*J@ (9@@O"DZZ#=!83S\J ! O*@ ($"H M#4B /P!.N@7R4$\X $I ;A)*1&8$< A@ G 0@2H #'#_8+8P!$C )*H "-"J M @E0 $(%)2DA 02(# ? #_8)A.50 +PI.N@U )$!*@&8(< D7TY=3G4O M"B\M PO+0 (809/[P ,8.A.50 2.<(("\M !!.N@NH6$]![(*F)$A*$F80 M.7P !H4V< !,WP003EU.=2\M PO"DZZ!@A03TI 9P1O^P3G5.5?_\2.<.,$*G M2'H"UDZZ$/A03RE A49F%$*G2'D X '3KH0@E!/+FR%.$YU0J=.NA"F6$\F M0$JK *QG 'D(&R%." LA3B0J $4( I0(56(&R%5B"\34%.6" K *SE@"H M($4@* 0Y8 D0! 22(!(P-"M A4@#E A41"IS LA41(P"\ 3KH00%!/*4"% M7A 22( _ "!*4H@O""\LA5Y.N@).3^\ "DAZ D(0$DB 2,#0K(5>+P!.N@3J M4$\_+0 *+RT #"\LA5Y.N@2$3^\ "D)LA4(D;(5>*TH #! 22(!20$'L@NX( M, $ !G!%**8.H,$@ @;7H,$@ B9C92BB!*4HH0$$B . !G)B!M Q2K0 , M$(2X? B9A0,$@ B9@12BF *(&T #$(H__]@ F#.8#(@2E**$!!(@#@ 9QPR M!%)!0^R"[@@Q 00 &8,(&T #%*M P0A(&T #%*M Q"$$I$9PA2;(5" M8 #_;"!M Q"$$*G,"R%0E) 2,#E@"\ 3KH//E!/*4"%6G@ )&R%7F >< P M!.6 (&R%6B&*" O"DZZ"'183U) 2,#5P%)$N&R%0F7<< P!.6 (&R%6D*P M" !.N@Y@*4"%9CE\@ "%:DZZ#HHI0(5L.7R 85P2'@#[4AZ 0!.N@YF4$\I M0(5R.7P 85V.7P 85 +RR%6C\LA4).NO2F7$]"9TZZ#,143V +H@*P Z M4( I0(56(&R%5B"\34%.6$AK %Q.N@[V6$](:P!<3KH.MEA/*4"%8B!LA6)* MJ D9Q @;(5B(F@ )"\13KH-J%A/(&R%8DJH "!G5$AX ^T@;(5B+R@ ($ZZ M#=I03RE A69G/"ELA6:%0 @ "H 3.\# $( @R+P ,8 (0V5?)__QG M!E)!8 )"&%')__Q.=4Y5 !(YPP@."T "$ZZ"VHP!,'\ 9![(5F)$#5R$I$ M;0JX? 3;@1*DF80.7P X4VQ\"& *P(+0 ! QG,$AX__\O"DZZ M#&103R@ 9R O!$ZZ#)A83R\*3KH,'%A/2H!F#$ZZ##(\ +!\ ,UF@!Z+P1.N@Q&3^\ #$AX__]"IR\$3KH,'$_O Q@)C M S M? 4 L'P% &88+P1.N@N$6$]\!3E&A39P_TS?#'!.74YU, 7!_ &)X0( # % MP?P !B! TR%9B1 UR"[@@P ( &;4N'P +F9:($M2BQ 02( X +!\ "IF M&"!M__Q4K?_\.U#_]"!+4HL0$$B . !@,D)M__1@'# M__3!_ *T$20? P M.T#_]"!+4HL0$$B . P!%) 0>R"[@@P ( &;4.WP O_PN'P ;&82($M2 MBQ 02( X #M\ 3_\& 0N'P :&8*($M2BQ 02( X # $2,!@>#M\ C_[F 6 M.WP "O_N8 X[? 0_^Y@!CM\__;_[C\M__!(;?\P/RW_[B\M__Q.NOWD3^\ M#"M _^HP+?_P2,#1K?_\8%H@;?_\6*W__"M0_^HO+?_J3KH"#%A/.T#_\&!* M(&W__%2M__PX$$'M_R\K2/_J$(1@*)"\ 8V?B4X!GE)"\ "V< _W19 M@&>T58!G /]R5X!G /]T8,Q![?\PD>W_ZCM(__ P+?_PL&W_]&\&.VW_]/_P M2FW_^&=H(&W_Z@P0 "UG"B)M_^H,$0 K9BX,;0 P__9F)E-M__(@;?_J4JW_ MZA 02( _ $Z25$^P?/__9@IP_TS?#!!.74YU8!8_+?_V3I)43[!\__]F!'#_ M8.12;?_Z,"W_\E-M__*P;?_P;MQ";?_N8" @;?_J4JW_ZA 02( _ $Z25$^P M?/__9@1P_V"P4FW_[B!M_^I*$&<*,"W_[K!M__1MSC M_^[1;?_Z2FW_^&8H M8!@_/ @3I)43[!\__]F!G#_8 #_>%)M__HP+?_R4VW_\K!M__!NVF 6/P1. MDE1/L'S__V8& @"F8*R#<"1(2BH #&<8U?P 60>R%*+7(90AP "1?3EU.=6#B0I)" MJ@ $0JH "" *8.I.5?_\+PHD;0 (/SP$ $ZZ ,!43RM __QF\ $ $" * MT+P .)4 ""1?3EU.=35\! $ CJ $ #"5M__P "! J U(@#\ 3KH MXE1/2D!G!@ J ( #&#.3E4 $CG # D;(4R8!0F4B J 10@"\ +PI.N@/B M4$\D2R *9NA"K(4R3-\, $Y=3G5.50 +PI!^O_&*4B%+$*G("T "%" +P!. MN@.04$\D0$J 9@AP "1?3EU.=22LA3(E;0 ( 0I2H4R( I0@&#F3E4 ' M,"T ""\ 8;)83TY=3G5.50 2.< ,)?+)&R%,F .(&T "%&(LR%9B\P" !.N@)J6$]*@&<$< %@ G 3EU.=4Y5 O M+0 (3KH")EA/2H!F#DZZ CPY0(4V $2'H '$ZZ :8O $ZZ =!/[P , M/SP 4ZZ I43V#.7D,* $Y5 !*K(4H9P8@;(4H3I _+0 (3KH "%1/3EU. M=4Y5__Y";?_^/RW__DZZ *943U)M__X,;0 4__YMZDJLA2QG!B!LA2Q.D$JL MA4YG"B\LA4Y.N@&,6$]*K(5*9PHO+(5*3KH!?%A/2JR%4F<*+RR%4DZZ 6Q8 M3TJLA6)F.# LA41(P"\ +RR%7DZZ 8)03S LA4)20$C Y8 O "\LA5I.N@%L M4$\P+0 (2, O $ZZ )983V 83KH!3B\LA6).N@%Z6$\@+0 (+FR%.$YU3EU. M=4Y5 !(YPX@."T "# $P?P !D'LA68D0-7(2D1M"KA\ !-N!$J29A Y? # MA39P_TS?!'!.74YU,"H !,!\@ !F""\23KH "EA/0I)P &#@(B\ !"QLA49. M[O_<(B\ !"QLA49.[O^"(B\ !"QLA49.[O^X(B\ !"QLA49.[O]P+&R%1D[N M_\HL;(5&3N[_?"(O 0L;(5&3N[_*$SO 8 !"QLA49.[O^L3.\ !@ $+&R% M1D[N_^(L;(5&3N[_Q$SO X !"QLA49.[O_63.\ #@ $+&R%1D[N_[XB+P $ M+&R%1D[N_Z9,[P . 0L;(5&3N[_T$CG 01,[R" PL;(4\3J[_E$S?((!. M=2)O 0L;(4\3N[^8DSO , !"QLA3Q.[O\Z(F\ !"QLA3Q.[O[:+&R%/$[N M_WPB;P $("\ ""QLA3Q.[O\N(&\ !"QLA3Q.[OZ,+&R%/")O 0@+P (3N[] MV")O 0L;(4\3N[^ADSO , !"QLA3Q.[O[.(&\ !"QLA3Q.[OZ /L M 0 C^ _( /J !3 !AG___^( ? !IO_ M__^" =@ 8C____B 'P 9S____@@ '8 "?0 M H R "?@ $, @ "?P &\ !# "@ ' !O " M@0 'D !P "@@ '( !Y "@P &D !R "A &< !I M "A0 &@ !G "A@ '0 !H "AP " !T "B "@ M @ "B0 &, @ "B@ "G___^I '=____X[___^0 'K___ M_X[___^0 (JP %8 !8 (_P '7____N ) #_____ ) M 0 < )Z0 %\ !O [[___^; ,@ [\ P M____FP \ [ , \$ S .P \( Q ,P \, M [ ,0 \0 T .P \4 P - \8 !M , M \< * ;0 \@ !# ( \D !O 0P \H !P M;P \L !Y < \P !R >0 \T !I <@ \X !G M :0 \\ !H 9P ] !T : ]$ @ = ]( M H ( ], !C____J0 ]0 I ( $M'___^.____D M$PG___^.____D % 4 !6 6 %%D !U____[@ %%H ____ M_P %%L ' %VD !? ;P !R !R*P )W M P%W*P P)A "0%A*P "0)X !0%X*P !0( P,3(S-#4V M-S@Y86)C9&5F (" @(" @(" @,# P,# @(" @(" @(" @(" @(" @(""0 M0$! 0$! 0$! 0$! 0$! # P,# P,# P,#$! 0$! 0$ )"0D)"0D! 0$! 0$! M 0$! 0$! 0$! 0$! 4! 0$! 0 H*"@H*"@(" @(" @(" @(" @(" @(" @(" M0$! 0" 0 ! $! M 0 ! @ $ M M M M M M M M 6 #\@ ^L ! #\@ end ------------------------------------------------------------------------ -- Blaine Gardner @ Evans & Sutherland UUCP Address: {ihnp4,decvax}!decwrl!esunix!blgardne Alternate: {ihnp4,seismo}!utah-cs!utah-gr!uplherc!esunix!blgardne