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