[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: EGA driver for Xfree ?



  Some hours ago, I sent a reply to this message, but didn't see a copy of it
on the debian mailing list, so I'm resending it.  I hope someone can make use
of the information provided.

  I have a driver for the EGA monitor/card that works under XFree86 3.2.1,
or the latest version.  Currently using my EGA monitor on my debian linux
box, and it works just fine... until I can save enough money to buy myself
a SVGA monitor :-)

  The thing is, that XFree86 gives you the ability to use your old EGA card
and monitor, by giving you such a free access to the settings they use.  The
calculations done for an EGA and a VGA are the same, with so small differences
that they can be easily corrected.  To have your EGA work, you only need to
set up a proper modeline for your VGA16 server.  As these aren't provided by
XFree86, you have to hand edit the XF86Config file, after having filled in the
proper information of your card, mouse, keyboard, etc.  running xf86setup.

  After xf86setup, you can edit the XF86Config file, which will reside in
/etc or /etc/X11... here is a guideline from my own setup...

Section "Monitor"
  Identifier	"My Monitor"
  VendorName	"Victor Technologies"
  ModelName	"Enhanced Color Monitor"

  HorizSync	12-65     # To ensure the server allows me to do some tests
  VertRefresh	40-150

# The clock used here(28.3), must be the second clock that appears in the
# clock line, in the Device section, whatever the numbers.  If you were
# using CGA, it should be the first clock :-)

  Modeline "640x350"	28.3   656  736  744  760   350  363  362  366
  Modeline "656x350"	28.3   656  700  708  760   350  370  391  400
EndSection

Section "Device"
  Identifier	"Generic VGA"
  VendorName	"Unknown"
  Boardname	"video7"
  Chipset	"generic"
  VideoRam	512
  Clocks	24.5 28.3 36.0 43.8
EndSection

Section "Screen"
  Driver	"VGA16"
  Device	"Generic VGA"
  Monitor	"My Monitor"
  Subsection "Display"
    Modes	"656x350" "640x350"
    ViewPort	0 0
    Virtual	800 600
    Visual	"StaticColor"
  EndSubsection
EndSection


  Using this, should give you a stable display with XFree86... but with a
great reduction in visualisation, in regard with a VGA.  First, the modeline
could be improved... the second, the colors are all mixed up in a bundle of
ugly colors.  Both can be cured... the best way to cure this is to make a
seperate 'Xega' server, with the link kit (as I've done, and is available
to those who are interested).

  Now, the colors... on a VGA16 server, the Attribute controller holds an
array of 16 indexes to the DAC's 256 color entries.  On the EGA however, the
Attribute controller holds the 16 colors, each of which can be a 1 color
from a palette of 64 colors.  To further complicate it, X works by first
selecting the black color pixel, and then the white color pixel.  This means,
that the first color in your palette is the black color, the second should
represent the white color... thereafter the other colors.  But in a normal
VGA/EGA environment these are quite different.

  However, you can change the colors to correct colors by simply poking the
Attribute controller with the correct values, after you've started the
server... the following values should be poked into indexes [0..15] of the
Attribute controller...

index	value	color
 0	 0	black
 1	63	white
 2	 7	grey
 3	 1	blue
 4	 9	lightblue
 5	56	dimgrey
 6	27	cyan
 7	 2	green
 8	18	lightgreen
 9	23	brightgreen
10	48	brown
11	38	orange
12	54	yellow
13	 5	violet
14	45	lightviolet
15	36	red

  ...or just link a new server, with the code to set these values into the
attribute controller upon call to server init.

Hope this will help.


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-REQUEST@lists.debian.org . Trouble? e-mail to Bruce@Pixar.com


Reply to: