search for: vgasetmode

Displaying 5 results from an estimated 5 matches for "vgasetmode".

2014 Oct 30
0
Display graphic from filename broken?
> Hi, > > the display of LSS16 files from a DISPLAY file (as documented in > http://www.syslinux.org/wiki/index.php/SYSLINUX#Display_graphic_from_filename:) > seems heavily broken since syslinux has been converted from assembler to > C. I already discovered one bug in core/include/graphics.h (and > core/graphics.c): the pointer VGAFilePtr is of type uint16_t*, but > should
2014 Oct 30
3
Display graphic from filename broken?
Hi, the display of LSS16 files from a DISPLAY file (as documented in http://www.syslinux.org/wiki/index.php/SYSLINUX#Display_graphic_from_filename:) seems heavily broken since syslinux has been converted from assembler to C. I already discovered one bug in core/include/graphics.h (and core/graphics.c): the pointer VGAFilePtr is of type uint16_t*, but should be plain char*. This bug causes the
2015 Aug 21
2
[PATCH 2/2] core/graphics: fix lss16 parsing
...++ b/core/graphics.c @@ -54,6 +54,9 @@ typedef struct { static lssheader_t LSSHeader; +static uint16_t buffer_empty = 1; +static int buffer; + #define LSSMagic LSSHeader.LSSMagic #define GraphXSize LSSHeader.GraphXSize #define GraphYSize LSSHeader.GraphYSize @@ -114,15 +117,17 @@ static int vgasetmode(void) static inline char getnybble(void) { - char data = getc(fd); - - if (data & 0x10) { - data &= 0x0F; - return data; + if (buffer_empty) { + buffer_empty = 0; + buffer = getc(fd); + if (buffer == -1) + printf("EOF!\n"); + } else { + buffer >>= 4; + buffer_em...
2015 Aug 20
4
boot logo via boot.txt
We recently have upgraded syslinux and have noticed that the boot logo code via boot.txt no longer works. I have a couple patches that get it close to working but I appear to be having trouble with color maps. Is there someone would want to help me finish figuring this out? Any interest in the patches I have to fix the rle decoder?
2012 Apr 17
2
[GIT PULL] elflink warning fixes and auto extension support
.../core/fs/lib/chdir.c +++ b/core/fs/lib/chdir.c @@ -1,3 +1,4 @@ +#include <unistd.h> #include <core.h> int generic_chdir_start(void) diff --git a/core/graphics.c b/core/graphics.c index 4a4af55..e85787d 100644 --- a/core/graphics.c +++ b/core/graphics.c @@ -92,14 +92,15 @@ static int vgasetmode(void) ireg.eax.w[0] = 0x0012; /* Set mode = 640x480 VGA 16 colors */ __intcall(0x10, &ireg, &oreg); - ireg.edx.w[0] = (uint16_t)linear_color; + ireg.edx.w[0] = (uint32_t)linear_color; ireg.eax.w[0] = 0x1002; /* Write color registers */ __intcall(0x10, &ireg, &oreg); Us...