From: Yoichi Shinoda Subject: FYI: 800x600 on Cyber{9385/2,9320} with Xaccel/BSDI Date: Thu, 19 Sep 1996 00:28:29 JST To: sanpei@yy.cs.keio.ac.jp cc: shinoda@jaist.ac.jp Hi. There is no need for crude hack like jumping into vesa graphic mode at boot time. We only need to manipulate a single vga extension register with a user mode program to enable 800x600 on these cyber chips with Xaccel driving them as TGUI9660. Following is the short program which does this task. ---------------------------------------------------------- #include #include #include main(ac, av) int ac ; char *av[] ; { (void)getireg(0x3c4, 0x0b) ; setireg(0x3c4, 0x0e, getireg(0x3c4, 0x0e) | 0x80) ; if (ac > 1) setireg(0x3ce, 0x30, 0x81) ; else setireg(0x3ce, 0x30, 0x00) ; } setireg(base, idx, val) { outb(base, idx) ; outb(base + 1, val) ; } getireg(base, idx) { outb(base, idx) ; return(inb(base + 1)) ; } ---------------------------------------------------------- Compile this program into, say, Xcyber. Calling it without arguments will set the chip for 800x600. Calling it with any arguments will set the chip back for 640x480 emulation. Typical usage would be something like: Xcyber ; xinit(or startx) ; Xcyber back This program was tested on TP560, but should work for most cyber based systems. Exiting from X will occasionally leave the console in weird state, but this is out of a scope of this hack. Oh yes, one more thing. If your xinit (or startx) exits with your X server running, you may end up with vertical stripes when Xcyber sets things back for 640x480. Make sure that you terminate the X server. Have fun. --- shinoda