Article View: alt.msdos.programmer
Article #255Re: i/o routines and non-standard video modes
From: Neuvo Niilo Anselmi
Date: Thu, 16 Nov 1989 14:49
Date: Thu, 16 Nov 1989 14:49
41 lines
2767 bytes
2767 bytes
In article <2092@calvin.EE.CORNELL.EDU> richard@calvin.spp.cornell.edu.UUCP (Richard Brittain) writes:
>
>Well, I hate it when people post replies that are not true, but working from
>my manual (like I said, I don't have the hardware to actually test this)
>BIOS data area:
>0040:004a # characters per line 16 bit int
>0040:004c # bytes required for 1 screenful of data - 16 bit int
>0040:0084 # rows-1 - 1 byte
>0040:0085 # scan lines per character (i.e. height of cell) - 16 bit int
>If these are set correctly (The last two only for EGA/VGA/MCGA) then that
>should be all you need.
>Alternatively:
>BIOS INT 10H
>function AH=0F Get mode - should return characters/line as well as mode.
>Hopefully the 'non-standard' modes also return this correctly
>function AX=1130 Get character generator info (EGA/VGA/MCGA) returns #rows-1
>and bytes/character in the 'alternate' font table.
>
Well I've got the hardware (IBM PS/60, normal colorVGA). After some
inetnsive hacking I was able to come up with a 80*50 color mode (with
Turbo Pascal 4.0). I set the bios data area, got the correct font,
used function AX=1130 to crosscheck that I had done everything
correctly, and changed the required VGA ports (not in that order).
The screen looked fine and bios *knew* that I used 80*50, but bios
won't use the bottom half (ie lines 26-50) of the screen. So here
I am with a fifty line screen, but the bios is so stupid that it
won't scroll more than 25 lines. If I set the number of chars per
line (0040:004a) to 160, bios writes to every other line (as it
should) allowing me to write on the bottom half of the screen, but
it won't scroll the bottom half. I tested this with bios commands
not Turbo's own write commands. Can someone help me with this?
I don't want to rewrite the bios. I sort of like the idea of
having DOS and 50 lines (now it's 50 lines, but dos uses only the
first 25).
--
NN NN NN NN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNN N NN N NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNN N NN N NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNN NN NN NN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Technical Details
Message-ID:
<2544@alva.tut.fi>Path:
arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uunet!mcsun!sunic!tut!nn86302References:
<2090@calvin.EE.CORNELL.EDU> <2980@einstein.ptolemy.arc.nasa.gov> <2092@calvin.EE.CORNELL.EDU>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uunet!mcsun!sunic!tut!nn86302 From: nn86302@tut.fi (Neuvo Niilo Anselmi) Newsgroups: alt.msdos.programmer,comp.sys.ibm.pc Subject: Re: i/o routines and non-standard video modes Message-ID: <2544@alva.tut.fi> Date: 16 Nov 89 14:49:19 GMT References: <2090@calvin.EE.CORNELL.EDU> <2980@einstein.ptolemy.arc.nasa.gov> <2092@calvin.EE.CORNELL.EDU> Reply-To: nn86302@alva.UUCP (Neuvo Niilo Anselmi) Organization: Tampere University of Technology, Finland Lines: 41