From: Christian Huebner (crh@regent.e-technik.tu-muenchen.dbp.de)
Date: 01/29/93


From: crh@regent.e-technik.tu-muenchen.dbp.de (Christian Huebner)
Subject: Diamond Stealth and X11 RUNNING!
Date: Fri, 29 Jan 1993 13:13:08 GMT

Hello,

 I run my Diamond Stealth in X11 1024x768 256 color mode. You can do
 it, too, if You ain`t afraid of a bit of hacking. The problem is the
 nonstandard clockchip on the Stealth. It only features three clock
 registers. The first two are fixed on 25/28 MHz. The third one has to
 be preset for operation and Diamond doesn`t issue the code for the
 presetting.

 The way to do it anyway is a call to the BIOS of your Stealth. Of
 course You can do that only in real mode (i.e. before Linux switches
 to protected mode for good.
 
 The steps to follow:
   1) Make sure You got everything to rebuild Your kernel. I am
      assuming You don`t do it for the first time.
   2) find a file `setup.S in the directory `/usr/src/linux/boot`.
      Edit it:
   3) Find a convenient spot to insert a few lines of assembler code.
      You will need to trash ax and bx, so save them if necessary.
   4) Insert this code:
            mov ax,#0x4f02 (VESA offset for mode-switching)
            mov bx,#0x??? (Where ??? represents the VESA mode number
                           from Your handbook.)
            int 0x10 (Switch to mode ???)
            mov ax,#0x4f02
            mov bx,#0x03 (mode CO80) You can use 80x50 if You find out
                                      the correct mode number. I could
                                      not find it anywhere.
            int 0x10

WARNING!!! You got to look up tha max. possible frequency for Your
monitor and set the VESA mode accordingly. If You use too high a
freq. You will damage Your Monitor!!!

   5) Make the kernel and install it as usual. Don`t forget to run lilo
      after new installation.
   6) Install the X386S3 package according to directions. If You don`t
      have it, get it (maybe from tsx-11, I don`t know. The site I got
      it from is ftp.robots.ox.ac.uk).
   7) Modify the Xconfig: In the line, where the clocks are listed
      (e.g. 25 28 35 42 33 ...) enter 25 28 xx (the xx represents the
      clock frequency You want to use. Don`t worry, if You don`t have
      the exact setting. The 1024x768 ni setting in the most Xconfigs
      works fine. You can also use 800x600 or 1024x768i. Just make sure
      the xx in the clocks line matches the setting in the mode
      definition line. (e.g. "1024x768ni" xx 1024 1048 1096 1200 ...)
      Remove the reference to any other mode in the mode line. It has
      to read "1024x768ni" "640x480" assuming You use the 1024x768ni
      clock setting.
   8) Type 'startx' at the command prompt.
   9) I hope X11 runs correctly.

 There is one thing I haven`t tried yet: I think it should be possible
 to create an 800x600 mode using the 1024x768 clock setting (maybe
 useful on 14" tubes).

 One more thing: I didn`t invent this method myself. I got the idea
 from some experienced Linuxer. Unfortunately I misplaced the mail,
 which he sent me and I can`t remember his name. Nevertheless I am
 grateful he showed me a way to use my Stealth with X.

 Happy linuxing

 Chris
 
 Any more questions? Mail to me (crh@regent.e-technik.tu-muenchen.de)