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...