David W. Koeller
2006-Oct-25 16:06 UTC
[syslinux] Using the cat.c32 sample as a functional equivalent to the FN keys in vesa mode
I have been hacking around with the new vesa boot menus and I had a couple questions. Do you currently have a method to set the SHADOWING options that are coded in menumain.c from within the menu config file? I saw something in readconfig that looked like you were parsing single characters to map to SHADOW_NONE, etc. constants for these parameters, but I did not follow it. The default shadowing looked horrible on a white background image I was using. I managed to turn it off by recompiling the menumain.c with different color schemes. I have modified the cat.c32 sample under com32 to invoke a vesa console video mode and set the color table accordingly based on code from menumain.c. This can then be called from within vesamenu.c32 to cat a file containing the help text for optional kernel parameters that could be passed at the command prompt. I would really like to add the equivalent of a boot: prompt at the bottom of this code in the context of vesa so it behaves similar to the traditional FN keys with .msg files. I currently just issue a get_key call at the end of the cat.c file and inform the user to hit a key to get the boot: prompt which works. The only drawback is that the help is now gone when they go to type since we are back in a different video mode. On the same note, is there a return code or call sequence I can invoke from within cat.c to reload the default calling vesamenu.c32 if the user choses the cat.c32 help and then wants to return to the main menu without first hitting enter through the boot: parameter? All in all, the new vesa menus are pretty awesome looking. Great work. Dave
H. Peter Anvin
2006-Oct-25 21:37 UTC
[syslinux] Using the cat.c32 sample as a functional equivalent to the FN keys in vesa mode
David W. Koeller wrote:> I have been hacking around with the new vesa boot menus and I had a > couple questions. > > Do you currently have a method to set the SHADOWING options that are > coded in menumain.c from within the menu config file? I saw something > in readconfig that looked like you were parsing single characters to map > to SHADOW_NONE, etc. constants for these parameters, but I did not > follow it. The default shadowing looked horrible on a white background > image I was using. I managed to turn it off by recompiling the > menumain.c with different color schemes. >Yes, but you have to get 3.31 to do that. See MENU COLOR in README.menu in 3.31.> I have modified the cat.c32 sample under com32 to invoke a vesa console > video mode and set the color table accordingly based on code from > menumain.c. This can then be called from within vesamenu.c32 to cat a > file containing the help text for optional kernel parameters that could > be passed at the command prompt. I would really like to add the > equivalent of a boot: prompt at the bottom of this code in the context > of vesa so it behaves similar to the traditional FN keys with .msg > files. I currently just issue a get_key call at the end of the cat.c > file and inform the user to hit a key to get the boot: prompt which > works. The only drawback is that the help is now gone when they go to > type since we are back in a different video mode. > > On the same note, is there a return code or call sequence I can invoke > from within cat.c to reload the default calling vesamenu.c32 if the user > choses the cat.c32 help and then wants to return to the main menu > without first hitting enter through the boot: parameter?Yes, there is an API call INT 22h AX=0004h Run default command.> All in all, the new vesa menus are pretty awesome looking. Great work.Thank you :) -hpa