A good idea, almost. The BOGL library performs this for the packed pixel
: modes, but the VGA requires OUT instructions inbetween memory accesses,
: so it can't run on a generalized bit-depth algorithm in planes mode. (The VGA
: design has to be seen/studied to be believed, I've never seen such a complicated
: piece of hardware for something kinda-conceptually simple)
:
: Although it would still require special case code, I believe that a
: line-drawing routine for VGA16 would be relatively simple, since each
: pixel is the same color. It's been a couple months since I've written
: any VGA16 code, but IIRC writing a number of pixels all in one color
: can be done with a specialized write mode that makes it easier.
This is what we need. This special case code is already
in the driver scr_bios.c under VGA_drawhline(). It calls either the C entry
point in vgaplan4.c or the asm implementation in asmplan4.s called ega_drawhline.
This code isn't optimized for multiple pixels with the same color, yet, and would
most likely tremendously increase speed on slow systems like ELKS 8086's.
Greg
: