[net.micro.pc] Offer to post *Hercules* display BIOS

dmt@mtuxt.UUCP (D.TUTELMAN) (08/09/86)

In the past month or so, I've seen three net requests for software
to drive Hercules monochrome graphics, and at least one request for
a more-than-25-line display.  This is an offer to EMail or post
(depending upon demand) a program that addresses both problems.

It's a terminate-and-stay-resident program that takes over INT 10
(the BIOS display interrupt), and does the graphics functions for
Hercules-compatible boards.  I wrote it a couple of years ago, when
I built a display board that SuperComputer claims is Hercules compatible.
(I've never tried it on a REAL Hercules board.)

So that you can tell if it helps, here are
the what-it-does and what-it-don'ts of my Hercules BIOS.

   -	It does NOT allow the vast majority of PC software (written
	for the CGA and compatibles) to run on the Hercules.  In other
	words, it can't do magic.  Most of the graphics software
	available writes directly to display memory, bypassing the
	BIOS altogether.

   -	It DOES allow those few packages that do their graphics
	through the BIOS to run on a Hercules.  I know of only
	one such package -- PC-LISP;  its turtle graphics run fine
	through my BIOS.

   -	It DOES allow me to develop software that uses the Hercules in
	graphics mode, and still do alphanumeric READs and WRITEs
	(or their equivalent in whatever language I'm using) to put
	characters on the screen.  That way I don't have to draw
	each character from my application, pixel by pixel.  THIS
	HAS PROVEN TO BE ITS MAJOR BENEFIT.

   -	It DOES allow a 43-line alphanumeric display in graphics mode.
	(Unfortunately, it is graphics mode, so the cursor is lost.
	If that bothers you, you may want to add cursor-simulation
	code.)

   -	It WOULD allow me to write graphics applications that would
	port among graphics boards.  However, I (like everybody else
	who writes graphics programs) usually decide to forsake
	portability for performance and bypass the BIOS.  Seriously,
	the BIOS routines are just too slow, and the only one for
	doing graphics is "write pixel".  Now, if there were BIOS
	calls for "write line", "write polygon", "Write circle",
	"fill", and "BITBLT", then maybe people would write BIOS-based
	graphics.

It was written several years ago, as the first MASM program I ever wrote,
so the code is not very pretty (it IS well commented, but doesn't use
include files, the standard structure to make a .COM program, or other
stuff I've since learned about).  It's not a driver, but a terminate-and-
stay-resident.  It was assembled under ASM 1.0, and I won't guarantee that
the new (tight type-checking) MASM will buy it.  If there's a lot of
interest, maybe I'll fix it up, but if it's only a few folks, I'll
just send it out.  [In other words :  it once worked.  If you're lucky
it still works, but I'm not promising to support it.  I now use a
640x400 AT&T PC6300, which is a MUCH better display.]

I'll absorb responses for a week or two, then decide whether to post or
EMail.

Dave Tutelman
Physical - AT&T Information Systems
	Room 1H120
	Juniper Plaza, Route 9
	Freehold, NJ 07728
Logical -  ...ihnp4!mtuxo!mtuxt!dmt
Audible -  (201) 577 4232