[comp.sys.ibm.pc] Classes of PC Programs

richardg@pogo.UUCP (04/02/87)

There are some additional reasons for doing IN/OUT instructions and
writting directly to video memory.  Some graphics cards like the
Hercules card do not have an extended bios on the card.  This means
that while the Hercules card is compatible with the existing ROM BIOS
(in that it clones a monochrome card) there is only one way to put the
card into graphics mode and that is to program the 6845s directly.
It is also not an option on the Hercules card to use the read/write
dot functions of the BIOS since they are also not available.

This does complicate life since this makes it impossible for a TSR
application to query the video mode from the BIOS and determine if the
card is currently in alpha mode and it is safe to do character output
through the bios.  A common technique here is to look at video memory
and determine if it looks like characters and attributes or if it
looks like graphics data.  So if you wish to support a Hercules card,
an otherwise well behaved application may need to look at video memory
in order to determine if character output to the screen will rendered
as such.

I have always felt that there needed to be a well behaved except for
doing graphics category of application and would suggest to
davidsen@kbsvax.steinmetz.UUCP (William E. Davidsen Jr) that he make
his fourth category category five and make a new fourth category which
is "Does everything through the bios except for graphics".  This will
actually catch a wide range of applications.  GEM by DRI for instance
would fall into this category unless a serial mouse was installed.
Here again you run into the problem that dmt@mtunb.UUCP (Dave
Tutelman) and others have identified that BIOS support for the RS232
ports is  not what you would like it to be.  Programs like GEM which
support the MOUSE.COM interface, however, are well behaved (except for
graphics writes to video memory) when talking through MOUSE.COM since
this interface removes the need to write IN/OUT level code to support
a mouse.


-- 
Richard J. Greco                        "You think you've got problems, what
UUCP:  richardg@pogo.GPID.TEK.COM        are you supposed to do if you are a
Phone:  (503) 685-3860                   manically depressed robot."
Tektronix, Inc. - P.O. Box 1000 - Wilsonville, Or 97070 - Mail Stop 63/356