[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issues with GRUB-gfxboot
From: |
chaac |
Subject: |
Re: Issues with GRUB-gfxboot |
Date: |
Mon, 22 Mar 2004 00:02:29 +0200 |
User-agent: |
Mozilla Thunderbird 0.5 (Windows/20040312) |
J. Silverman wrote:
Hi Vesa,
Thank you for offering to take a look at the source code! The link to
the code is:
http://neverborn.org/files/grub-gfxboot/
The person who made the patch created a source and a binary directory.
In the .deb files under the binary dir, there are source files which I
use to create the "message" which is used to create the menu. You might
want to look into that as well as the source code under the source
directory.
Thanks again,
JS
Just looked at it. In actual patched grub there is no problem. But
custom gfxboot utils that make actual image to be show on screen or what
ever also it does. Actually this image seems to contain assembler made
source code and grub stub just calls to code in image that is commanded
to be loaded.
As this file is in assembler and whole drawing to screen is spread all
over the file I don't have _that_ much of time to fix it's problems.
Maybe you could look for RedHat's version as that seems to be more
compatible. But probably doesn't have that fancy MOD player......
But anyway. Some notes about for person fixing it:
- get & read http://www.vesa.org/vbe3.pdf :)
- VBE2/3 support can make your life easier when using linear frame
buffer. Only really old cards supports only < VBE2. Of course you could
also support banked modes.
- make virtual screen buffer for storing on screen gfx.
- make some functionality to draw that buffer to actual screen, to make
it more easier to support multiple cards with different settings.
- if that is not option, make sure when calculating position in screen
to use formula (y * bytes in scan line) + x and _NOT_ currently used (y
* width) + x. And then set appropriate window segment.
- DO NOT use set logical scanline length (some cards BIOS has bugs with
it), instead use GET logical scanline length if needed and use that
information when drawing to screen.
Thanks,
Vesa Jääskeläinen