6600joef@ucsbuxa.ucsb.edu (Joe Foster) (06/10/91)
Help! I'm attempting to write a device driver to allow my programs, running on SCO XENIX/386 2.3.3, to fully use my super-VGA card, an ATI VGAWonder. It has full VGA compatibility, so XENIX thinks it's a plain old VGA. However, SCO did not completely document the special interface I'm supposed to use to support the multiscreens. So far, my driver can detect the card and use ioctl's to tell processes how much memory is on the card, what version card is installed, etc. I have not been able to initialize any text or graphics modes successfully. Well, here are some specific questions: 1) Is my put-character routine responsible for cr/nl translation, etc? Each screen buffer has a termio struct attached to it, but am I responsible for maintaining and interpreting it? 2) When and how should my driver allocate memory for saving the multiscreens? 3) How should my driver handle vidi font requests? 4) Do I have to support the VGA modes myself, or is there a way I can convince SCO's VGA driver to cooperate with mine so I don't have to reinvent so many wheels? 5) How does my driver report error conditions, such as "insufficient multiscreen memory" if someone should try to switch into 132x44 mode when there isn't enough memory to save its state during a multiscreen switch? 6) Is there additional (written) documentation I can get my hands on? SCO's video driver interface is pretty different from normal character device drivers, and most of the assumptions I've made about the video interface so far have come back to kick my tail. Thanks! Joe Foster 6600joef@ucsbuxa.ucsb.edu