www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1992/10/08/13:59:34

Date: Thu, 8 Oct 92 12:34:50 CDT
From: csaba AT vuse DOT vanderbilt DOT edu (Csaba A. Biegl)
To: kuku AT acds DOT physik DOT rwth-aachen DOT de
Subject: Re: text mode switching w/o erasure
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu

It is the graphics driver which issues the int 10h AH=0 BIOS calls
when you call 'GrSetMode'. Unfortunately the BIOS mode numbers are
hard-coded in all current drivers to use the clearing version of the mode
set BIOS call. This means that you need a customized driver with
modified BIOS mode numbers to achieve what you want. UNLESS:
you are using libgrx AND a new format (.grn) driver. (See the docs for
more details.) This combination provides a way to query the driver
for the supported modes. (use the function 'GrGetDriverInfo' --
or something similar..) This will return a pointer to a table
of supported graphics modes IN THE DRIVER which contains sizes,
number of colors and the BIOS number. If you poke a modified
BIOS number into this table before calling 'GrSetMode' you just 
might get what you want without having to write new drivers.

Hope this helps:

Csaba

P.S.: The best way to do this would be to incorporate a flag in the
'GrSetMode' call which tells the driver not to clear. Unfortunately
this requires changes in three places: (1) The graphics library, (2)
GO32, and (3) the drivers. I am willing to change libgrx and the
new format drivers supported by me (these are the ones I have
opportunity to test), and send patches to DJ for the next release 
of GO32 if there seems to be a need for this feature.


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019