Index: trunk/Assembly_Library/Inc/MenuEvents.inc
===================================================================
--- trunk/Assembly_Library/Inc/MenuEvents.inc	(revision 491)
+++ trunk/Assembly_Library/Inc/MenuEvents.inc	(revision 492)
@@ -50,5 +50,5 @@
 	;	DS:SI:		Ptr to initialized MENUINIT struct
 	.InitializeMenuinitFromDSSI		resb	2
-%define MENUEVENT_InitializeMenuinitFromDSSI MENUEVENT.InitializeMenuinitFromDSSI
+MENUEVENT_InitializeMenuinitFromDSSI 	equ 	MENUEVENT.InitializeMenuinitFromDSSI
 
 	; Parameters:
@@ -58,5 +58,5 @@
 	;				Clear to cancel exit
 	.ExitMenu						resb	2
-%define MENUEVENT_ExitMenu MENUEVENT.ExitMenu
+MENUEVENT_ExitMenu 					equ 	MENUEVENT.ExitMenu
 
 %ifdef MENUEVENT_IDLEPROCESSING_ENABLE
@@ -65,5 +65,5 @@
 	; See the definition of MENUEVENT_IDLEPROCESSING_ENABLE below.
 	.IdleProcessing					resb	2
-%define MENUEVENT_IdleProcessing MENUEVENT.IdleProcessing
+MENUEVENT_IdleProcessing 			equ		MENUEVENT.IdleProcessing
 %endif
 
@@ -72,10 +72,10 @@
 	;	DX:			Index of previously highlighted item or NO_ITEM_HIGHLIGHTED
 	.ItemHighlightedFromCX			resb	2
-%define MENUEVENT_ItemHighlightedFromCX MENUEVENT.ItemHighlightedFromCX
+MENUEVENT_ItemHighlightedFromCX 	equ		MENUEVENT.ItemHighlightedFromCX
 
 	; Parameters:
 	;	CX:			Index of selected item
 	.ItemSelectedFromCX				resb	2
-%define MENUEVENT_ItemSelectedFromCX MENUEVENT.ItemSelectedFromCX
+MENUEVENT_ItemSelectedFromCX 		equ		MENUEVENT.ItemSelectedFromCX
 
 	; Parameters:
@@ -83,5 +83,5 @@
 	;	AH:			Keyboard library scan code for the key
 	.KeyStrokeInAX					resb	2
-%define MENUEVENT_KeyStrokeInAX MENUEVENT.KeyStrokeInAX
+MENUEVENT_KeyStrokeInAX 			equ 	MENUEVENT.KeyStrokeInAX
 
 	; Parameters:
@@ -90,6 +90,6 @@
 	.RefreshTitle					resb	2
 	.RefreshInformation				resb	2
-%define MENUEVENT_RefreshTitle MENUEVENT.RefreshTitle
-%define MENUEVENT_RefreshInformation MENUEVENT.RefreshInformation
+MENUEVENT_RefreshTitle 				equ		MENUEVENT.RefreshTitle
+MENUEVENT_RefreshInformation 		equ		MENUEVENT.RefreshInformation
 
 	; Parameters:
@@ -97,5 +97,5 @@
 	;	Cursor has been positioned to the beginning of item line
 	.RefreshItemFromCX				resb	2
-%define MENUEVENT_RefreshItemFromCX MENUEVENT.RefreshItemFromCX
+MENUEVENT_RefreshItemFromCX 		equ		MENUEVENT.RefreshItemFromCX
 endstruc
 
Index: trunk/Assembly_Library/Src/Display/DisplayPage.asm
===================================================================
--- trunk/Assembly_Library/Src/Display/DisplayPage.asm	(revision 491)
+++ trunk/Assembly_Library/Src/Display/DisplayPage.asm	(revision 492)
@@ -41,4 +41,15 @@
 
 
+%ifdef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
+	%define EXCLUDE
+	%ifdef MODULE_HOTKEYS
+		%undef EXCLUDE
+	%endif
+	%ifdef MODULE_BOOT_MENU
+		%undef EXCLUDE
+	%endif
+%endif
+
+%ifndef EXCLUDE		
 ;--------------------------------------------------------------------
 ; DisplayPage_GetColumnsToALandRowsToAH
@@ -56,5 +67,6 @@
 	mov		ah, 25							; Always 25 rows on standard text modes
 	ret
-
+%endif
+%undef EXCLUDE		
 
 ;--------------------------------------------------------------------
Index: trunk/Assembly_Library/Src/Display/DisplayPrint.asm
===================================================================
--- trunk/Assembly_Library/Src/Display/DisplayPrint.asm	(revision 491)
+++ trunk/Assembly_Library/Src/Display/DisplayPrint.asm	(revision 492)
@@ -296,5 +296,15 @@
 %endif
 
-
+%ifdef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
+	%define EXCLUDE
+	%ifdef MODULE_HOTKEYS
+		%undef EXCLUDE
+	%endif
+	%ifdef MODULE_BOOT_MENU
+		%undef EXCLUDE
+	%endif
+%endif
+
+%ifndef EXCLUDE				
 ;--------------------------------------------------------------------
 ; DisplayPrint_RepeatCharacterFromALwithCountInCX
@@ -324,5 +334,6 @@
 .NothingToRepeat:
 	ret
-
+%endif
+%undef EXCLUDE
 
 ;--------------------------------------------------------------------
Index: trunk/Assembly_Library/Src/Keyboard/Keyboard.asm
===================================================================
--- trunk/Assembly_Library/Src/Keyboard/Keyboard.asm	(revision 491)
+++ trunk/Assembly_Library/Src/Keyboard/Keyboard.asm	(revision 492)
@@ -289,4 +289,17 @@
 ;		Nothing
 ;--------------------------------------------------------------------
+
+%ifdef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
+	%define EXCLUDE
+	%ifdef MODULE_HOTKEYS
+		%undef EXCLUDE
+	%endif
+	%ifdef MODULE_BOOT_MENU
+		%undef EXCLUDE
+	%endif
+%endif
+		
+%ifndef EXCLUDE
+
 ALIGN KEYBOARD_JUMP_ALIGN
 Keyboard_GetKeystrokeToAXandLeaveItToBuffer:
@@ -294,4 +307,5 @@
 	int		BIOS_KEYBOARD_INTERRUPT_16h
 	ret
+		
 ALIGN KEYBOARD_JUMP_ALIGN
 Keyboard_GetKeystrokeToAX:
@@ -306,2 +320,5 @@
 Keyboard_GetKeystrokeToAXReturn:
 	ret
+		
+%endif
+%undef EXCLUDE
Index: trunk/Assembly_Library/Src/Menu/MenuEvent.asm
===================================================================
--- trunk/Assembly_Library/Src/Menu/MenuEvent.asm	(revision 491)
+++ trunk/Assembly_Library/Src/Menu/MenuEvent.asm	(revision 492)
@@ -52,9 +52,11 @@
 ;		AX, BX, DX
 ;--------------------------------------------------------------------
+%ifndef MENU_NO_ESC
 ALIGN MENU_JUMP_ALIGN
 MenuEvent_ExitMenu:
 	mov		bl, MENUEVENT_ExitMenu
 	jmp		SHORT MenuEvent_SendFromBX
-
+%endif
+		
 
 %ifdef MENUEVENT_IDLEPROCESSING_ENABLE
@@ -153,9 +155,10 @@
 ;		AX, BX, DX
 ;--------------------------------------------------------------------
+%ifdef MENUEVENT_KeyStrokInAX
 ALIGN MENU_JUMP_ALIGN
 MenuEvent_KeyStrokeInAX:
 	mov		bl, MENUEVENT_KeyStrokeInAX
 	SKIP2B	dx	; mov dx, <next instruction>
-
+%endif
 
 ;--------------------------------------------------------------------
Index: trunk/Assembly_Library/Src/Menu/MenuLoop.asm
===================================================================
--- trunk/Assembly_Library/Src/Menu/MenuLoop.asm	(revision 491)
+++ trunk/Assembly_Library/Src/Menu/MenuLoop.asm	(revision 492)
@@ -85,7 +85,11 @@
 	xchg	ax, cx
 	call	.ProcessMenuSystemKeystrokeFromAX
+%ifdef MENUEVENT_KeyStrokeInAX
 	jc		SHORT NoKeystrokeToProcess
 	jmp		MenuEvent_KeyStrokeInAX
-
+%else
+	jmp		SHORT NoKeystrokeToProcess
+%endif
+		
 ;--------------------------------------------------------------------
 ; .ProcessMenuSystemKeystrokeFromAX
@@ -104,6 +108,8 @@
 ALIGN MENU_JUMP_ALIGN
 .ProcessMenuSystemKeystrokeFromAX:
+%ifndef MENU_NO_ESC
 	cmp		al, ESC
 	je		SHORT .LeaveMenuWithoutSelectingItem
+%endif
 	cmp		al, CR
 	je		SHORT .SelectItem
@@ -113,4 +119,5 @@
 	ret		; Return with CF cleared since keystroke not processed
 
+%ifndef MENU_NO_ESC		
 ALIGN MENU_JUMP_ALIGN
 .LeaveMenuWithoutSelectingItem:
@@ -122,5 +129,6 @@
 	stc
 	ret
-
+%endif
+		
 ALIGN MENU_JUMP_ALIGN
 .SelectItem:
