Index: [thread] [date] [subject] [author]
  From: Andreas Beck <becka@rz.uni-duesseldorf.de>
  To  : ggi-develop@eskimo.com
  Date: Mon, 24 May 1999 13:07:46 +0200

Re: Strange fb-stuff?

> I have only 2MB RAM on my videocard, so I'm trying to get as much
> out of it as possible. I just saw somewhere that the videomode 1168x876 is
> probably the highest resolution I can use with 16bpp, instead of the
> 1152x864 I've been using up to now. 

Hmm in Theory you should be able to go as far as

1176*882 = 1037232 < 1048576 = 1024*1024

(I compare 16 bit word here, you need 1037232, you have 2MB/2 = 1M 16-bit
words)

> But, on the console, when I change
> to 1168x876, I first realised I only had 51 lines, as opposed to 54 lines

? How do you find that value ? Count some cleverly drawn lines ?

I suppose you have tunes the picture size to have a pretty loose fit WRT to
the monitor edges, so you would see extra chars appearing - right ?

> when I'm running 1154x864. So I looked at what fbset gave me, and that
> was:
> mode "1168x876x16"
>     # D: 142.857 MHz, H: 89.509 kHz, V: 102.297 Hz
>     geometry 1168 819 1280 819 16
>     timings 7000 236 80 48 6 112 2
> endmode
 
> Why only 819?

Look at the virtual resolution. The card does not seem to allow anything
between 1152 (btw - you talk about 1154, which is very strange, as few cards
can do resolutions with x not being a multiple of 8 pixels) and 1280 for
virtual resolution. That leaves you with:

1024*1024/1280=819.20000


> Another thing I was wondering about, was how to choose a dotclock. Do I
> use the highest one possible that works with the resolution, or...?

You choose it due to maximum monitor ratings. A few rule-of-thumb formulas:

horiz-sync = dotclock   / (xresolution * 1.2)
vert-sync  = horiz-sync / (yresolution * 1.2)

The "magic" 1.2 is there for the overscan and the retrace area. That's where
the thumb varies in size.

So if you have a monitor for say 48kHz, 100Hz and want 1024x768, you try:

1. We want max vert-sync (flicker rate) =>
hsync= 100Hz * 768 *1.2 = 92160.0 Hz

Ouch. That exceeds the vsync limit. O.K. - so we have to constrain it:

vsync= 48000Hz / (768*1.2) = 52.08333 Hz 
(ouch ... that will flicker ... but it's the best we can do)

dotclock= 48000Hz * 1024*1.2 = 58982400.0

that would make a 59MHz clock. To leave some slack for tuning the borders
and sizes, I'd use 57 or 55.

> Another thing is that, on the console, when I use fbset to resize, the
> pointer (gpm) cannot move outside the space the screen took before I
> resized. Is there something I can do about that?

Kill and restart it.

CU, ANdy

-- 
= Andreas Beck                    |  Email :  <andreas.beck@ggi-project.org> =

Index: [thread] [date] [subject] [author]