File syslinux-3.86-compat.diff of Package syslinux

diff --git a/core/keywords b/core/keywords
index c289ae2..b7d4c4b 100644
--- a/core/keywords
+++ b/core/keywords
@@ -6,6 +6,7 @@ initrd
 config
 default
 ui
+gfxboot
 display
 font
 implicit
diff --git a/core/keywords.inc b/core/keywords.inc
index d0f7db3..fc00ad7 100644
--- a/core/keywords.inc
+++ b/core/keywords.inc
@@ -91,6 +91,7 @@ keywd_table:
 		keyword f0,		pc_filename,	FKeyN(10)
 		keyword f11,		pc_filename,	FKeyN(11)
 		keyword f12,		pc_filename,	FKeyN(12)
+		keyword gfxboot,	pc_gfxboot
 %if IS_PXELINUX
 		keyword ipappend,	pc_ipappend
 %endif
diff --git a/core/parseconfig.inc b/core/parseconfig.inc
index 65d71c9..2302536 100644
--- a/core/parseconfig.inc
+++ b/core/parseconfig.inc
@@ -30,6 +30,20 @@ pc_default:	cmp ax,[DefaultLevel]
 		ret
 
 ;
+; "gfxboot" command; Shorthand for "ui gfxboot.c32"
+;
+pc_gfxboot:
+		mov ax,2
+		mov [DefaultLevel],ax			; Setup UI mode
+		mov si,gfxboot_cmd
+		mov di,default_cmd
+		call strcpy
+		dec di
+		call getline
+		mov byte [di-1],0		; null-terminate
+		ret
+
+;
 ; "ontimeout" command
 ;
 pc_ontimeout:	mov di,Ontimeout
@@ -439,6 +453,7 @@ commit_vk:
 		section .data
 vk_overflow_msg	db 'Out of memory parsing config file', CR, LF, 0
 SerialNotice	db 1			; Only print this once
+gfxboot_cmd	db 'gfxboot.c32 ', 0
 
 		section .bss
 		alignb 4