[Oberon] VESA code removed in Bluebottle?

Stefan Salewski Salewski at PHYSnet.Uni-Hamburg.de
Tue Apr 6 20:13:42 CEST 2004

On 6. April 2004 15:13 Paul Reed wrote:

> Stefan,
> I can probably help with your hardware programming and VESA issues
> (I've implemented a banked VESA 1.x driver for my own version of
> the Oberon system) but I have a couple of comments before we start:
> 1. I've actually had the OPPOSITE problem with Linux (Knoppix) and
> my TFT, which only does 60Hz vsync.  The default refresh rate for
> my video card in 1280x1024 seems to be 85Hz (it's an SiS chip), and
> my TFT goes blank, saying out of range.  Aaargh!
> 2. Are you saying that the Native DisplayLinear.Mod works correctly
> on your system?
> 3. (Not for Stefan!)  Why was the display driver changed anyway? 
> Pieter seemed to keep the drivers in step between Aos and Native,
> for exactly this kind of reason, I presume. :)
> Paul Reed
> --
> Oberon at inf.ethz.ch mailing list for ETH Oberon and related systems
> https://www.mail.inf.ethz.ch/lists/listinfo/oberon

Thanks for your reply.

Yesterday I got a private reply from Andre Fischer of ETH. He has 
removed the VESA-Code of Pieter Muller from BlueBottle: With the 
current stable release of BlueBottle, a VESA-screen-resolution up to 
1280x1024 can be selected with a simple two byte VESA-Hexcode, which 
is used in the bootloader. But it is not possible to change refresh 
rate. This is convenient for people with a 1024x768 or 1280x1024 
TFT-monitor, but not so nice for people with a CRT-monitor or a TFT 
with 1600x1200 resolution. Selecting refresh rate from within 
Oberon-module is not easy, Pieter Muller has done much work in module 
DisplayLinear.mod to do it. Maybe it is even more complicated in 
Bluebottle. Andre Fischer preferes to set refresh rate in the 
Bluebottle-Bootloader, called Boot.asm or BBL.asm. But problem is 
that codesize of Boootloader is limited to 4 blocks, and coding all 
VESA stuff in assembler is much work.

Currently I dont know what is the best solution:
For my personal needs, it is the simplest and fastest solution to 
exchange my CRT with a TFT. We have a few TFT with 1280x1024 here at 
the institute, I think is will be possible to exchange my CRT. But of 
course better support of screenmodes is really important. Many people 
will still use CRT, some will use TFT with 1600x1200 or even more 
resolution, some may wish to use strange (notebook) resolutions like 
1024*960. This will not work with the current Bluebottle code. I dont 
know if TFT with digital interface will work.

Last sunday I spent a few hours reading the VESA-manuel. There are 
much strange things: 16-BIT-Realmode, FAR pointers, INT 10h 
interrupt. All dirty low-level DOS stuff. Its not easy to use it from 
Bluebottle. I think Pieter Muller have get it working on last release 
of Native Oberon (Module DisplayLinear.mod). On my computer 
Native-Oberon  give me 1280x1024 at 75 Hz. But I am not absolutly 
sure if this is really done using VESA code. 

Personally I dont like VESA too much: Ugly code, and only some of 
their specs are free. For a manual which teaches how to calculate 
monitor timing parameters they request 300 US-Dolar! Linux comunity 
seems to prefer writing native display drivers. But I think this is 
not easy too, and there exists many different graphic cards without 
public available specs. Just visit www.matrox.com, have not found any 
technical documentation for my G450! (But I know there was a very 
large technical document available for older G400 some years ago, and 
I still have a copy! I will ask Matrox why the have removed specs.)

Best regards

Stefan Salewski 

More information about the Oberon mailing list