Finally back on the list!!! (yeah!)
Comments to multiple messages follow:
If you asked a question, please read through till you find it!
VESA will be disappointed to hear that their VBE
standard which
does define four 132-column modes (109 - 10C) is not a "standard" at
all (insofar as anything in this field can be considered "standard.")
http://en.wikipedia.org/wiki/VESA_BIOS_Extensions
I'd say a Mickey Mouse card is one that does *not* implement the
VESA extensions, and I think there's more than just one brand that *does*...
+ many other comments on VESA
I've got mainly ATI "Mach" and "3Drage" series cards in the older
machines
in my office, and while I can get some VESA modes to work, I haven't found
any in the VESA range (100h-1FFh right?) that actually do 132 columns...
I'm using INT 10h with AX=4F02h and BX containing the VESA SVGA mode
number 100h-1FFh - is this right?
I have found "vendor extensions" to the standard modes 00h-FFh which
work fine at 132 columns on the ATI cards.
I would highly recommend staying away from manual
rasterization; if a
card can do 1024x768, it can do 132x25 or 132x50.
Perhaps ... but one thing really appealing about going graphical is
that I could properly support double-wide/double-high characters...
I haven't figured out a way to do this in text mode ... I could do
double-wide with some font manipulation, but there would be a line
down the middle of the characters, and there isn't enough characters
available even with two active character sets to do double-height/
double-wide. I'd also lose my current ability to emulate the VT-100
attributes. The big problem with a graphical version would be the
"blinking" attribute - Do any graphics modes support blinking in
hardware? - There's also the matter of incompatibilities in modes
higher than 640x480 (which isn't enough for 132 columns).
Ah, so you are using VGA's capability to store
multiple fonts and
bank-switch between them? Or something more hideous, like changing the
font every 16 scanlines? ;-)
Nothing so disgusting. The problem is that you need to be able to do:
Bold, Underline, Blinking and Reverse video in any and all combinations,
and standard PC attributes can't do this - you can get close in mono VGA,
but you still can't do all the combinations. For example, Underline only
works in Mono, and not in combination with all other attributes.
So what I did was to use VGA's capability of having two fonts (512
possible characters on screen at once), and generate a second font
with underlines. Then the font select attribute bit becomes the
underline bit. This conflicts with the standard "bold" attributes,
however I reprogram the palette to provide increased intensity in
another "color". This lets me do ALL the VT-100 attribute combinations
without resorting to hardware dependancy (except that it needs a VGA
adapter).
For non-VGA cards, I just let you choose which attributes (or colors)
will display for each of the 16 possible VT-100 attribute combinations.
I also maintain two separate attribute tables for the TTY colors, one
for when attribute emulation via VGA features is enabled, and one for
not - so the attributes don't go completely wonky when you switch this
feature on or off.
I'm curious how it will on a Model 25. It's
MCGA, which means it has
the 9x16 VGA font and doesn't detect as CGA or EGA, yet the font is
fixed and can't be changed. What will your program do on such an
uncommon video board?
It should work as long as your video supports standard 80 column color
or mono video modes (Mode 3 or 7).
If your video does not detect as VGA, you will be limited to the PC
character set and attributes which are available. You can program the
PC attributes that are displayed for each possible combination of
VT-100 Bold, Underline, Blink and Reverse.
If it does detect as VGA, but is incompatible with the features I
used - you can disable the use of VGA fonts and attribute emulation
in my configuration screens.
You won't get my VT-100 character font, however I map the VT-100
characters which line up with PC characters into the appropriate
character on the PC font. You will lose some of the VT-100 graphic
character set. I map most of these into corresponding characters
on the PC, however some don't have any PC equivalent, and I map
these into PC characters 80-89 (which I replace in my VT-100 font).
At the moment, my mapping of VT-100 characters (standard and graphical)
to the PC character set is fixed (you can change the charcters displayed
by loading a different character-set under VGA) - but if there is a
requirement, I could make the mapping tables configurable - This would
let you pick any PC character to display for any particular VT-100
character.
The OP needs
modes which work on ALL adapters, not non-standard modes
which work on a small number of Mickey Mouse cards which noone
uses....
He does? I'm sure that someone using Dave's VT100 emulator couldn't
decide that because they want 132 column mode, they'll spend some time
to figure out what works with their hardware, and specify it in a
config file somewhere. :(
What I've done is to enable you to configure the 132 column mode under
"General Parameters" - Standard modes 01h-FFh should work, as well as
VESA SVGA modes 100h-1FFh. If a mode is configured, then I enable the
"132 column mode" under "General switches" as well as the DEC private
{ESC}[?3h/l mode set/reset.
I've also provided FIND132 which helps locate a 132 column video mode
for your adapter. I'm still researching VESA - as Jim said, perhaps I
can directly determine a suitable mode from the information returned
by the VESA BIOS.
With all due respect, I think the observations on the
part of the
other posters including myself were valid. What the OP probably
meant to say was:
"Does anyone know of a video text mode supported by a standard IBM
VGA/PGC/XGA/EGA card real-mode 16-bit BIOS that supports 132 colums?"
That "BIOS" keyword is very important, given that few operating
systems actually use it to do anything useful nowadays.
In my case, I do want it to work with BIOS calls - I tend to use it
on DOS machines in my workshop, and I don't want to make it dependant
on anyone's particular hardware. If you are using windows, I'm sure
there are better VT-100 emulators since you should be able to do the
double-sized modes easily in a graphical environment. But so far it
still works fine on my Win2K machine (Haven't tried it on XP lately,
but I will).
If there are any more suggestions or feedback, please keep it coming.
Probably this weekend, I'm going to rename the package (*) and get
it moved into a permanent home under "Simulators and Emulators" on
my site (with an extra link in the terminals/VT-100 section).
(*) LAPTALK made sense when it was a tiny telecom program for my
floppy based laptop, but it's much more a VT-100 emulator now).
I'm thinking something simple like "PC100", but suggestions are
welcome.
Dave
--
dave06a (at) Dave Dunfield
dunfield (dot) Firmware development services & tools:
www.dunfield.com
com Collector of vintage computing equipment:
http://www.classiccmp.org/dunfield/index.html