[comp.sys.amiga] BlitzFonts query reply

kim@amdahl.amdahl.com (Kim DeVaughn) (05/12/87)

[ For all you do ... this line's for you ... ]

I tried replying to  gary@ll-xn  in several ways, but they all bounced.
Since this is probably of interest to others, I'm posting my reply
here:


> What is BlitzFonts?  You mentioned using it to make text scroll faster...

That's exactly what it is ... a program that "hooks" itself into AmigaDOS
(the console.device ?) that speeds up the display of text output.  I dunno
how it accomplishes this, and am just guessing that it installs itself in
front of the console.device.

Anyway, it's a Shareware program, and one version (that only works for
Topaz 8) is on Fish Disk #60.  It's written by Hayes Haugen, and for $10,
he'll register you and send you additional versions that work with other
fonts (sizes and types).  Yes, I did send him some $$'s, as it's a really
nice enhancement!  Recommended!

There is also a product called FastFonts by the Microsmith folks that I
believe does something similar (and possibly has more features), but it's
in the $50 price range.  Anyone care to give a mini-review of FastFonts?

Since I haven't seen BlitzFonts posted to the net (and since it's relatively
small), I'm attaching a uuencoded shar archive of the freely redistributable
version.  Hope you find it as useful as I have!

/kim



# This is a shell archive.  Remove anything before this line, then
# unpack it by saving it in a file and typing "sh file".  (Files
# unpacked will be owned by you and have default permissions.)
#
# This archive contains:
# README BlitzFonts.uue Fonts.info.uue

echo x - README
cat > "README" << '//E*O*F README//'
            //             --  BLITZFONTS  --              //
          \X/                  ~~~~~~~~~~                \X/
                           by Hayes C. Haugen


    BlitzFonts: makes text output up to 6 times faster.  It will increase text
output speeds on 99% of your Amiga programs that use the Topaz 80 font.  This
means faster screen updates in:  AmigaBasic, Scribble!, OnLine!, Comm, LSE,
uEdit, Ed, Textcraft Plus, all Infocom Releases, V.I.P. Pro, MicroEmacs, and
many, many more!  Intuition menus are also sped up.  How do you get this
great speed-up?  Just type in 'BlitzFonts' from your CLI, or double-click on
it's icon from the workbench.  Smart users will immediately put BlitzFonts in
their startup-sequence so that it is there every time they boot.  The
installed BlitzFonts takes a meager 3072 bytes and is written in 100% assembly
language for maximum speed.

Benchmarks:
~~~~~~~~~~~
                 Blitzfonts   |   System Text()   |   Percent increase
----------------------------------------------------------------------
4000 x 80 chars     13.41 secs          78.65 secs         586%


     This benchmark is a best-case scenario only; most text output is only
2-3 times as fast due to application (the program your running) overhead.  Use
the 586% speed increase as a comparison, though I don't believe you can do
generalized text output any faster on the Amiga.  BlitzFonts is completely
transparent to the user, the programmer and the program (even copy-protected
ones).  BlitzFonts still allows the system text routines to work with custom
fonts.  If for some reason, a program will not run with BlitzFonts (I have yet
to find one that won't) typing 'BlitzFonts -r' will remove the fast font
routines and restore your Amiga to its normal/slow state.
     This program is being offered as ShareWare.  Please give a copy of this
version of BlitzFonts to every Amiga owner you know, and feel free to post it
on any electronic bulletin boards or networks, or include it in any public
domain/ShareWare compilation that sells for $8 or less (so long as you keep
this notice and BlitzFonts together and unmodified.)  When you use BlitzFonts
and realize how much better your life truly is, send a $10 or more contribution
to me, the author, at:

          Hayes Haugen
          11303 South Dogwood Lane
          Edmonds, WA   98020-6168

In return, you will receive a disk with the latest version of BlitzFonts with
more features, and other shareware by me.  Contributions of less than $10 are
greatly appreciated, and you will be added to my mailing list, but cost
prohibits me from sending you a disk.  If you already own one of my other
ShareWare programs, let me know which one and I will also send you a free
update to that program.

Features that are in the upgraded version:  allows you to use any font that
is 8 pixels wide as the BlitzFont (i.e. Topaz 11), and also speeds up boldface
and italics.  Suggestions for more features or other programs are welcome.

                    ======>   PLEASE NOTE!  <=======

   This is my third ShareWare release, and I am sorry to say that there are
very few honest Amiga users who have chosen to support my efforts.  BlitzFonts
cost you nothing to get, I only ask for a small contribution!  If you'd rather
you can go buy MicroSmith's Fast Fonts, but that will cost you $34.95, and you
won't be able to legally give copies to your friends.  I will continue to
support my current programs, but if BlitzFonts doesn't do well, this will be
my last ShareWare release. 

Other ShareWare by me:
~~~~~~~~~~~~~~~~~~~~~~
X-Spell.....a 30,000 word spelling checker that checks any document with text
            in it (Textcraft, Scribble, any editor).  Will also suggest
            alternate spellings and allow you to replace the incorrect word
            with any word of your choice ($15).

Blitz.......a text viewer with the FASTEST screen updates on the Amiga.  Also
            allows saving of selected portions of the document, and simple
            modifications of the text ($10).


   BlitzFonts is copyright 1987 by Hayes C. Haugen, all rights except for
limited non-commercial distribution are reserved.  BlitzFonts may not be
given away or sold independently or with any other program, except as detailed
above.  Companies and ShareWare authors may license BlitzFonts for inclusion
in their own programs, please contact the author at the above address for
details.  All warranties whether expressed or implied are non-existent.  The
user assumes all risk in using this program, and under no circumstances will
the author or anyone related to him (or his friends) be held liable for any
damages, however extreme or minor, caused directly or indirectly by BlitzFonts.

//E*O*F README//

echo x - BlitzFonts.uue
cat > "BlitzFonts.uue" << '//E*O*F BlitzFonts.uue//'
begin 755 BlitzFonts
M   #\P         #          (   7>0   V@    $   /I   %WD[Z" A.
M50  +RT ""!M  PO*  $3KH"O%!/8   G$AZ *Y.N@N"6$]@  "@2'H TDZZ
M"W183V   ))(>@$23KH+9EA/2'H!+DZZ"UQ83TAZ 59.N@M26$](>@%>3KH+
M2%A/2'H!;4ZZ"SY83TAZ 7-.N@LT6$](>@%]3KH+*EA/2'H!CTZZ"R!83TAZ
M <].N@L66$]@-$AZ =1.N@L*6$]@*$AZ ?=.N@K^6$]@'/]6_V3_<O_._]JP
MO     5D"N. ,#L ZD[[  !.74YU17)R;W(Z("!N;W0@96YO=6=H(&UE;6]R
M>2!T;R!I;G-T86QL($)L:71Z1F]N=',N"@!";&ET>D9O;G1S(&EN<W1A;&QE
M9"X@*$,I(#$Y.#<@8GD@2&%Y97,@2&%U9V5N+B @5&5X="!O=71P=70@:7,@
M;F]W('-P960@=7 N"@ *0FQI='I&;VYT<R H0RD@,3DX-R!(87EE<R!#+B!(
M875G96X* $UA:V5S('1O<&%Z(#@P('1E>'0@;W5T<'5T('5P('1O(#8@=&EM
M97,@9F%S=&5R+@H =7-E("UR('1O(')E;6]V90H 4V5N9"!C;VYT<FEB=71I
M;VYS('1O.@H* " @2&%Y97,@2&%U9V5N"@ @(#$Q,S S(%,N($1O9W=O;V0*
M " @161M;VYD<RP@5T$@(#DX,#(P+38Q-C@*"@!#;VYT<FEB=71I;VYS(&]F
M("0Q,"!O<B!G<F5A=&5R('=I;&P@<F5C96EV92!A(&1I<VL@=R]T:&4@;&%T
M97-T('9E<G-I;VX* &]F($)L:71Z1F]N=',N"@H 56YA8FQE('1O(')E;6]V
M92!";&ET>D9O;G1S.R!C86XG="!F:6YD('1H96TN"@!";&ET>D9O;G1S(')E
M;6]V960L('!R979I;W5S('1E>'0@<F]U=&EN97,@<F5S=&]R960N"@  (&\ 
M!" O  A(YP\^L'P  6,6#!  +6<$< )@& PH '(  6;T811@#&$  *(O &$ 
M D@@'TS??/!.=2QX  1#^0    !P $ZN_=A*@&=Z(\     D+'D    D(&[_
MQB1(T?P   $/0_H$JW *LPAF6%'(__HM:@#^_\8L>  $1^H! B)K  0@/   
M" !.KO\N(FL "" \   "T$ZN_RXB4RQY    )$ZN_[(L>  $(DH@.0   %Q.
MKO\N(GD    D3J[^8G $3G5P TYU+'@ !$/Y     '  3J[]V$J 9P !E"/ 
M    )"(\  $  " \   ( $ZN_SI*@&<  7@CP    #PB/  !  (@/    M!.
MKO\Z2H!G  %<(\    ! (CP  0  (#D   !<3J[_.DJ 9P !0"/     1" \
M   ! "(\  $  $ZN_SI*@&<  20CP    #AP*"(\  $  $ZN_SI*@&<  0PC
MP    #!P4B(\  $  $ZN_SI*@&<  /0CP    "PL>0   "0@>0   #!P 2(\
M   " '0@3J[^>B \   " '(@3J[^%$J 9P  PB!Y    ,"%   @CP    #0B
M>0   "Q.KO\Z(GD    L(WD    P  1P $ZN_Q9!^0   $A.KO^X2H!G  "$
M(GD    L($!.KO^^(GD    L(^D -   !]AA  %42H!G8"QY    )"/N_\0 
M  ?2,^[_R   !]9!^@+:(7D    \  0A>0   $  "$'Z <0B>0   $0@.0  
M %Q3@!+84<C__"UY    1/_&0KD   !$0KD    \0KD   ! < %.=7  3G5*
MN0   #1G&"QY    )"!Y    -" \   " '(@3J[^#DJY    /&<:(GD    \
M(#P   @ +'@ !$ZN_RY"N0   #Q*N0   $!G&B)Y    0" \   "T"QX  1.
MKO\N0KD   ! 2KD   !$9QH@.0   %PB>0   $0L>  $3J[_+D*Y    1"QX
M  1*N0   #!G#")Y    ,' H3J[_+DJY    +&<,(GD    L<%).KO\N2KD 
M   D9Q B>0   "1.KOYB0KD    D2KD    X9Q8B>0   #@@/    0!.KO\N
M0KD    X3G4@>0   #AP !# 4@"P/   9O8L>0   "0B>0   "QP TZN_JIP
M ")Y    +$ZN_J0B>0   "QP 4ZN_IYZ!BIY    ."1Y    -"9Y    /'  
M(@4B>0   "Q.KO\0($UP0")Y    +$ZN_\1.KO\<($IR/W '%M#1_    $!1
MR/_V4HH@2E')_^S5_    <!01=O\    0+I\ "9FLG !3G5(YW]\L'P 6V0 
M .Y*@&<  .A%^@#N(A*RJ0 T9@  VDHI #AF  #2*&H "'X + I**@ ,9RA(
MYX#"(CP  0 "(#P   +0+'@ !$ZN_SHN "A 3-]# 4J'9P  F& &%7P  0 ,
M(A%G!BI!3J[^4"I,)&H !"@ 4T!T !08YTI'\B  &-L96P!9&5L LQE; 0T9
M6P%G&5L!P1E; AL96P)U4<C_UB!-< !R6G8 -"D )#8I "9=0^>,V6D )'H(
M*DE.KO\<3J[_W" 59P8J0$ZN_DI*AV<6(D<@/    M O#BQX  1.KO\N+%]@
M!B)&0BD #$S?/OY.=4S?/OX                         <UUE77E7861H
M3FUU;TYR=68,;K-E>VQ.;W5T3G-U $YU     $/Y_____"A1V<S9S-G\  " 
M D/L@K9%[(*VM<EF#C(\ "QK"'0 (L)1R?_\0_K_SB*,*4^"NBQX  0I3H*^
M2.> @$ZZ  Q03TYU*'K_L$YU3E7__$CG#C!"ITAZ M9.N@[64$\I0(+"9A1"
MITAY  . !TZZ#F!03RYL@KI.=4*G3KH.A%A/)D!*JP"L9P !Y"!L@KH@+(*Z
MD*@ !%" *4""TB!L@M(@O$U!3E@@*P"LY8 J "!%("@ $.6 )$ 0$DB 2,#0
MK0 (5( I0(+B0J<O+(+B3KH.(E!/*4""ZA 22(!(P"\ ($I2B"\(+RR"ZDZZ
M E!/[P ,2'H"1! 22(!(P-"L@NHO $ZZ H)03R M  A2@"\ +RT #"\L@NI.
MN@)*3^\ #$*L@MXD;(+J*TH #! 22(!(P$'L@'4(,  $" !G!%**8.H,$@ @
M;78,$@ B9C92BB!*4HH0$$B . !G)B!M  Q2K0 ,$(2X?  B9A0,$@ B9@12
MBF *(&T #$(H__]@ F#.8"X@2E**$!!(@#@ 9QA#[(!U"#$ !$  9@P@;0 ,
M4JT #!"$8-P@;0 ,4JT #$(02D1G"%*L@MY@ /]P(&T #$(00J<@+(+>4H#E
M@"\ 3KH-(%!/*4""YG@ )&R"ZF <<  P!.6 (&R"YB&*"  O"DZZ!DQ83U* 
MU<!21'  , 2PK(+>9=IP # $Y8 @;(+F0K ( $ZZ#'8I0(+R.7R  (+V3KH,
MDBE @O@Y?( !@OQ(> /M2'H! DZZ#&Y03RE @OXY?  !@P(I?     &"VB\L
M@N8O+(+>3KKUF%!/0J=.N@JV6$]@  "Z("L .E" *4""TB!L@M(@O$U!3EA(
M:P!<3KH,U%A/2&L 7$ZZ#)183RE @NX@;(+N2J@ )&<0(&R"[B)H "0O$4ZZ
M"[Q83R!L@NY*J  @9U1(> /M(&R"[B\H "!.N@O@4$\I0(+R9SPI;(+R@OXI
M;(+R@O@G;(+R * G:P"@ )Q";(+V.7P  8,".7P  8+\("R"\N6 *T#__"!M
M__PG:  ( *0O+(+N0J=.NO3<4$]"ITZZ"?I83TS?#'!.74YU9&]S+FQI8G)A
M<GD (  J $SO P  !" ((B\ #& "$-E7R?_\9P9206 "0AA1R?_\3G4P/'__
M8 0P+P .(&\ !$H89OQ32")O  A30!#95\C__$(@("\ !$YU(&\ !" ((F\ 
M"!#99OQ.=4Y5  !(;0 ,+RT "$AZ!*Y.N@"03^\ #$Y=3G5.50  2.<(("1M
M ! ,K0    0 %&8((&T ""@08!1*K0 ,;P@@;0 (*!!@!B!M  @H$$*M !1*
MK0 ,;!)$K0 ,2H1L"D2$*WP    ! !0B+0 ,( 1.N@/20>R 8E.*%+ ( "(M
M  P@!$ZZ \HH &;>2JT %&<&4XH4O  M( I,WP003EU.=4Y5_Q1(YP@P)&T 
M""9M  Q"K?_X*VT $/_\($M2BQ 02(!(P"@ 9P #,+B\    )68  PI"+?\B
M*WP    !__0K?    "#_\"M\   G$/_L($M2BQ 02(!(P"@ L+P    M9A!"
MK?_T($M2BQ 02(!(P"@ N+P    P9A0K?    ##_\"!+4HL0$$B 2, H +B\
M    *F8:(&W__%BM__PK4/_H($M2BQ 02(!(P"@ 8#1"K?_H8")R"B M_^A.
MN@E"T(20O    # K0/_H($M2BQ 02(!(P"@ 0>R =0@P  )( &;2N+P    N
M9F(@2U*+$!!(@$C * "PO    "IF&B!M__Q8K?_\*U#_["!+4HL0$$B 2, H
M & T0JW_[& B<@H@+?_L3KH(V-"$D+P    P*T#_["!+4HL0$$B 2, H $'L
M@'4(,  "2 !FTBM\    !/_DN+P   !L9A8@2U*+$!!(@$C *  K?     3_
MY& 4N+P   !H9@P@2U*+$!!(@$C *  @!&!^*WP    (_^!@'"M\    "O_@
M8!(K?    !#_X& (*WS____V_^ O+?_D2&W_(B\M_^ O+?_\3KK]M$_O ! K
M0/_<("W_Y-&M__Q@6B!M__Q8K?_\*U#_W"\M_]Q.N@(<6$\K0/_D8$H@;?_\
M6*W__"@00>W_(2M(_]P0A& HD+P   !C9^)3@&>4D+P    +9P#_;EF 9[15
M@&< _VY7@&< _W)@S$'M_R*1[?_<*TC_Y" M_^2PK?_L;P8K;?_L_^1*K?_T
M9W @;?_<#!  +6<*(FW_W P1 "MF- RM    ,/_P9BI3K?_H(&W_W%*M_]P0
M$$B 2, O $Z26$^PO/____]F"G#_3-\,$$Y=3G5@&"\M__!.DEA/L+S_____
M9@1P_V#B4JW_^" M_^A3K?_HL*W_Y&[:0JW_X& D(&W_W%*M_]P0$$B 2, O
M $Z26$^PO/____]F!'#_8*I2K?_@(&W_W$H09PH@+?_@L*W_[&W*("W_X-&M
M__A*K?_T9BI@&DAX "!.DEA/L+S_____9@9P_V  _W!2K?_X("W_Z%.M_^BP
MK?_D;MA@&"\$3I)83["\_____V8&</]@ /](4JW_^&  _,0@+?_X8 #_.$CG
M2 !"A$J :@1$@%)$2H%J!D2!"D0  6$^2D1G D2 3-\ $DJ 3G5(YT@ 0H1*
M@&H$1(!21$J!:@)$@6$:( %@V"\!81(@ 2(?2H!.=2\!808B'TJ 3G5(YS  
M2$%*068@2$$V 30 0D!(0(##(@!(0#("@L,P 4)!2$%,WP ,3G5(028!(@!"
M04A!2$!"0'0/T(#3@;:!8@22@U) 4<K_\DS?  Q.=2!O  0@"$H89OR1P" (
M4X!.=4Y5  !(;($,+RT "$ZZ  A03TY=3G5.50  +P0H+0 (+RT #"\$3KH 
M-%!/N+P    *9B8@;0 ,$"@ #$B 2, (   '9Q1(>/__+RT #$ZZ /Y03R@?
M3EU.=6#X3E4  "\*)&T #"!2L>H !&4:("T ","\    _R\ +PI.N@#04$\D
M7TY=3G4@4E*2$"T "Q" 2(!(P,"\    _V#D3E4  "\*0>R ]B1(($K5_   
M !8O"&$06$]![(*NM<AEZB1?3EU.=4Y5  !(YP@@)&T "'@ ( IF"G#_3-\$
M$$Y=3G5**@ ,9U0(*@ "  QG#$AX__\O"F%64$\H ! J  U(@$C +P!.N@2*
M6$^(@ @J  $ #&<*+RH "$ZZ CQ83P@J  4 #&<4+RH $DZZ J!83R\J !).
MN@(@6$]"DD*J  1"J@ (0BH #" $8(Q.5?_^2.<(("1M  A!^O]"*4B"K@@J
M  0 #&<*</],WP003EU.=0@J  ( #&<R*!*8J@ (+P0O*@ ($"H #4B 2, O
M $ZZ EY/[P ,L(1G$ CJ  0 #$*20JH !'#_8+X,K?____\ #&80"*H  @ ,
M0I)"J@ $< !@I$JJ  AF""\*3KH I%A/#&H  0 09C ;;0 /__](>  !2&W_
M_Q J  U(@$C +P!.N@'Z3^\ #+"\     6:8("T #&  _V DJ@ (,"H $$C 
MT*H ""5   0(Z@ "  P@4E*2$"T #Q" 2(!(P,"\    _V  _S!.50  +PI!
M[(#V)$A**@ ,9QC5_    !9![(*NM<AE"'  )%].74YU8.)"DD*J  1"J@ (
M( I@ZDY5__PO"B1M  A(> 0 3KH PEA/*T#__&88-7P  0 0( K0O     XE
M0  ()%].74YU-7P$   0".H  0 ,)6W__  ($"H #4B 2, O $ZZ -Y83TJ 
M9P8 *@"   Q@S$Y5  !(YP P)&R"MF 4)E(@*@ $4( O "\*3KH#T%!/)$L@
M"F;H0JR"MDS?# !.74YU3E4  "\*0?K_QBE(@K)"IR M  A0@"\ 3KH#?E!/
M)$!*@&8(<  D7TY=3G4DK(*V)6T "  $*4J"MB *4(!@YDY5   O+0 (8;98
M3TY=3G5.50  2.< ,)?+)&R"MF .(&T "%&(L<IG$B9*)%(@"F;N</],WPP 
M3EU.=2 +9P0FDF $*5*"MB J  10@"\ +PI.N@,F4$]P &#83E4  '(&("T 
M"$ZZ CA![(+R+S ( $ZZ I!83TJ 9P1P 6 "< !.74YU3E4  "\M  A.N@),
M6$]*@&8.3KH"8BE @M9P_TY=3G5P &#X3E4  $CG#" H+0 (3KH =G(&( 1.
MN@'@0>R"\B1 U<A*A&T,N+P    3;@1*DF82*7P    #@M9P_TS?!#!.74YU
M,"H !,!\  -F#"E\    !H+6</]@XB\M ! O+0 ,+Q).N@(83^\ #"H L+S_
M____9@Q.N@'<*4""UG#_8+H@!6"V3E7__$AX$ !"ITZZ GA03RM __P(   ,
M9@9P $Y=3G5*K(+:9@8@+?_\8/!(>  $2'H '$ZZ ;HO $ZZ ;Q/[P ,2'@ 
M 4ZZ  I83V#.7D,* $Y5  !*K(*N9P8@;(*N3I O+0 (3KH "%A/3EU.=4Y5
M__Q"K?_\+RW__$ZZ )Y83U*M__P,K0    K__&WH2JR"LF<&(&R"LDZ02JR"
MRF<*+RR"RDZZ 7983TJL@L9G"B\L@L9.N@%F6$]*K(+.9PHO+(+.3KH!5EA/
M2JR"[F8N+RR"XB\L@NI.N@%P4$\@+(+>4H#E@"\ +RR"YDZZ 5Q03R\M  A.
MN@# 6$]@&$ZZ 4(O+(+N3KH!;EA/("T ""YL@KI.=4Y=3G5.50  2.<.("@M
M  AR!B $3KH 1$'L@O(D0-7(2H1M#+B\    $VX$2I)F$BE\     X+6</],
MWP1P3EU.=3 J  3 ?(  9@@O$DZZ "Y83T*2< !@X$CG<  T <3 )@%(0\; 
M2$-"0]2#2$# P4A 0D#0@DS?  Y.=2(O  0L;(+"3N[_W"(O  0L;(+"3N[_
M@B(O  0L;(+"3N[_N"(O  0L;(+"3N[_<"QL@L).[O_*+&R"PD[N_WPB+P $
M+&R"PD[N_RA,[P &  0L;(+"3N[_XBQL@L).[O_$3.\ #@ $+&R"PD[N_]!(
MYP$$3.\@@  ,+&R"ODZN_Y1,WR" 3G4B;P $+&R"OD[N_F),[P #  0L;(*^
M3N[_.B)O  0L;(*^3N[^VBQL@KY.[O]\(F\ !" O  @L;(*^3N[_+B!O  0L
M;(*^3N[^C"QL@KXB;P $("\ "$[N_=@B;P $+&R"OD[N_H9,[P #  0L;(*^
M3N[^SB!O  0L;(*^3N[^@      #[    $,    !   #$@   R(   ,H   #
M=    X0   ..   #I    [8   /2   #[@   _H   0*   $)@  !#X   16
M   $7   !&(   2(   $D@  !)@   2B   $J   !+8   3&   $T@  !.@ 
M  4"   %"@  !18   4<   %*@  !3(   4X   %/@  !4P   54   %6@  
M!6P   5T   %B   !8X   66   %J@  !;    6X   %O@  !<P   76   %
MW@  !>H   7R   %_@  !@8   80   &%@  !AX   8N   &-@  !D@   9.
M   &7   !F8   9T   &>@  !H    :*   &F     0        $V@  !/  
M  3X   (#         /R   #Z@   *UG<F%P:&EC<RYL:6)R87)Y &EN='5I
M=&EO;BYL:6)R87)Y                                            
M          !0  @  '1O<&%Z+F9O;G0      2XP,3(S-#4V-S@Y86)C9&5F
M    (" @(" @(" @,# P,# @(" @(" @(" @(" @(" @(""00$! 0$! 0$! 
M0$! 0$! # P,# P,# P,#$! 0$! 0$ )"0D)"0D! 0$! 0$! 0$! 0$! 0$!
M 0$! 4! 0$! 0 H*"@H*"@(" @(" @(" @(" @(" @(" @("0$! 0"      
M             0     !                      $!     0          
M           ! @    $                                         
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                         ^P 
?   !     0   $@        #\@   ^L    !   #\@  
 
end
//E*O*F BlitzFonts.uue//

echo x - Fonts.info.uue
cat > "Fonts.info.uue" << '//E*O*F Fonts.info.uue//'
begin 755 Fonts.info
MXQ   0           %  &P %  ,  0 @9*@                         
M     X0              "     U                      !0 !H  @ @
MCP@#      #_____________P            \            /   _P   "
M   #P  &,   !@   \  !@'P/P^   /   ? && &   #P  & /@^!@   \  
M!@,8 P9   /   ^!['X#@  #P            \            /         
M   #P   @    @   \   8    8   /   /@^&,/@  #P  !@8PV!@   \  
M 8'\' 8   /   &1@#8&0  #P   X/AC X   \            /         
M   #P            \            /_____________                
M                                        #_    (       8P   &
M       & ? _#X      !\ 88 8       8 ^#X&       & Q@#!D      
M#X'L?@.                                               "    "
M       !@   !@       ^#X8P^       &!C#8&       !@?P<!@      
M 9& -@9       #@^&,#@                                       
A                                            
 
end
//E*O*F Fonts.info.uue//

echo Possible errors detected by \'wc\' [hopefully none]:
temp=/tmp/shar$$
trap "rm -f $temp; exit" 0 1 2 3 15
cat > $temp <<\!!!
     87    733   4757 README
    161   1055   9807 BlitzFonts.uue
     17    103    879 Fonts.info.uue
    265   1891  15443 total
!!!
wc  README BlitzFonts.uue Fonts.info.uue | sed 's=[^ ]*/==' | diff -b $temp -
exit 0


-- 
UUCP:  kim@amdahl.amdahl.com
  or:  {sun,decwrl,hplabs,pyramid,ihnp4,seismo,oliveb,cbosgd}!amdahl!kim
DDD:   408-746-8462
USPS:  Amdahl Corp.  M/S 249,  1250 E. Arques Av,  Sunnyvale, CA 94086
CIS:   76535,25

[  Any thoughts or opinions which may or may not have been expressed  ]
[  herein are my own.  They are not necessarily those of my employer. ]

dillon@CORY.BERKELEY.EDU (Matt Dillon) (05/13/87)

>> What is BlitzFonts?  You mentioned using it to make text scroll faster...
>
>That's exactly what it is ... a program that "hooks" itself into AmigaDOS
>(the console.device ?) that speeds up the display of text output.  I dunno

	Definately not the console device.  DME makes calls to the graphics
library directly (Text()) and Blitzfonts speeds DME up 600%!  I'm just as
interested in finding out what it does as you.  Anybody know?  It can't be
too complicated. ..

			-Matt

andy@cbmvax.cbm.UUCP (Andy Finkel) (05/13/87)

In article <8705130700.AA24705@cory.Berkeley.EDU> dillon@CORY.BERKELEY.EDU (Matt Dillon) writes:
>>> What is BlitzFonts?  You mentioned using it to make text scroll faster...
>>That's exactly what it is ... a program that "hooks" itself into AmigaDOS
>>(the console.device ?) that speeds up the display of text output.  I dunno
>
>	Definately not the console device.
Correct.  Blitzfonts is of the class of programs that are easy to write
once you think of it.  Ready ?  (Individual details may vary :-)
It replaces the Text() vector of the graphics.library with a version of Text() t
hat does not handle proportional fonts (so you get to use multiply*8), doesn't
have progromatic styles, kerning (positive or negative), and frequently
uses the processor to spit out the bits, rather than the blitter.

(You could use the blitter and go still faster, I think, but most 
implementations I've seen don't use it.  Or if they do, they avoid
the normal blitter calls, as demoed by my WatchBlit program)

Got it ?

			andy
-- 
andy finkel		{ihnp4|seismo|allegra}!cbmvax!andy 
Commodore/Amiga		

"Do not meddle with the affairs of wizards, for it makes them soggy and hard 
to light."

Any expressed opinions are mine; but feel free to share.
I disclaim all responsibilities, all shapes, all sizes, all colors.

daveh@cbmvax.cbm.UUCP (Dave Haynie) (05/13/87)

in article <8705130700.AA24705@cory.Berkeley.EDU>, dillon@CORY.BERKELEY.EDU (Matt Dillon) says:
> 
>>> What is BlitzFonts?  You mentioned using it to make text scroll faster...
>>
>>That's exactly what it is ... a program that "hooks" itself into AmigaDOS
>>(the console.device ?) that speeds up the display of text output.  I dunno
> 
> 	Definately not the console device.  DME makes calls to the graphics
> library directly (Text()) and Blitzfonts speeds DME up 600%!  I'm just as
> interested in finding out what it does as you.  Anybody know?  It can't be
> too complicated. ..
> 
> 			-Matt

I haven't looked at BlitzFonts specifically, but I'd imagine that it doesn't
do anything to DOS.  By the way, console.device isn't part of DOS.  In fact,
anything that'll called a "device" is an EXEC managed device.  The "device"
name, as usual, is overused.  You speak of DOS objects like DF0:, RAM:,
PAR:, SER:, etc. as DOS devices.  Which they are, in DOS terminology.  But
as far as the Amiga OS goes, things like RAM: and PAR: are DOS interfaces
to EXEC supported devices.  Generally, DOS will have a process, called a
handler, that comunicates directly to a device.  Devices accept standard
and device specific commands, specified in the ROM Kernal Manual.  Handlers
can be given any of a set of about 30 or so commands, each of which is a
DOS interface into a particular EXEC device.  A handler can do the thing
specified by a handler command (called an action), or it can tell you the
particular action is not supported (like files or directories on the SER:
device).

What I'd expect BlitzFonts to be is the same thing that MicroSmith's 
FastFonts is: an alternate Text() function.  All library based functions
(except those in the DOS library, which is a weird library) are kept as
offsets into various run-time libraries.  The offsets are in the form
of jump commands that lead to the particular function required (note that
functions can move about, based on what was requested first from disk
loaded libraries).  An EXEC function, called SetFunction(), is provided
to re-vector any of the calls in a standard library.  So if I write a 
very fast version of Text(), then SetFunction() this version into the
graphics library, all programs that use the Text() routine will do their
text display faster.  I know that's what the FastFonts program does, and
I expect that's just what BlitzFonts does.  The shortcoming of BlitzFonts
seems to be that it trades generality for speed.  The program can display
Topaz8 characters at a fast rate; but it can't support arbitrary fonts as
can the normal Text() function (and the FastFonts function, from what
I've heard).
-- 
Dave Haynie     Commodore-Amiga    Usenet: {ihnp4|caip|rutgers}!cbmvax!daveh
"The A2000 Guy"                    BIX   : hazy
	"These are the days of miracle and wonder" -P. Simon

ewhac@well.UUCP (05/14/87)

In article <6555@amdahl.amdahl.com> kim@amdahl.amdahl.com (Kim DeVaughn) writes:
> [ Not really Kim DeVaughn.  Ed.]
>
>            //             --  BLITZFONTS  --              //
>          \X/                  ~~~~~~~~~~                \X/
>                           by Hayes C. Haugen
>
>
>    BlitzFonts: makes text output up to 6 times faster.  [ more hype... ]
>
>     This program is being offered as ShareWare. [ ... ] When you use
>BlitzFonts and realize how much better your life truly is, send a $10 or
>more contribution to me, the author, at:  [ address deleted ]
>
>In return, you will receive a disk with the latest version of BlitzFonts with
>more features, and other shareware by me.  Contributions of less than $10 are
>greatly appreciated, and you will be added to my mailing list, but cost
>prohibits me from sending you a disk.  If you already own one of my other
>ShareWare programs, let me know which one and I will also send you a free
>update to that program.
>
> [ more hype, followed by flamage about how no one has paid him any money,
> followed by MORE hype about other stuff he's done. ]
>
>   BlitzFonts is copyright 1987 by Hayes C. Haugen, all rights except for
>limited non-commercial distribution are reserved.  BlitzFonts may not be
>given away or sold independently or with any other program, except as detailed
>above.  Companies and ShareWare authors may license BlitzFonts for inclusion
>in their own programs, please contact the author at the above address for
>details.  All warranties whether expressed or implied are non-existent.  The
>user assumes all risk in using this program, and under no circumstances will
>the author or anyone related to him (or his friends) be held liable for any
>damages, however extreme or minor, caused directly or indirectly by BlitzFonts.
>
	Hrumph.

	Before I start, please note:  This is not another volley in the
Shareware Debate (which I wish would go away; the S/N ratio is too high).
This is a mild (hopefully) tirade about an irritating practice that I feel
deserves pointing out.

	Now then, if you review the above README file from BlitzFonts, you
will notice the author seems to be a rather effective hype artist.  He tells
you about all the good things his utility will do for you, and how, if you
send him money, he'll provide you with an update to the program.

	However, if you look closer, you'll notice that there's one thing he
won't provide you with:  SOURCE CODE!!!

	To put it simply, *I want the source!!*  If I send this guy money, I
would like a copy of the source so I can find out How He Did It.

	I find the true value of PD Amiga software to be the programming
education it provides.  I get to learn about how people have attacked
certain problems which I may face one day.  There's a tremendous amount of
stuff I *don't* know about the Amiga (sound for one), and I always relish
the opportunity to delve into someone else's code to find out how he
attacked one such problem.

	On Fish Disk #50 is a Missile Command game which is of very high
quality.  For a nominal fee, the author will send you a disk with a copy of
the source code on it (about 80K of *assembly!*).  I fully intend to send
this guy bucks in the near future.  I want to know how How He Did It.

	However, Hayes Haugen has failed to provide this service, and I
find it irritating.  When I write code for public consumption, I *always*
provide a copy of the source (in fact, source is usually all I send out).
This is so that interested parties can take apart my program and learn, if
they want.  Apparently, I must have succeeded since a lot of "Tilt" variants
seem to have come out (like "DK") which, the authors claim, have been
inspired by my hacks.

	Does Hayes Haugen not care about others who wish to learn and build
upon his discoveries?  I won't presume to read his mind for him, but my
personal reaction is that I'm disappointed that he isn't providing this
information.

	Anyway, that's my opinion.  If you want to flame me, my mailbox is
always open....

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 ________		 ___			Leo L. Schwab
	   \		/___--__		The Guy in The Cape
  ___  ___ /\		    ---##\		ihnp4!ptsfa!well!ewhac
      /   X  \_____    |  __ _---))			..or..
     /   /_\--    -----+==____\ // \  _		well ---\
___ (   o---+------------------O/   \/ \	dual ----> !unicom!ewhac
     \     /		    ___ \_  (`o )	hplabs -/       ("AE-wack")
 ____ \___/			     \_/
	      Recumbent Bikes:			"Work FOR?  I don't work FOR
	    The _O_n_l_y Way To Fly!		anybody!  I'm just having fun."

kim@amdahl.amdahl.com (Kim DeVaughn) (05/15/87)

In article <3061@well.UUCP>, ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes:
> 
> 	However, if you look closer, you'll notice that there's one thing he
> won't provide you with:  SOURCE CODE!!!

Couldn't agree with you more, Leo, and just to clarify one thing, I would
NOT have posted this for that very reason if I had been able to find a path
back to the person who emailed me the question in the 1st place.

On the other hand, and to Hayes' credit, he *did* send out a reasonable
"upgrade" to his program, so I can't fault him there (alas, no sources
though, but since it's in assembly, one can always use a disassembler to
get some pretty good insights into the methodology ... I know, I know,
that *is* a painful process ...)

To the "shareware" authors out there ... if you really want to get people
to "register" with you, you *must* give some "value added" to encourage
people to do so.  On a large application, this can be in the form of more
complete documentation (a la PC-Write, etc.), however SOURCE code is a *much*
more attractive incentive, as Leo mentions ... especially for small things
like BlitzFonts.

Finally, I just want to thank Leo for generously sharing his knowledge
freely with the rest of us, and for providing a garden of ideas with all
his display hacks, etc!  [I use a variation of "sunmouse", and often
times don't notice that one of the little robots has pushed my mouse pointer
up into the "menuclock" ... until after I've typed several lines of text
into the clock's window.  I grumble a little when that happens, and then
smile alot, and then swear to take "robotroff" out of my startup-sequence,
and then start to type the "kill" command ... but I never do ... ]

/kim


-- 
UUCP:  kim@amdahl.amdahl.com
  or:  {sun,decwrl,hplabs,pyramid,ihnp4,seismo,oliveb,cbosgd}!amdahl!kim
DDD:   408-746-8462
USPS:  Amdahl Corp.  M/S 249,  1250 E. Arques Av,  Sunnyvale, CA 94086
CIS:   76535,25

root@beldar.UUCP (05/15/87)

[]

As an owner of FastFonts (by Microsmiths), I thought I'd post a mini-review
and clear up some misunderstandings.

FastFonts is a teensy program that does pretty much what BlitzFonts
claims to do (haven't uploaded that yet tho).  It has the additional
feature of allowing you to substitute other fonts for the default
Topaz font in system memory, thereby changing the look of your CLI
or whatever, without the program's knowledge.  I'd say that most
of the stuff I run (miroemacs, primarily) seems to be about twice
as fast when using it.  Ironically, programs that were fast at
displaying text _before_ FastFonts are the ones that benefit most
from turning it on.

Also with FastFonts you get a few extra fonts to play with, and two
other utilities: Screenblanker, which dims the screen after some
specified time period, and FunKeys, which lets you write keyboard
"hot key" macros and provides a way to make new CLIs on the fly
a la POPCLI.

On the whole I am pleased with the package; it has never Gurued me.
However, a significant complaint is that it does not live up to one
of its claims, which is that you can create your own typefaces
to substitute for the default Topaz one.  Every time I've done
any significant editing to the Topaz font and stored it out,
FastFonts claims for one reason or another to be unable to 
use it (I have been careful not to change the base size of the
font at all, as per the directions). The fonts they supply
_do_ work, but then they're pretty ugly ones.


Chris Anderson
UUCP: ...!mirror!beldar!chris

scotty@l5comp.UUCP (Scott Turner) (05/17/87)

In article <1866@cbmvax.cbmvax.cbm.UUCP> andy@cbmvax.UUCP (Andy Finkel) writes:
>In article <8705130700.AA24705@cory.Berkeley.EDU> dillon@CORY.BERKELEY.EDU (Matt Dillon) writes:
>>>> What is BlitzFonts?  You mentioned using it to make text scroll faster...
>>>That's exactly what it is ... a program that "hooks" itself into AmigaDOS
>>>(the console.device ?) that speeds up the display of text output.  I dunno
>>
>>	Definately not the console device.
>Correct.  Blitzfonts is of the class of programs that are easy to write
>once you think of it.  Ready ?  (Individual details may vary :-)
>It replaces the Text() vector of the graphics.library with a version of Text() t
>hat does not handle proportional fonts (so you get to use multiply*8), doesn't
>have progromatic styles, kerning (positive or negative), and frequently
>uses the processor to spit out the bits, rather than the blitter.
>
>(You could use the blitter and go still faster, I think, but most 
>implementations I've seen don't use it.  Or if they do, they avoid
>the normal blitter calls, as demoed by my WatchBlit program)
>
>Got it ?
The following notes are based on the 'giveaway' BlitzFonts program.

BlitzFonts ties into the system through the graphics.library Text routine. It
doesn't use the SetFunction call, tsk tsk tsk ;-), but rather reaches in and
swaps the library vector itself. What it does is patch in a new text rendering
routine that is optimized for the topaz80 font. One item of interest about this
routine is that it uses a hardcoded 720 pixel wide template and if the string
will not fit into it (ie > 90 chars long) the routine aborts rather than just
render 720 pixels from the string. The routine is based on the fact that the
Topaz80 font is 8 bits wide by 8 bits high. Thus it is possible to use a hard-
coded memory move loop to copy the bit pattern from the font into the template
using simple move.b (Ax)+,disp(Ay) addressing. Once the template is complete
it is fed to the BlitTemplate routine to actually render it. About the only
faster way to render text than this routine would be to use a single bitplane
window and move into it rather than a template/BlitTemplate scheme, but that
wouldn't be very general purpose :-). So this routine is about as fast as we
can expect to get.

Many thanks to Mr. Haugen for this program.

[The above was prepared before Andy's reply so here's a thought on what Andy said]

The blitter is not designed for rendering a STRING of chars. It has stuff for
a single char. However, the overhead in setting up the blitter for each char
is such, that in single bitplane cases the CPU may indeed be faster than the
blitter.

Scott Turner

-- 
L5 Computing, the home of Merlin, Arthur, Excalibur and the CRAM.
GEnie: JST | UUCP: stride!l5comp!scotty | 12311 Maplewood Ave; Edmonds WA 98020
If Motorola had wanted us to use BPTR's they'd have built in shifts on A regs
[ BCPL? Just say *NO*! ] (I don't smoke, send flames to /dev/null)

scotty@l5comp.UUCP (Scott Turner) (05/17/87)

In article <3061@well.UUCP> ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes:
>	However, if you look closer, you'll notice that there's one thing he
>won't provide you with:  SOURCE CODE!!!
Really? What makes you think he WON'T PROVIDE the source Leo? Just because he
didn't make an offer in his readme file doesn't mean he won't provide it.

>	To put it simply, *I want the source!!*  If I send this guy money, I
>would like a copy of the source so I can find out How He Did It.
Then ASK THE GUY to send you the source Leo.

>	However, Hayes Haugen has failed to provide this service, and I
>find it irritating.  When I write code for public consumption, I *always*
Again, I don't see how you can make this comment Leo.

>	Does Hayes Haugen not care about others who wish to learn and build
>upon his discoveries?
Nore this one.

Leo states, in his rather lengthy and thus EXPENSIVE signature, that he doesn't
work for anyone and is doing all this for fun. Some people AREN'T doing this
for fun Leo. Some people DEPEND on their ability to develop clever software in
order to eat. If an author does not wish to release his source code then that
is HIS/HER RIGHT!! In many cases authors refuse to release the source to protect
users. Just how many versions of microEMACS are there? And how many times has
source to some program been used to create a trojan horse?

I've talked to Mr. Haugen. He lives not to many miles from me. I know he feels
like you Leo, he likes to find out how the other guy did what he did. Which is
what distresses me all the more about your un-warranted attacks upon this man.

Now, what to do when the author decides to not release the source? How did I
find out what I know about BlitzFonts? Did I get the BlitzFonts source?

NOPE. I used the MetaComCo disassembler provided on their Amiga Toolkit disk.
With this tool nothing, except stuff I have agreed not to disassemble in a
license (like the MCC stuff), is a mystery to me. I know how DropShadow works
etc... Heck DropShadow 2.0 was distributed with full symbols so it was almost
like reading the source code! ;-)

I have on several occasions used what I have learned to create new programs,
written purely in assembly, that COME with source code (see the software
library on GEnie). They're also always smaller, faster than the programs that
I found the orginal concept in. BUT these programs are not 'rip offs' of the
originals in that I don't just disassemble the original and then reassemble it
and call it my own. I find out how it works and then write my own, most often
improving on it in the process and in most cases adding source code to it.

If anyone out there has some gripe like Leo's (but please no unfounded flames)
then drop me an E-Mail about it. Maybe I can help, I sure can rip a program from
end to end pretty quickly now, source or no source :-). In fact I may already
have it ripped apart. (I often rip things just to scratch that "How did they
do that" itch)

Scott Turner

-- 
L5 Computing, the home of Merlin, Arthur, Excalibur and the CRAM.
GEnie: JST | UUCP: stride!l5comp!scotty | 12311 Maplewood Ave; Edmonds WA 98020
If Motorola had wanted us to use BPTR's they'd have built in shifts on A regs
[ BCPL? Just say *NO*! ] (I don't smoke, send flames to /dev/null)