
                       SVGATextMode
                       ============

This program is designed to greatly improve the normal (EGA-based) textmodes
on your Linux machine. It uses an Xconfig-like configuration file to set up
better looking textmodes. (=higher resolution, larger font size, higher
display refresh...) This is already a big boon on normal 14" displays, and
it is an immense difference on larger and better (15" and up) screens.

It stems from the idea that it is a real waste of hardware to use EGA
textmodes on an SVGA-card, which was designed to do much better than that.

Even the cheapest state-of-the-art VGA cards are capable of running at well
over 60 MHz pixel clocks (at least in graphics mode). But most of the time
they are used in text-only mode, and at 80x25 chars (that looks RIDICULOUS
on a 20" screen!), using a mere 25 MHz clock? At best, they use 132x43
textmode, which is still only a 40 MHz clock.

Even the cheapest SVGA monitors can take at least 35 kHz of line-frequency,
and if you go for a 15" or higher, 56 kHz and up are no longer the
exception. But most of the time they are used only at 32 kHz for either
80x25 or 132x43 modes. ALL VGA textmodes use just the standard VGA 32 kHz
horizontal refresh. If you are the owner of such a monitor, don't you think
it's a shame you only use one fifth of the available resolution in text
mode? Especially if you see what that monitor/SVGA-card combination can do
under Windows or X-Windows.

If you own a VGA card that is NOT detected properly by the kernel (e.g. a
Diamond card), you normally can use only 80x25, 80x28 and 80x50 modes. If
you want to use any other mode (which might or might not be available
through the BIOS) you had only one option: patch the kernel to force
detection of your card. And then you can still only use what your VGA BIOS
manufacturer put into the BIOS. Now you can use this program to get ANY text
mode, independently of BIOSses and detection by the kernel! Only limited by
what your SVGA-card and your monitor can take.

People doing lots of programming, and who don't want to sacrifice speed
(text modes scroll extremely fast) and memory (Xwindows is a real memory
hog) for a nice-looking display will really benefit from this: you get the
graphic detail and high refresh rates of X-windows, with the speed and
ease-of-use of normal text modes. It doesn't take up any more memory than
normal text modes, and it doesn't slow down your machine!

Even if you want to stick with what you had (e.g. 132x43), this program can
help you improve that, too! The so-called "high-res" 132x43 is not that nice
to look at. It uses an 8x8 (sometimes 8x11) pixel font, which shows up as
characters made up of stacked lines. Makes your screen look like in the old
days, when monochrome 80x25 was the standard, and you could actually count
on-screen how many lines your character was made up of. Now you could use
the same text mode, but with a 16-pixel high font, resulting in MUCH crisper
characters, and, if you want, higher refresh (less flicker).


With this program, you could do the following things (providing your video
card is supported, and providing your monitor can handle it, and providing
your video card still works at the higher dot-clock rates):

   50x15 text mode, for those with a visual impairment?
   80x25 text mode with a 32-line character cell (VGA = 16 line)
   80x25 at 100 Hz, or even 150 Hz instead of "just" 70 Hz (= VGA)
   80x25 at 16 kHz interlaced, so you can show your text mode
         on a TV monitor, or tape it on a VCR... (interlacing not supported
         YET. If anyone needs it, let me know)
   100x37 text mode. My favourite for 14" screens. Not available on
          most VGA cards as a standard (some Cirrus Logic cards have it).
          Now everybody can have it. Looks real neat!
   132x43 improved over VGA default: 8x16 character cell instead of 8x8.
          looks MUCH better, especially on 15" (and up) screens.
   110x42 why not? everything is possible...
   160x100 !!! We've tried this on an ET4000 and it's a screamer. On very
           large screens (>17"), this is REAL cool.

And since it uses the same kind of configuration file as the XFree X-server,
it can do everything the X-server can, but in textmode instead of graphics
mode. With a little bit of imagination and clever thinking, you can get
almost any resolution at almost any refresh rate. 

Another possible application: do you have some (old ?) workstation monitor
somewhere, which you would LOVE to use under Linux, but it is a
fixed-frequency one (= only works at ONE, mostly high, horizontal frequency,
say 56 kHz), which does't support standard VGA modes, and thus doesn't
support normal text modes? You would have to start up in X-windows
immediately (xdm) and do all your work from X-windows. But that eats too
much memory, and you have only a Trident card, which is MUCH too slow for X.
Enter "SVGATextMode": now you can be in textmode, at the same 56 kHz
frequency (1024x768 at 70 Hz) as you would in X-windows, on that big 19"
SparcStation monitor you bought for virtually nothing (keep on dreaming ;-)


What does it do?
----------------

SVGATextMode doesn't do a lot! It basically keeps running in native VGA text
mode, as do the "normal" linux consoles. It changes some VGA registers in
order to get different X/Y resolutions, and selects another pixel clock.

SVGATextMode does NOT run in graphics mode, as the name would suggest, and
as the use of an X-Windows-like configuration file would also suggest. The
"SVGA" part of the name refers to the fact that it uses an extra feature
found in all VGA cards: higher available dot clocks.

The advantage: The same blazing text speed as you get from the normal text
consoles. Performance is extremely fast, even on a low-end cheap Trident
card, which is the standard for "slow" _graphics_ performance :-(

The reason: it uses the hardware font-rendering that all VGA cards have.

The Disadvantage: It can only use certain font sizes, and will never support
extended character sets (like UniCode, UTF-8, ISO-10646, ...), unless some
wizzard gets the standard Linux consoles to do that... SVGATextMode can do
everything a standard text console can, but nothing more. SVGATextMode will
not give your text modes features that weren't already available in your
"old" normal text modes.

Of course, proportional fonts are out of the question, as in a normal text
console.


What does it NOT do?
--------------------

SVGATextMode does NOT do anything OTHER than slightly tweaking your text
modes. In fact, there is NO substantial change to what you already have in a
normal "off the shelf" text mode. All it does is just changing a few
parameters here and there. But the main functionality is the same. 

You might have bought yourself a very expensive graphics accelerator with
all 256 MS-Windows raster operations built-in, a blazingly fast blitter
("pixel pusher"), a really sexy line-drawing engine, hardware assisted font
scaling, 8 MB of lightspeed VRAM, a 256-bit wide 500 MHz RAMDAC, 128-bit
memory bus, and whatever more they come up with. You might have a graphics
speed of millions of Gouraud-shaded polygons per second, and a few million
X-stones. You might even have a built-in MPEG decoder on the VGA chip, or a
real-time 3-D rendering engine.

Forget about all that. SVGATextMode WILL NOT BENEFIT from all that junk. The
only advantage your expensive board may have over others in text mode, is
that the maximum allowable text mode clock will probably be a bit higher. AT
least, higher than that 20 $ VGA card your friend has.

SVGATextMode leaves your text mode functionally intact. It just CHANGES some
values here and there: a little more of this, a little faster there, and so
on.

SVGATextMode is a VISUAL enhancement to your Linux text modes, NOT a
functional one! I hope you got the point by now...


Author:
-------

Koen Gadeyne (kmg@barco.be)

*******************************************************************************
* NOTE: When mailing me, please consider the fact that I use a company-paid   *
* E-mail account, and wouldn't like to lose it :-(  So use your common        *
* sense, and if you DO mail, avoid sending MegaBytes of redundant data...     *
* It's a slow and expensive modem link...                                     *
*******************************************************************************


Copyright notice:
-----------------

  SVGATextMode -- An SVGA textmode manipulation/enhancement tool

  Copyright (C) 1995  Koen Gadeyne

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


