UNIXpc Blitlib

Hans Jespersen hjespers at attcan.UUCP
Tue Nov 21 05:41:00 AEST 1989


> This is a set of bitblit routines that can be used with the "crabs"
> code I posted about a week ago.
> ...
> Besides waiting for the MGR and/or X ports, it would be nice if
> someone wrote a little compatibility routine that use the same kind of
> arguments as ioctl(WIOCRASTOP) but called this instead if there is no
> window involved.  That would make porting code pretty easy.  (I was
> too lazy to do this for "crabs", but I wouldn't be too lazy to grab a
> copy if someone wrote it and posted it.)

The library generated by this source may be a bitblit library but
it doesn't appear to be an implementation of the AT&T DMD routines
that one would use on a genuine "blit" (ie. blit/5620/630/730 ).
It would be a pain to have to take existing 630 programs and
port them to the 3B1 using these routines. Not that it couldn't
be done but you would have to restucture all the bitblt() calls
(used on a real blit) to bit_blit() calls (used in this library).
Even a simple #define won't do it since the Bitmap struct itself 
is different than in the real blit library (as defined in dmd.h).

Just to fill everyone in, I have been writting a set of "blit" 
routines for the 3B1 that do correspond parameter for parameter
to the real "blit" routines. This includes bitblt(), segment(),
rectf(), circle(), ellipse(), point() in both window and scaled 
coordinates (ie. jroutines ). Once I finish all the routines, one
would be able to take most "blit" sources designed for 'dmdcc'
and compile them to run on the 3B1 console. Of course the exception
being programs designed to run in 'layers'. I have tested a couple
of programs already ( including a version of 'moire' written for
the 630 ) and the damn thing actually works. Blew my mind the
first time I saw it compile and run!! Unfortunately though direct
video memory addressing is a bitch on the 3B1 (requiring a hardware
modification or some serious hacking). As a result, all bitblt 
routines write to a psuedo screen Bitmap and some programs must
be slightly modified to include periodic refreshing of the actual
screen ( dmdrefresh() - using wrastop() ). This makes things slow.
Once I get a vidpal and/or access to a modified machine it will be 
really easy to make it work with real direct video memory addressing 
( matter of adding 2 or three lines of code and recompiling with
-DVIDPAL ). When all is finished I will definitely post the source
(to the public domain) in unix-pc.sources.

-- 
Hans Jespersen                UUCP: {uunet | att}!attcan!hjespers
AT&T Canada Inc.            
Toronto, Ontario              



More information about the Unix-pc.general mailing list