Article View: alt.msdos.programmer
Article #427Re: i/o routines and non-standard video modes
From: Tom Almy
Date: Sat, 09 Dec 1989 16:25
Date: Sat, 09 Dec 1989 16:25
53 lines
3324 bytes
3324 bytes
In article <41644@srcsip.UUCP> rogers@src.honeywell.com (Brynn Rogers) writes:
>In article <966@maytag.waterloo.edu> dmurdoch@watstat.waterloo.edu (Duncan Murdoch) writes:
>
>>Any program [...]
>>is buggy and should be thrown out. If DOS
>>can't read those values and use them, then it's buggy and should be thrown
>>out. (This is the recommended action for ANSI.SYS, by the way. It contains
>>the hard coded screen length in earlier versions of DOS. Plain DOS can
>>handle a 50 line screen with no trouble.)
But DOS 4.0's MODE ,50 command to set 50 line mode doesn't work unless
plain ANSI.SYS (which now works, BTW) is installed!
>The Bytes relevant to changing screen sizes are: (as far as I know)
>
>40:49 Video mode (notes below)
>40:4A number of columns
>40:4C first time I heard of this one.
> Must be a word giving number of bytes in the screen if Duncan is right.
YEP.
>40:84 Rows - 1 (probably a leftover EGA BIOS bug that keeps it 1 smaller)
THIS ISN'T USED IN CGA/Mono/Herc, causing serious compatibility problems,
which is why NNANSI.SYS is EGA/VGA only
>40:85 Character Height. The number of pixels vertical in a character cell.
ALSO NOT USED IN CGA/Mono/Herc
I'd also add to the list:
40:4E Display start address. Programs that assume the value here won't work
properly with NNANSI or Fansi-Console
>Ansi.sys and most of the nansi,fansi,zansi,nnansi drivers expect to see a
>3 in 40:49. If they don't, you get flashing underbars at the begining and
>end of each line. Most Video BIOSes (some anyway) put the actual video mode
>number in 40:49 when you change to an extended text mode (like 640x480 or
>800x600). Unless you pump a '3' back into 40:49 after changing to one of
>these modes, the various ansi drivers will think you are in graphics mode.
>nnansi.sys will soon be able to handle the 40:49 byte right, if what I heard
>is right. (I recommend it. It is the best ansi driver I have seen)
Thank you! Since I am the author of the modifications that differentiate
it from nansi.sys. Yes it will handle it "right". There are conditional
compilation options for a number of different cards. My feeling is that the
video BIOSes that leave the 40:49 value at "3" are the ones doing it correctly.
That way obviously involves the least "damage". I'd feel differently if there
was an industry wide standard for extended mode numbers.
The new NNANSI.SYS should appear in comp.binaries.ibm.pc "real soon now" --
I submitted it about a month ago.
Tom Almy
toma@tekgvs.labs.tek.com
Standard Disclaimers Apply
Technical Details
Message-ID:
<6493@tekgvs.LABS.TEK.COM>Path:
arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!uunet!zephyr.ens.tek.com!tekcrl!tekgvs!tomaReferences:
<2090@calvin.EE.CORNELL.EDU> <2980@einstein.ptolemy.arc.nasa.gov> <2092@calvin.EE.CORNELL.EDU> <2544@alva.tut.fi> <89320 <1494@cc.helsinki.fi> <89338.051609CMH117@PSUVM.BITNET> <966@maytag.waterloo.edu> <41644@srcsip.UUCP>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!uunet!zephyr.ens.tek.com!tekcrl!tekgvs!toma From: toma@tekgvs.LABS.TEK.COM (Tom Almy) Newsgroups: alt.msdos.programmer,comp.sys.ibm.pc Subject: Re: i/o routines and non-standard video modes Message-ID: <6493@tekgvs.LABS.TEK.COM> Date: 9 Dec 89 16:25:56 GMT References: <2090@calvin.EE.CORNELL.EDU> <2980@einstein.ptolemy.arc.nasa.gov> <2092@calvin.EE.CORNELL.EDU> <2544@alva.tut.fi> <89320 <1494@cc.helsinki.fi> <89338.051609CMH117@PSUVM.BITNET> <966@maytag.waterloo.edu> <41644@srcsip.UUCP> Reply-To: toma@tekgvs.LABS.TEK.COM (Tom Almy) Followup-To: alt.msdos.programmer Organization: Tektronix, Inc., Beaverton, OR. Lines: 53