[syslinux] Patch to vesamenu.c32 from Syslinux 3.51

Collins, Jeremy Collins_Jeremy at sccollege.edu
Mon Oct 1 14:27:48 PDT 2007


I was having a display problem with memtest86 and dos via a memdisk
image not displaying properly when launched using vesamenu.c32 and using
a PNG background image. Instead of proper text output the display mode
is not changed and the existing menu image is corrupted by the outputted
text. This seems to be similar or identical to a problem describe in a
previous mailing:
http://syslinux.zytor.com/archives/2007-May/008442.html

Many kernels and OS seem to assume the display will still be in text
mode and do not change the video mode prior to writing text. After
launching these kernels create corruption in the existing displayed
image and/or make it appear as though the system is hung while the
underlying kernel starts. This patch changes the video mode back to a
text mode before launching the kernel allowing the display to properly
render for those apps that don't set the display mode before writing: 

--- menumain.orig       2007-09-27 16:27:45.000000000 -0700
+++ menumain.c  2007-09-27 16:27:30.000000000 -0700
@@ -1036,6 +1036,8 @@
   } else {
     if (type < KT_KERNEL)
       type = KT_KERNEL;
+    ireg.eax.w[0]= 0x0003; /* Return to text mode */
+    __intcall(0x10, &ireg, NULL);
     ireg.eax.w[0] = 0x0016;    /* Run kernel image */
     ireg.esi.w[0] = OFFS(kernel);
     ireg.ds       = SEG(kernel);




More information about the Syslinux mailing list