Subject: Video modes
To: None <port-arm32@NetBSD.ORG>
From: Neil Hoggarth <neil.hoggarth@PHYSIOL.OX.AC.UK>
List: port-arm32
Date: 08/29/1996 10:36:34
[Configuration: BSD-4444 kernel, 1.2-beta sets, new RiscPC 600 h/w]

Would I be correct in saying that the mode string from the !BtRiscBSD
configuration isn't actually used by the kernel when it boots? It gets
passed as an argument, but it appears to me as though RiscBSD actually
uses whatever video mode the machine was in before the bootloader was
run - or at least the video mode that you start in has an effect on
the the video mode used by RiscBSD. I have been using a Risc OS
desktop of 800x600x256, but I've discovered that I get a different
RiscBSD video mode just by changing the desktop to 640x480x256 before
I run the bootloader. Changing the mode string doesn't seem to
make any difference to the display I end up with.

This is particularly relevent to me at the moment because of some
problems that I'm having following a VRAM upgrade.

When I first put RiscBSD on my machine I didn't have any VRAM.  I was
booting from an 800x600x256 desktop and had 1Mbyte of DRAM configured
for video in !BtRiscBSD. This worked OK, although there was some
rubbish on the last few lines on the display.

I bought a 2Mbyte VRAM module, but the machine only recognised 1Mbyte
of VRAM being present, in both Risc OS and RiscBSD. I wrote off to
complain to the supplier but used the "1Mbyte" module for a few days
while I was waiting for a replacement. I changed to bootloader
configuration to use 0K DRAM and RiscBSD still worked OK.

The replacement 2Mbyte module turned up yesterday. It gets recognised
as 2Mbytes by both Risc OS and RiscBSD. When I started up from my
normal 800x600 desktop the display sort of worked, but was
corrupted. It looked like the pixels in each character position where
offset from where they should be - as though the base address for
video memory had been miss-calculated by a few bytes, or something
like that? I subsequently discovered that starting from a 640x480
desktop gives me a working video mode in RiscBSD, bigger characters,
and no rubbish at the bottom of the screen and starting from a
1024x768 desktop gets me a video mode that my monitor can't lock up to
(this isn't really suprising - I have a non-standard monitor which
only does line rates in the range 15-38.5KHz, I had to write a Risc OS
monitor definition file to get it to do 1024x768 at all, and it can
only manage it at about 50Hz refresh rate).

I have a vague memory of reading something somewhere about having to
reconfigure something if one upgraded from 1Mbyte VRAM to 2Mbyte VRAM,
but I can't find it now. My memory may be playing tricks on me.

If anyone out there can give an explanation (or point me in the
direction of an explanation of) how RiscBSD video modes work I'd be
grateful. I'm actually quite happy with the 640x480 RiscBSD text
console but it's a nuisance to be using a different video mode for
booting RiscBSD than I normally use in Risc OS. I also know that I'm
going to want more pixels when I start to use X.

Regards,

+-------------------------------------------------------------------------+
Neil Hoggarth                                 Departmental Computer Officer
<neil.hoggarth@physiol.ox.ac.uk>                   Laboratory of Physiology
http://www.physiol.ox.ac.uk/~njh/                     Oxford University, UK
+-------------------------------------------------------------------------+