home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / windows / x / i386unix / 84 < prev    next >
Encoding:
Text File  |  1992-12-21  |  2.6 KB  |  57 lines

  1. Newsgroups: comp.windows.x.i386unix
  2. Path: sparky!uunet!think.com!enterpoop.mit.edu!bloom-picayune.mit.edu!athena.mit.edu!dmatic
  3. From: dmatic@athena.mit.edu (Davor Matic)
  4. Subject: X386 on Hercules and X386 bugs and suggestions
  5. Message-ID: <1992Dec21.052259.24129@athena.mit.edu>
  6. Sender: news@athena.mit.edu (News system)
  7. Nntp-Posting-Host: e40-008-4.mit.edu
  8. Organization: Massachusetts Institute of Technology
  9. References: <1992Dec20.000426.21774@cbnewsj.cb.att.com> <TMH.92Dec20235423@keks.first.gmd.de> <1992Dec21.032715.14701@cbnewsj.cb.att.com>
  10. Date: Mon, 21 Dec 1992 05:22:59 GMT
  11. Lines: 44
  12.  
  13.  
  14. Almost everyone has a monochorme Hercules board laying around somewhere.
  15. They are quite obsolete offering only 720x348, but the nice thing about
  16. them is that you can get them to work simultaneously with a VGA  board
  17. and have two monitor heads controlled by your favorite X386 server.
  18.  
  19. So, as my classes ended last Wednesday, I decided to try out my luck and 
  20. write an additional driver to X386 to handle Hercules boards.  And it
  21. works! :-)  Partly...  Here are the problems and suggestions:
  22.  
  23. [I was workong with X386 version supplied with mit X11R5 release]
  24.  
  25. X386 handles VT (virtual terminal) switches quite poorly.  Things work
  26. well if one is using only one monitor, but when using two monitors,
  27. the routine x386VTSwitch from x386Events.c refreshes only the first
  28. screen when entering/leaving VT, and releases only the current screen.
  29. This might have been fixed by now, but this behaviour is undesirable
  30. when people are using two displays.  It seems to me that all screens
  31. would have to be released and refreshed when switching VT's.
  32.  
  33. Another problem is that EnterLeaveVT driver functions for the vga
  34. drivers are not "reentrant", while they should be.  If the server is
  35. running on two different boards, when releasing VT's or exiting
  36. (abnormally or normally) it has to call EnterLeaveFunc(LEAVE) on all
  37. of its active drivers.  If one of the drivers disables IO, the server
  38. will crash when it attempts to call the next board's
  39. EnterLeaveFunc(LEAVE).  I fixed it by explicitly calling
  40. EnterLeaveFunc(ENTER) before EnterLeaveFunc(LEAVE) in the generic vga
  41. EnterLeaveVT.
  42.  
  43.  
  44. But the biggest problem is tha mfb doesn't cut it for Hercules boards.
  45. Even though Hercules frame buffer is directly accesible, the lines are
  46. not mapped directly.  HGA mapps lines in increments of 4, and then it
  47. wraps back.  So my screen looks quite strange, having every line
  48. scrambeled around by a factor of 4.  Are there any mfb (or cfb)
  49. implementations that could be given a list of line pointers rather
  50. than just a frame buffer pointer and do the right thing?  I don't
  51. wanna rewrite mfb myself... :-(
  52.  
  53.  
  54. Thanks for any pointers,
  55. Davor
  56.  
  57.