help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Grub2 Graphics In OS


From: Andrei Borzenkov
Subject: Re: Grub2 Graphics In OS
Date: Fri, 16 Dec 2016 17:09:21 +0300

On Fri, Dec 16, 2016 at 7:21 AM, Tristan ross <address@hidden> wrote:
> Link to code:
> https://github.com/SpaceboyRoss01/ronix/blob/master/src/Kernel/system/graphics.c
> Function is rgb
>

There is no function with this name. Assuming you mean function RGB
and assuming you are trying to create binary pixel value for frame
buffer (and not to simply get 16777215 as result), you can look at
grub_video_fb_map_rgb() in grub sources to get the idea how it can be
done, except this obviously depends on representation of individual
color value which you did not explain as well ...

> 8:16 PM, December 15, 2016, Andrei Borzenkov <address@hidden>:
>
> 16.12.2016 07:02, Tristan ross пишет:
>
>
>  I use GRUB2 to boot up and set graphical mode. The function reads the
> multiboot
>  headers and uses it to render.
>
>
> Please post you code in plain text without any extra characters so it is
> readable. Or post direct link to your code.
>
>  7:45 PM, December 15, 2016, Andrei Borzenkov <address@hidden>:
>
>      15.12.2016 22:29, Tristan ross пишет:
>
>               Hey, I've got my os to boot with grub2 and it goes into
> graphics mode.
>
>
>      "It" - grub or os?
>
>               I'm trying to set the rgb color of pixels but I just get blue
> when I
>               run my function to generate an rgb color.
>
>
>      How is your function related to grub?
>
>               Code is at [1]https://github.com/SpaceboyRoss01/ronix
>
>
>      There is no single commit message there to understand what you are
> doing.
>
>               Â
>
>               Code to generate color:
>
>               unsigned int graphics_color(int r,int g,int b) {
>               Â Â Â unsigned int color = ((r*1000)+(g*100)+(b*10));
>
>
>      This is unreadable and in any case, posting random snippet without
>      telling where this snippet comes from is useless. Please post in plain
>      text and explain, where this code comes from and what you are
> attempting
>      to do.
>
>               Â Â Â switch(graphics_mbi->framebuffer_type) {
>               Â Â Â Â Â Â Â case MULTIBOOT_FRAMEBUFFER_TYPE_RGB:
>               Â Â Â Â Â Â Â Â Â Â Â color = ((r <<
>               graphics_mbi->framebuffer_red_mask_size) - r) <<
>               graphics_mbi->framebuffer_red_field_position;
>               Â Â Â Â Â Â Â Â Â Â Â color += ((g <<
>               graphics_mbi->framebuffer_green_mask_size) - g) <<
>               graphics_mbi->framebuffer_green_field_position;
>               Â Â Â Â Â Â Â Â Â Â Â color += ((b <<
>               graphics_mbi->framebuffer_blue_mask_size) - b) <<
>               graphics_mbi->framebuffer_blue_field_position;
>               Â Â Â Â Â Â Â Â Â Â Â break;
>               Â Â Â Â Â Â Â case MULTIBOOT_FRAMEBUFFER_TYPE_EGA_TEXT:
>               Â Â Â Â Â Â Â Â Â Â color = '\\' | ((r*1000)+(g*100)+(b*10));
>               Â Â Â Â Â Â Â Â Â Â break;
>               Â Â Â }
>               Â Â Â #ifdef DEBUG
>               Â Â Â debugf("RGB(%d,%d,%d) = %d\n",r,g,b,color);
>               Â Â Â #endif
>               Â Â Â return color;
>               }
>               Â
>               I'm running graphics_color(255,255,255) which returns
> -50200321
>               How do I fix this so it returns 16777215
>               I used the grub2 multiboot documentation.
>
>            References
>
>               1. https://github.com/SpaceboyRoss01/ronix
>            _______________________________________________
>            Help-grub mailing list
>          address@hidden <mailto:address@hidden>
>          https://lists.gnu.org/mailman/listinfo/help-grub
>
>
>
>
>  --
>  Sent from Yandex.Mail for mobile
>
>
>
>
> --
> Sent from Yandex.Mail for mobile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]