[comp.sys.amiga] Blitz speed

billk@pnet01.UUCP (05/16/87)

I decided I'd post this notice now, since BlitzFonts has been receiving so
much press...

I have written some routines, which I call my 'WarpText' text routines.  I was
planing to release them free to the public in about a month or so (and I still
am).

Here's what they do:  

Don't confuse them with BlitzFonts.  I don't have a program that modifies
Text() in order to speed up existing software.  Rather, I have written a bunch
of specific Text routines that are as fast and Faster than Blitz is.  (Again,
not BlitzFonts, but Blitz -- BlitzFONTS is much slower than Blitz anyway, and
is a whole different thing.)

My routines are written in assembler and are intended to be used in any
program you might be writing for which you desire text output that is so fast,
a whole screenfull (2000 characters, printing every one, not even skipping
spaces-- printing those too) just *appears* on the screen in front of your
eyes. 

This would be very useful in things like Editors, for example.  DME, for
instance, with text output scroll down in a file, keeping up with even the
fastest key repeat speeds... (like mine :-)

Or modem programs that have trouble emitting text at over, say, 1200 bps,
could now do 38,400 bps with no sweat...!  (I happen to have a terminal that
will go that fast, so that's useful to me, if no one else...)

'WarpText' does, however (at this time) have a couple limitations...

1. Only works in it's own screen or in a SUPER_BITMAP window.  I should be
   finishing the routine to work inside windows fairly soon.

2. You are limited to topaz.8 or another non-proportional 8 by 8 pixel font.


3. (Not a limitation for any practical application I've thought of yet that
   would have a use for WarpText, but:)
   Text locations are specified in character locations-- i.e. Location 10,10
   with the Text() routine would output your text at pixel-location 10,10.
   WarpText would output the text beginning at 10 characters accross and
   10 characters down.  (Pixel location 80,80)
   This should have no impact on things like editors, terminal programs, etc.
   but I thought I'd mention it anyway.
   This feature actually cleaned up my code a lot.  I was always having to
   convert the pixel-locations that Text() uses into character locations
   and vice versa for my program.  Now I can keep it in character locations
   all the time.


I had planned (and am planning) to release all of my routines and a simple
example program in about a month and a half.  You see, what I'm doing is sort
of writing a LIBRARY of text routines, though it's more of a library in the
conventional sense than an Amiga library. (Which it's not)  I'm putting
together a whole set of WarpText routines, each routine being different and
sort of specializing in something.  

E.g.  there is the Plain_Jane routine which does no checking for linefeeds or
formfeeds or anything and only works inside a screen or SUPER_BITMAP.  It just
blasts out pure [sic] text.

Then there's the one that does a little bit of checking but is still confined
to a screen or super_bitmap.

Next up is one that handles lots of things like cr's linefeeds, VT's, FF's,
etc. and skips spaces in a string for even more speed...

Now we come to the one I'm working on right now.. Like the Plain_Jane routine,
but works inside windows.  After that comes the one that supports a few
'control' characters, and then the even more complicated one -- all working in
windows.


By doing this, you can choose whichever routine best suits your application,
or pick one that comes close and modify it to your heart's content...


If anyone wants a 'preview' of WarpText. (i.e. I'll send you what I've got now
so you don't have to wait a *whole* month and a half :-)  send me mail and
I'll send you some stuff.  


Bye the way, I'm not charging anything for these routines... not even <gasp>
shareware.  (Though I would appreciate a bit of credit if you use them, say in
your source code or your program...)


Go-Amiga -- Rah! Rah! Rah! etc.  (Sorry this posting was so LLOONNGG...)

--
Bill Kelly      {akgua, hplabs!hp-sdd, sdcsvax}!crash!pnet01!billk
                (Don't use pnet01!billk; try crash!pnet01!billk -- Thanks!)

           Bulletin: A seminar on time travel will be held two weeks ago.