[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
uing vbe commands
From: |
Gerardo Richarte |
Subject: |
uing vbe commands |
Date: |
Tue, 02 May 2006 16:52:15 -0300 |
Hi, I'm having problems with the vbe commands, specially if I compile
grub (0.97) myself.
The first problem I had (and could finally solve) was that, in
vbeprobe_func() the low order byte of the variable mode_number was
overwriten (set to zero) by the call to get_vbe_mode_info(). I found
this by adding a grub_printf() before and after this call, and seeing
how the value changed (for example from -1 to 0xffffff00 or from 0x141
to 0x100).
My fix is to make vbe_mode.reserved3 bigger (I made it 190 bytes
instead of the original 189) like in:
shared.h:
struct vbe_mode {
...
unsigned char reserved3[190];
} __attribute__ ((packed));
I read somewhere that this strcture must be 256 bytes, but, as far
as I can count (tried twice) the original structure has 255 bytes, which
would make sence.
In short, my fix is to make reserved3 have 190 bytes.
I also added a new command: setvbe, which will change the video mode
and continue (cut&pasted from testvbe). My plan is to use this to
bootstrap the development of some graphic mode bottable stuff.
At some point I also thought of implementing the support for video
mode selection of the multiboot loader of GRUB Legacy, I don't know if
this makes sence or not, in the view of GRUB2. Any thoughts?
hope this helps.
thanks a lot
gera
- uing vbe commands,
Gerardo Richarte <=