[OFF TOPIC?] Fixed Freq Monitor Questions

From: J. Maynard Gelinas <maynard_at_jmg.com>
Date: Sun Mar 22 23:55:35 1998

       OK, This is mildly on topic. My monitor is an HP 1097C, making
it at least 10 years old. However, I am using it with a modern PC, so
that's where the 'on topic' issue gets a little iffy. I'm sure there
are plenty of people here who can answer this question. A pointer to
a FAQ would be most welcome.

      These old monitors are Fixed frequency, unlike our modern
monitors which multisync. The 1097C supports only a 78.125 khz
Horizontal Scan Rate and a 72hz Vertical Refresh Rate. Now a couple
of years ago I foolishly bought one of those cards by Mirage
(www.mirage-mmc.com) which is supposed to be a 'fixed freq video
card'. Actually, it's an OEM Diamond card, basically an S3/968 video
processor with an IBM 52x RAMDAC - ala Diamond Stealth VRAM. The
fixed Freq hacks are basically a resistor (and a jumper selection) to
drive sync over green, and a homebrew PROM to skew the VESA
frequencies for several video and text modes.

     It works, but Mirage hasn't been too helpful with getting a
variety of XFree86 modelines, even though they claim to support Linux
and XFree86. They give out _one_ modeline for 1280 x 1024, which they
swiped from the XFree86 distribution in 'Monitors.txt'. For Windows
and Dos, they give out a video driver which seems to work just fine.
It will even display 320x200 full screen (Quake works great in DOS!),
and boots to a functional 80x24 col text mode. How the hell do they
do this?

      Here is how I'm calculating my video modes based in the
XFree86VideoModes HOWTO (found in every Redhat 5 distribution):

                                         Dot Clock Per Second
 Total Horizontal Pixels Per Line = --------------------------
                                       Horizontal Scanning Rate

     Since my refresh rate must be at 72hz to sync with the HP1097C:

                                         Dot Clock
 Refresh Rate = -------------------------------------------------
                      Horizontal Frame Length * Vertical Frame Length


     So, it's really more constructive to think of this as how many
pixels _total_ do I need to display in order to get a 72 hz vertical
scan rate with any arbitrary dot clock? In this case I need

                                         Dot Clock
 Total Pixels Per Frame (HFLxVFL) = -------------
                                        Refresh Rate

     Since I know my Horizontal Pixels Per Line, I can use this to
determine the number of vertical lines which will support a 72 hz
refresh rate.... hmmm, this is where things get sticky. We'll start
with a DCL of 10Mhz...
 
                                10Mhz Dot Clock
  128 Horizontal Pixels = -----------------------------
                           78125 hz Vertical Scan Rate

                                10 Mhz Dot Clock
  138888 Total Pixels = ---------------------------
                               72 hz Refresh Rate


                                       138888.88 Pixels
   1085 Vertical Lines Per Frame = -----------------------
                                     128 Horizontal Pixels


      Sheesh! A (total) screen resolution of 128H x 1085V? What about
a 20 Mhz dot clock? Well, after graphing the results I quickly
observed this:

  S |
T C |
o R R | 128H 256H 384H 512H 640H 1728H **
T E E | x x x x x x
A E S | 1085V 1085V 1085V 1085V 1085V 1085V
L N |
       |
  DCL ----+------+-------+-------+-------+------- [...] ----+-----
        10 20 30 40 50 135

        (** Perfect for a usful screen resolution of 1280x1024)

        So, based on this, I cannot get small or talored screen
resolutions unless I am willing to accept wide borders and strange
resolutions. Yet my card works....It does _not_ display this
behavior... so I suspect my thinking is to blame. Will someone please
correct me?

Apologies if you consider this post off topic...
J. Maynard Gelinas
Received on Sun Mar 22 1998 - 23:55:35 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:31:10 BST