Index: /trunk/Assembly_Library/Inc/Display.inc
===================================================================
--- /trunk/Assembly_Library/Inc/Display.inc	(revision 176)
+++ /trunk/Assembly_Library/Inc/Display.inc	(revision 177)
@@ -25,9 +25,13 @@
 		call	DisplayContext_PrepareOffScreenBufferInESBXwithLengthInCX
 	%else
-		mov		di, DISPLAY_LIB.%1
+		mov		di, %1
 		call	Display_FunctionFromDI
 	%endif
 %endmacro
 
+%if 0
+;;;
+;;; struc no longer needed with direct calls to functions
+;;;
 
 ; Display library functions
@@ -70,4 +74,5 @@
 	.ClearScreenWithCharInALandAttrInAH				resb	2
 endstruc
+%endif
 
 ; Attribute flags for DISPLAY_LIB.SetCharacterOutputFunctionFromAXwithAttributeFlagInDL
Index: /trunk/Assembly_Library/Inc/Menu.inc
===================================================================
--- /trunk/Assembly_Library/Inc/Menu.inc	(revision 176)
+++ /trunk/Assembly_Library/Inc/Menu.inc	(revision 177)
@@ -48,8 +48,13 @@
 
 	%else
-		mov		di, MENU_LIB.%1
+		mov		di, %1
 		call	Menu_FunctionFromDI
 	%endif
 %endmacro
+
+%if 0
+;;;
+;;; struc no longer needed with direct call to function
+;;;
 
 ; Menu library functions
@@ -89,5 +94,5 @@
 %endif
 endstruc
-
+%endif
 
 ; Menu initialization parameters
Index: /trunk/Assembly_Library/Src/Display/Display.asm
===================================================================
--- /trunk/Assembly_Library/Src/Display/Display.asm	(revision 176)
+++ /trunk/Assembly_Library/Src/Display/Display.asm	(revision 177)
@@ -24,5 +24,5 @@
 	cld
 	LOAD_BDA_SEGMENT_TO	ds, dx
-	mov		dx, [cs:di+.rgfnDisplayLibraryFunctions]
+	mov		dx, di
 	les		di, [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.fpCursorPosition]
 	call	dx
@@ -35,5 +35,5 @@
 
 ;--------------------------------------------------------------------
-; .FormatNullTerminatedStringFromCSSI
+; Display_FormatNullTerminatedStringFromCSSI
 ;	Parameters:
 ;		Same as DisplayPrint_FormattedNullTerminatedStringFromCSSI
@@ -44,5 +44,5 @@
 ;--------------------------------------------------------------------
 ALIGN JUMP_ALIGN
-.FormatNullTerminatedStringFromCSSI:
+Display_FormatNullTerminatedStringFromCSSI:
 	pop		ax					; Discard return address to inside Display_FunctionFromDI
 	call	DisplayPrint_FormattedNullTerminatedStringFromCSSI
@@ -57,41 +57,38 @@
 	jmp		ax
 
-
-ALIGN WORD_ALIGN
-.rgfnDisplayLibraryFunctions:
-istruc DISPLAY_LIB
-	at	DISPLAY_LIB.InitializeDisplayContext,						dw	DisplayContext_Initialize
+		
+%define InitializeDisplayContext						DisplayContext_Initialize
 
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-	at	DISPLAY_LIB.SetCharacterPointerFromBXAX,					dw	DisplayContext_SetCharacterPointerFromBXAX
+%define SetCharacterPointerFromBXAX						DisplayContext_SetCharacterPointerFromBXAX
 %endif
-	at	DISPLAY_LIB.SetCharOutputFunctionFromAXwithAttribFlagInBL,	dw	DisplayContext_SetCharOutputFunctionFromAXwithAttribFlagInBL
-	at	DISPLAY_LIB.SetCharacterOutputParameterFromAX,				dw	DisplayContext_SetCharacterOutputParameterFromAX
-	at	DISPLAY_LIB.SetCharacterAttributeFromAL,					dw	DisplayContext_SetCharacterAttributeFromAL
-	at	DISPLAY_LIB.SetCursorShapeFromAX,							dw	DisplayCursor_SetShapeFromAX
-	at	DISPLAY_LIB.SetCursorCoordinatesFromAX,						dw	DisplayCursor_SetCoordinatesFromAX
-	at	DISPLAY_LIB.SetNewPageFromAL,								dw	DisplayPage_SetFromAL
-	at	DISPLAY_LIB.SynchronizeDisplayContextToHardware,			dw	DisplayContext_SynchronizeToHardware
+%define SetCharOutputFunctionFromAXwithAttribFlagInBL	DisplayContext_SetCharOutputFunctionFromAXwithAttribFlagInBL
+%define SetCharacterOutputParameterFromAX				DisplayContext_SetCharacterOutputParameterFromAX
+%define SetCharacterAttributeFromAL						DisplayContext_SetCharacterAttributeFromAL
+%define SetCursorShapeFromAX							DisplayCursor_SetShapeFromAX
+%define SetCursorCoordinatesFromAX						DisplayCursor_SetCoordinatesFromAX
+%define SetNewPageFromAL								DisplayPage_SetFromAL
+%define SynchronizeDisplayContextToHardware				DisplayContext_SynchronizeToHardware
 
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-	at	DISPLAY_LIB.GetCharacterPointerToBXAX,						dw	DisplayContext_GetCharacterPointerToBXAX
+%define GetCharacterPointerToBXAX						DisplayContext_GetCharacterPointerToBXAX
 %endif
-	at	DISPLAY_LIB.GetSoftwareCoordinatesToAX,						dw	DisplayCursor_GetSoftwareCoordinatesToAX
-	at	DISPLAY_LIB.GetColumnsToALandRowsToAH,						dw	DisplayPage_GetColumnsToALandRowsToAH
+%define GetSoftwareCoordinatesToAX						DisplayCursor_GetSoftwareCoordinatesToAX
+%define GetColumnsToALandRowsToAH						DisplayPage_GetColumnsToALandRowsToAH
 
-	at	DISPLAY_LIB.FormatNullTerminatedStringFromCSSI,				dw	.FormatNullTerminatedStringFromCSSI
+%define FormatNullTerminatedStringFromCSSI				Display_FormatNullTerminatedStringFromCSSI
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-	at	DISPLAY_LIB.PrintSignedWordFromAXWithBaseInBX,				dw	DisplayPrint_SignedWordFromAXWithBaseInBX
+%define PrintSignedWordFromAXWithBaseInBX				DisplayPrint_SignedWordFromAXWithBaseInBX
 %endif
-	at	DISPLAY_LIB.PrintWordFromAXwithBaseInBX,					dw	DisplayPrint_WordFromAXWithBaseInBX
-	at	DISPLAY_LIB.PrintCharBufferFromBXSIwithLengthInCX,			dw	DisplayPrint_CharacterBufferFromBXSIwithLengthInCX
-	at	DISPLAY_LIB.PrintNullTerminatedStringFromBXSI,				dw	DisplayPrint_NullTerminatedStringFromBXSI
-	at	DISPLAY_LIB.PrintNullTerminatedStringFromCSSI,				dw	DisplayPrint_NullTerminatedStringFromCSSI
-	at	DISPLAY_LIB.PrintRepeatedCharacterFromALwithCountInCX,		dw	DisplayPrint_RepeatCharacterFromALwithCountInCX
-	at	DISPLAY_LIB.PrintCharacterFromAL,							dw	DisplayPrint_CharacterFromAL
-	at	DISPLAY_LIB.PrintNewlineCharacters,							dw	DisplayPrint_Newline
+%define PrintWordFromAXwithBaseInBX						DisplayPrint_WordFromAXWithBaseInBX
+%define PrintCharBufferFromBXSIwithLengthInCX			DisplayPrint_CharacterBufferFromBXSIwithLengthInCX
+%define PrintNullTerminatedStringFromBXSI				DisplayPrint_NullTerminatedStringFromBXSI
+%define PrintNullTerminatedStringFromCSSI				DisplayPrint_NullTerminatedStringFromCSSI
+%define PrintRepeatedCharacterFromALwithCountInCX		DisplayPrint_RepeatCharacterFromALwithCountInCX
+%define PrintCharacterFromAL							DisplayPrint_CharacterFromAL
+%define PrintNewlineCharacters							DisplayPrint_Newline
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-	at	DISPLAY_LIB.ClearAreaWithHeightInAHandWidthInAL,			dw	DisplayPrint_ClearAreaWithHeightInAHandWidthInAL
+%define ClearAreaWithHeightInAHandWidthInAL				DisplayPrint_ClearAreaWithHeightInAHandWidthInAL
 %endif
-	at	DISPLAY_LIB.ClearScreenWithCharInALandAttrInAH,				dw	DisplayPrint_ClearScreenWithCharInALandAttributeInAH
-iend
+%define ClearScreenWithCharInALandAttrInAH				DisplayPrint_ClearScreenWithCharInALandAttributeInAH
+
Index: /trunk/Assembly_Library/Src/Menu/Menu.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/Menu.asm	(revision 176)
+++ /trunk/Assembly_Library/Src/Menu/Menu.asm	(revision 177)
@@ -23,5 +23,5 @@
 	push	cx
 	push	bx
-	call	[cs:di+.rgfnMenuLibraryFunctions]
+	call	di
 	pop		bx
 	pop		cx
@@ -31,38 +31,35 @@
 
 
-ALIGN WORD_ALIGN
-.rgfnMenuLibraryFunctions:
-istruc MENU_LIB
-	at	MENU_LIB.DisplayWithHandlerInBXandUserDataInDXAX,	dw	MenuInit_DisplayMenuWithHandlerInBXandUserDataInDXAX
-	;at	MENU_LIB.Close,							dw	MenuInit_CloseMenuWindow				; Special case in CALL_MENU_LIBRARY
-	at	MENU_LIB.RefreshWindow,					dw	MenuInit_RefreshMenuWindow
+%define DisplayWithHandlerInBXandUserDataInDXAX		MenuInit_DisplayMenuWithHandlerInBXandUserDataInDXAX
+;%define Close										MenuInit_CloseMenuWindow				; Special case in CALL_MENU_LIBRARY
+%define RefreshWindow						MenuInit_RefreshMenuWindow
 
-	;at	MENU_LIB.SetUserDataFromDSSI,			dw	MenuInit_SetUserDataFromDSSI			; Special case in CALL_MENU_LIBRARY
-	;at	MENU_LIB.GetUserDataToDSSI,				dw	MenuInit_GetUserDataToDSSI				; Special case in CALL_MENU_LIBRARY
+;%define SetUserDataFromDSSI				MenuInit_SetUserDataFromDSSI			; Special case in CALL_MENU_LIBRARY
+;%define GetUserDataToDSSI					MenuInit_GetUserDataToDSSI				; Special case in CALL_MENU_LIBRARY
 
-	;at	MENU_LIB.SetTitleHeightFromAL,			dw	MenuInit_SetTitleHeightFromAL			; Special case in CALL_MENU_LIBRARY
-	at	MENU_LIB.ClearTitleArea,				dw	MenuText_ClearTitleArea
-	at	MENU_LIB.RefreshTitle,					dw	MenuText_RefreshTitle
+;%define SetTitleHeightFromAL				MenuInit_SetTitleHeightFromAL			; Special case in CALL_MENU_LIBRARY
+%define ClearTitleArea						MenuText_ClearTitleArea
+%define RefreshTitle						MenuText_RefreshTitle
 
-	at	MENU_LIB.HighlightItemFromAX,			dw	MenuInit_HighlightItemFromAX
-	;at	MENU_LIB.SetTotalItemsFromAX,			dw	MenuInit_SetTotalItemsFromAX			; Special case in CALL_MENU_LIBRARY
-	at	MENU_LIB.RefreshItemFromAX,				dw	MenuText_RefreshItemFromAX
+%define HighlightItemFromAX					MenuInit_HighlightItemFromAX
+;%define SetTotalItemsFromAX				MenuInit_SetTotalItemsFromAX			; Special case in CALL_MENU_LIBRARY
+%define RefreshItemFromAX					MenuText_RefreshItemFromAX
 
-	;at	MENU_LIB.SetInformationHeightFromAL,	dw	MenuInit_SetInformationHeightFromAL		; Special case in CALL_MENU_LIBRARY
-	at	MENU_LIB.ClearInformationArea,			dw	MenuText_ClearInformationArea
-	at	MENU_LIB.RefreshInformation,			dw	MenuText_RefreshInformation
+;%define SetInformationHeightFromAL						MenuInit_SetInformationHeightFromAL		; Special case in CALL_MENU_LIBRARY
+%define ClearInformationArea							MenuText_ClearInformationArea
+%define RefreshInformation								MenuText_RefreshInformation
 
-	at	MENU_LIB.StartSelectionTimeoutWithTicksInAX,	dw	MenuTime_StartSelectionTimeoutWithTicksInAX
+%define StartSelectionTimeoutWithTicksInAX				MenuTime_StartSelectionTimeoutWithTicksInAX
 
 %ifdef INCLUDE_MENU_DIALOGS
-	at	MENU_LIB.StartProgressTaskWithIoInDSSIandParamInDXAX,	dw	DialogProgress_StartProgressTaskWithIoInDSSIandParamInDXAX
-	at	MENU_LIB.SetProgressValueFromAX,						dw	DialogProgress_SetProgressValueFromAX
+%define StartProgressTaskWithIoInDSSIandParamInDXAX		DialogProgress_StartProgressTaskWithIoInDSSIandParamInDXAX
+%define SetProgressValueFromAX							DialogProgress_SetProgressValueFromAX
 
-	at	MENU_LIB.DisplayMessageWithInputInDSSI,					dw	DialogMessage_DisplayMessageWithInputInDSSI
-	at	MENU_LIB.GetSelectionToAXwithInputInDSSI,				dw	DialogSelection_GetSelectionToAXwithInputInDSSI
-	at	MENU_LIB.GetWordWithIoInDSSI,							dw	DialogWord_GetWordWithIoInDSSI
-	at	MENU_LIB.GetStringWithIoInDSSI,							dw	DialogString_GetStringWithIoInDSSI
-	at	MENU_LIB.GetFileNameWithIoInDSSI,						dw	DialogFile_GetFileNameWithIoInDSSI
-	at	MENU_LIB.GetDriveWithIoInDSSI,							dw	DialogDrive_GetDriveWithIoInDSSI
+%define DisplayMessageWithInputInDSSI					DialogMessage_DisplayMessageWithInputInDSSI
+%define GetSelectionToAXwithInputInDSSI					DialogSelection_GetSelectionToAXwithInputInDSSI
+%define GetWordWithIoInDSSI								DialogWord_GetWordWithIoInDSSI
+%define GetStringWithIoInDSSI							DialogString_GetStringWithIoInDSSI
+%define GetFileNameWithIoInDSSI							DialogFile_GetFileNameWithIoInDSSI
+%define GetDriveWithIoInDSSI							DialogDrive_GetDriveWithIoInDSSI
 %endif
-iend
+
