Subject: Re: Screen resolution (was: Feb 8 snapshot problems)
To: None <port-macppc@netbsd.org>
From: Monroe Williams <monroe@pobox.com>
List: port-macppc
Date: 03/12/2000 05:54:13
on 3/12/00 1:46 AM, Havard.Eidnes@runit.sintef.no at
Havard.Eidnes@runit.sintef.no wrote:

>> You might be able to get around this with an Interex Mac ->
>> VGA monitor adapter, forcing it into 832x624. (at least hopefully)
> 
> Hm, the screen I have is an original Apple 16" monitor,
> "Macintosh 16" Color Display", M1298.  I don't understand how a
> mac->vga adapter can help?
> 
>> That should work if its an ATI based graphics chip, I can't
>> remember what drives the 7600. If its Valkrye(?) you're probably
>> out of luck as that controller is pretty dumb about resolution
>> switching. If it is ATI based, I might be able to figure something
>> out...

The 7600 uses Apple's "/chaos/control" video, which is not ATI-based AFAIK.
It may very well be something Apple cooked up -- I've never heard it called
anything but /chaos/control.

Also, if the OF driver for this device in the 7600 is similar to the one in
the 7500 (which I believe it is -- the machines are almost identical after
you've dumped the 7500's original PPC 601 processor card), it doesn't pay
any attention to the monitor sense codes or the resolution set by MacOS.  It
always brings up the screen in 640x480x8, and (at least on my 7500) almost
always with a refresh rate of 120Hz.  (Once in a blue moon it comes up at
60Hz, and I've never figured out what causes it.)  This makes reading the
console from across the room pretty easy, but running X gets a bit cramped.

I've also noticed that the X display actually wraps around so that the
rightmost 8 pixels or so are on the left side of the screen.

> Although I hate to say it, LinuxPPC gets this part right, although
> that may be because it boots via the MacOS boot loader, causing the
> card to be properly initialized?

LinuxPPC has a driver specific to the /chaos/control video hardware. The
very first part of their boot sequence relies on the mode that MacOS set up,
but they do something to the video timings pretty early in the boot process.
I haven't looked at their code in much detail, but I know that they have a
hardware-specific driver, and I know that the video timings change after
just a few lines of boot log.

Here's a couple of questions for the list:

- If someone wanted to add knowledge of certain video hardware to
NetBSD-macppc with the intention of supporting resolution switching and bit
depth changes in the console, where would be the best/most proper/least
insane place for said person to start?  A new device that attached instead
of ofb* on this hardware?

- Is there any infrastructure in place for changing console video modes in
other NetBSD ports?  (ioctls, command line utilities, etc.)

- Has anyone talked to the XFree86 folks about support for accelerated X on
NetBSD-macppc?  It looks like they already support NetBSD-i386 and LinuxPPC
(and Linux for alpha as well), and their developer page states that they
refuse to include any GPL or LGPL code in their core distribution.
(Kindred spirits to the NetBSD project?  Hmmm...)

-- monroe
------------------------------------------------------------------------
Monroe Williams                                         monroe@pobox.com