home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.windows.x.i386unix
- Path: sparky!uunet!spool.mu.edu!uwm.edu!linac!att!cbnewsk!cbnewsj!dwex
- From: dwex@cbnewsj.cb.att.com (david.e.wexelblat)
- Subject: Re: X386 on Hercules and X386 bugs and suggestions
- Organization: AT&T
- Date: Mon, 21 Dec 1992 13:23:32 GMT
- Message-ID: <1992Dec21.132332.11450@cbnewsj.cb.att.com>
- References: <TMH.92Dec20235423@keks.first.gmd.de> <1992Dec21.032715.14701@cbnewsj.cb.att.com> <1992Dec21.052259.24129@athena.mit.edu>
- Lines: 69
-
- In article <1992Dec21.052259.24129@athena.mit.edu> dmatic@athena.mit.edu (Davor Matic) writes:
- >
- > Almost everyone has a monochorme Hercules board laying around somewhere.
- > They are quite obsolete offering only 720x348, but the nice thing about
- > them is that you can get them to work simultaneously with a VGA board
- > and have two monitor heads controlled by your favorite X386 server.
- >
- > So, as my classes ended last Wednesday, I decided to try out my luck and
- > write an additional driver to X386 to handle Hercules boards. And it
- > works! :-) Partly... Here are the problems and suggestions:
- >
-
- Good for you. When you get this working, send it to us and we will
- include it in XFree86.
-
- > [I was workong with X386 version supplied with mit X11R5 release]
- >
-
- Big mistake.
-
- > X386 handles VT (virtual terminal) switches quite poorly. Things work
- > well if one is using only one monitor, but when using two monitors,
- > the routine x386VTSwitch from x386Events.c refreshes only the first
- > screen when entering/leaving VT, and releases only the current screen.
- > This might have been fixed by now, but this behaviour is undesirable
- > when people are using two displays. It seems to me that all screens
- > would have to be released and refreshed when switching VT's.
- >
- > Another problem is that EnterLeaveVT driver functions for the vga
- > drivers are not "reentrant", while they should be. If the server is
- > running on two different boards, when releasing VT's or exiting
- > (abnormally or normally) it has to call EnterLeaveFunc(LEAVE) on all
- > of its active drivers. If one of the drivers disables IO, the server
- > will crash when it attempts to call the next board's
- > EnterLeaveFunc(LEAVE). I fixed it by explicitly calling
- > EnterLeaveFunc(ENTER) before EnterLeaveFunc(LEAVE) in the generic vga
- > EnterLeaveVT.
- >
-
- This is handled in XFree86. Along with lots of other bugs. I suggest
- you upgrade your sources to XFree86 1.1. That will relieve a lot of
- your problems.
-
- >
- > But the biggest problem is tha mfb doesn't cut it for Hercules boards.
- > Even though Hercules frame buffer is directly accesible, the lines are
- > not mapped directly. HGA mapps lines in increments of 4, and then it
- > wraps back. So my screen looks quite strange, having every line
- > scrambeled around by a factor of 4. Are there any mfb (or cfb)
- > implementations that could be given a list of line pointers rather
- > than just a frame buffer pointer and do the right thing? I don't
- > wanna rewrite mfb myself... :-(
- >
-
- Now you know why there's no Hercules driver :-<. It's not going to
- be easy to make this work.
-
- >
- > Thanks for any pointers,
- > Davor
- >
-
-
- --
- David Wexelblat <dwex@mtgzfs3.att.com> (908) 957-5871
- AT&T Bell Laboratories, 200 Laurel Ave - 3F-428, Middletown, NJ 07748
-
- "The meaning of life? That's simple. Try to be happy, try not to hurt
- other people, and hope to fall in love." -- Mallory Keaton
-