Index: /trunk/Assembly_Library/Src/AssemblyLibrary.asm
===================================================================
--- /trunk/Assembly_Library/Src/AssemblyLibrary.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/AssemblyLibrary.asm	(revision 369)
@@ -7,4 +7,7 @@
 
 %ifdef INCLUDE_DISPLAY_LIBRARY
+  %ifndef DISPLAY_JUMP_ALIGN
+	%define DISPLAY_JUMP_ALIGN 1
+  %endif
 	%include "CgaSnow.asm"
 	%include "Display.asm"
@@ -29,8 +32,14 @@
 
 %ifdef INCLUDE_KEYBOARD_LIBRARY
+  %ifndef KEYBOARD_JUMP_ALIGN
+	%define KEYBOARD_JUMP_ALIGN 1
+  %endif		
 	%include "Keyboard.asm"
 %endif
 
 %ifdef INCLUDE_MENU_LIBRARY
+  %ifndef MENU_JUMP_ALIGN
+	%define MENU_JUMP_ALIGN 1
+  %endif				
 	%include "CharOutLineSplitter.asm"
 	%include "Menu.asm"
@@ -61,4 +70,7 @@
 
 %ifdef INCLUDE_STRING_LIBRARY
+  %ifndef STRING_JUMP_ALIGN
+	%define STRING_JUMP_ALIGN 1
+  %endif				
 	%include "Char.asm"
 	%ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
@@ -86,4 +98,7 @@
 
 %ifdef INCLUDE_UTIL_LIBRARY
+  %ifndef UTIL_SIZE_JUMP_ALIGN
+	%define UTIL_SIZE_JUMP_ALIGN 1
+  %endif		
 	%ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
 		%include "Bit.asm"
Index: /trunk/Assembly_Library/Src/Display/CgaSnow.asm
===================================================================
--- /trunk/Assembly_Library/Src/Display/CgaSnow.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Display/CgaSnow.asm	(revision 369)
@@ -15,5 +15,5 @@
 ;		AX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 CgaSnow_IsCgaPresent:
 	cmp		WORD [BDA.wVidPort], CGA_STATUS_REGISTER - OFFSET_TO_CGA_STATUS_REGISTER
@@ -25,5 +25,5 @@
 	stc
 	ret
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .CgaNotFound:
 	clc
@@ -48,5 +48,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 CgaSnow_Stosb:
 	call	LoadCgaStatusRegisterAddressToDXifCgaPresent
@@ -62,5 +62,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 CgaSnow_Stosw:
 	push	bx
@@ -91,5 +91,5 @@
 ;		AX, CX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 CgaSnow_RepMovsb:
 	call	LoadCgaStatusRegisterAddressToDXifCgaPresent
@@ -119,10 +119,10 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 LoadCgaStatusRegisterAddressToDXifCgaPresent:
 	test	BYTE [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bFlags], FLG_CONTEXT_CGA
 	jz		SHORT .NoCgaDetected
 	mov		dx, CGA_STATUS_REGISTER
-ALIGN JUMP_ALIGN, ret
+ALIGN DISPLAY_JUMP_ALIGN, ret
 .NoCgaDetected:
 	ret
Index: /trunk/Assembly_Library/Src/Display/Display.asm
===================================================================
--- /trunk/Assembly_Library/Src/Display/Display.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Display/Display.asm	(revision 369)
@@ -16,5 +16,5 @@
 ;		AX (unless used as a return register), DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 Display_FunctionFromDI:
 	push	es
@@ -43,5 +43,5 @@
 ;		AX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 Display_FormatNullTerminatedStringFromCSSI:
 	pop		ax					; Discard return address to inside Display_FunctionFromDI
Index: /trunk/Assembly_Library/Src/Display/DisplayCharOut.asm
===================================================================
--- /trunk/Assembly_Library/Src/Display/DisplayCharOut.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Display/DisplayCharOut.asm	(revision 369)
@@ -21,5 +21,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayCharOut_TeletypeOutputWithAttribute:
 	cmp		al, ' '							; Printable character?
@@ -28,5 +28,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayCharOut_TeletypeOutput:
 	cmp		al, ' '							; Printable character?
@@ -45,5 +45,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayCharOut_BiosTeletypeOutput:
 	push	ax
@@ -76,5 +76,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayCharOut_Attribute:
 	xchg	al, ah				; Swap character and attribute
@@ -83,5 +83,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayCharOut_Character:
 	WAIT_RETRACE_IF_NECESSARY_THEN stosb
@@ -89,5 +89,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayCharOut_CharacterWithAttribute:
 	WAIT_RETRACE_IF_NECESSARY_THEN stosw
@@ -107,5 +107,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayCharOut_WriteCharacterToBuffer:
 	cmp		WORD [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.wCharOutParam], BYTE 0
Index: /trunk/Assembly_Library/Src/Display/DisplayContext.asm
===================================================================
--- /trunk/Assembly_Library/Src/Display/DisplayContext.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Display/DisplayContext.asm	(revision 369)
@@ -14,5 +14,5 @@
 ;		AX, DX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayContext_Initialize:
 	mov		WORD [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.fnCharOut], DEFAULT_CHARACTER_OUTPUT
@@ -79,5 +79,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayContext_SynchronizeToHardware:
 	call	DisplayPage_SynchronizeToHardware
@@ -95,5 +95,5 @@
 ;		AX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayContext_Push:
 	mov		di, ds					; Backup DS
@@ -121,5 +121,5 @@
 ;		AX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayContext_Pop:
 	mov		di, ds					; Backup DS
@@ -154,5 +154,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayContext_PrepareOffScreenBufferInESBXwithLengthInCX:
 	push	ds
@@ -185,5 +185,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayContext_SetCharacterPointerFromBXAX:
 	mov		[VIDEO_BDA.displayContext+DISPLAY_CONTEXT.fpCursorPosition], ax
@@ -205,5 +205,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayContext_GetCharacterPointerToBXAX:
 	mov		ax, [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.fpCursorPosition]
@@ -224,5 +224,5 @@
 ;		BL
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayContext_SetCharOutputFunctionFromAXwithAttribFlagInBL:
 	and		bl, FLG_CONTEXT_ATTRIBUTES
@@ -243,5 +243,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayContext_SetCharacterAttributeFromAL:
 	mov		[VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bAttribute], al
@@ -259,5 +259,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayContext_SetCharacterOutputParameterFromAX:
 	mov		[VIDEO_BDA.displayContext+DISPLAY_CONTEXT.wCharOutParam], ax
@@ -275,5 +275,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS OR EXCLUDE_FROM_XTIDECFG	; This is currently unused (dead code)
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayContext_GetCharacterOutputParameterToDX:
 	mov		dx, [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.wCharOutParam]
@@ -293,5 +293,5 @@
 ;--------------------------------------------------------------------
 %ifndef MODULE_STRINGS_COMPRESSED
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayContext_GetCharacterOffsetToAXfromByteOffsetInAX:
 	test	BYTE [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bFlags], FLG_CONTEXT_ATTRIBUTES
@@ -313,10 +313,10 @@
 ;--------------------------------------------------------------------
 %ifndef MODULE_STRINGS_COMPRESSED
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayContext_GetByteOffsetToAXfromCharacterOffsetInAX:
 	test	BYTE [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bFlags], FLG_CONTEXT_ATTRIBUTES
 	jz		SHORT ReturnOffsetInAX
 	sal		ax, 1		; WORD count to BYTE count
-ALIGN JUMP_ALIGN, ret
+ALIGN DISPLAY_JUMP_ALIGN, ret
 ReturnOffsetInAX:
 	ret
Index: /trunk/Assembly_Library/Src/Display/DisplayCursor.asm
===================================================================
--- /trunk/Assembly_Library/Src/Display/DisplayCursor.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Display/DisplayCursor.asm	(revision 369)
@@ -15,5 +15,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayCursor_SetShapeFromAX:
 	mov		[VIDEO_BDA.displayContext+DISPLAY_CONTEXT.wCursorShape], ax
@@ -32,5 +32,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayCursor_SetCoordinatesFromAX:
 	xchg	dx, ax
@@ -57,5 +57,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayCursor_GetSoftwareCoordinatesToAX:
 	mov		ax, [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.fpCursorPosition]
@@ -77,5 +77,5 @@
 ;		DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayCursor_GetHardwareCoordinatesToAX:
 	push	cx
@@ -101,5 +101,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayCursor_SynchronizeShapeToHardware:
 	mov		dx, [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.wCursorShape]
@@ -138,5 +138,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayCursor_SynchronizeCoordinatesToHardware:
 	call	DisplayCursor_GetSoftwareCoordinatesToAX
Index: /trunk/Assembly_Library/Src/Display/DisplayFormat.asm
===================================================================
--- /trunk/Assembly_Library/Src/Display/DisplayFormat.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Display/DisplayFormat.asm	(revision 369)
@@ -18,5 +18,5 @@
 ;		AX, BX, CX, DX, BP
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayFormat_ParseCharacters:
 	call	ReadCharacterAndTestForNull
@@ -69,5 +69,5 @@
 ;		AX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 ParsePlaceholderSizeDigitFromALtoCX:
 	mov		[VIDEO_BDA.displayContext+DISPLAY_CONTEXT.fpCursorPosition], di
@@ -90,5 +90,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 ReadCharacterAndTestForNull:
 	cs lodsb								; Load from CS:SI to AL
@@ -106,8 +106,8 @@
 ;		AX, BX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 GetFormatSpecifierParserToAX:
 	mov		bx, .rgcFormatCharToLookupIndex
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .CheckForNextSpecifierParser:
 	cmp		al, [cs:bx]
@@ -118,5 +118,5 @@
 	mov		ax, c_FormatCharacter
 	ret
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .ConvertIndexToFunctionOffset:
 	sub		bx, .rgcFormatCharToLookupIndex
@@ -171,5 +171,5 @@
 ;		AX, BX, CX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 PrependOrAppendSpaces:
 	mov		ax, di
@@ -210,5 +210,5 @@
 ;		AX, BX, CX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .PrependWithSpaces:
 	xchg	ax, cx
@@ -248,5 +248,5 @@
 ;		AX, CX, DX, SI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .ReverseCopyCXbytesFromESSItoESDI:
 	test	BYTE [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bFlags], FLG_CONTEXT_ATTRIBUTES
@@ -256,5 +256,5 @@
 	dec		di					; Point to preceeding character instead of attribute
 	ret
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .CopyWithoutDisplayProcessing:
 	eSEG_STR rep, es, movsb
@@ -271,5 +271,5 @@
 ;	Corrupts registers:
 ;		AX, CX, DX
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .ReversePrintAXspacesStartingFromESDI:
 	call	DisplayContext_GetCharacterOffsetToAXfromByteOffsetInAX
@@ -292,5 +292,5 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 a_FormatAttributeForNextCharacter:
 	mov		bl, [bp]
@@ -307,5 +307,5 @@
 %endif
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 A_FormatAttributeForRemainingString:
 	mov		al, [bp]
@@ -314,5 +314,5 @@
 
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 d_FormatSignedDecimalWord:
 	mov		ax, [bp]
@@ -321,5 +321,5 @@
 %endif
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 u_FormatUnsignedDecimalWord:
 	mov		ax, [bp]
@@ -327,5 +327,5 @@
 	jmp		DisplayPrint_WordFromAXWithBaseInBX
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 x_FormatHexadecimalWord:
 	mov		ax, [bp]
@@ -335,5 +335,5 @@
 	jmp		DisplayPrint_CharacterFromAL
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 I_FormatDashForZero:
 	mov		ax, [bp]
@@ -343,5 +343,5 @@
 ;;; fall-through
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 s_FormatStringFromSegmentCS:
 	push	si
@@ -367,5 +367,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 z_FormatStringFromSegmentZero:
 	xchg	si, [bp]
@@ -376,5 +376,5 @@
 
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 S_FormatStringFromFarPointer:
 	mov		bx, [bp-2]
@@ -387,5 +387,5 @@
 %endif
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 c_FormatCharacter:
 	mov		al, [bp]
@@ -393,5 +393,5 @@
 
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 t_FormatRepeatCharacter:
 	push	cx
@@ -404,5 +404,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 percent_FormatPercent:
 	mov		al, '%'
@@ -410,10 +410,10 @@
 %endif
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 PrepareToPrependParameterWithSpaces:
 	neg		cx
 	; Fall to PrepareToAppendSpacesAfterParameter
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 PrepareToAppendSpacesAfterParameter:
 	add		sp, BYTE 2				; Remove return offset
Index: /trunk/Assembly_Library/Src/Display/DisplayFormatCompressed.asm
===================================================================
--- /trunk/Assembly_Library/Src/Display/DisplayFormatCompressed.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Display/DisplayFormatCompressed.asm	(revision 369)
@@ -151,5 +151,5 @@
 	; fall through to DisplayFormat_ParseCharacters
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayFormat_ParseCharacters:
 ;
@@ -184,5 +184,5 @@
 
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayFormatCompressed_TranslatesAndFormats:
 ;
Index: /trunk/Assembly_Library/Src/Display/DisplayPage.asm
===================================================================
--- /trunk/Assembly_Library/Src/Display/DisplayPage.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Display/DisplayPage.asm	(revision 369)
@@ -16,5 +16,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPage_SetFromAL:
 	xor		ah, ah
@@ -35,5 +35,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPage_GetColumnsToALandRowsToAH:
 	mov		al, [VIDEO_BDA.wColumns]		; 40 or 80
@@ -51,5 +51,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPage_SynchronizeToHardware:
 	xor		dx, dx
Index: /trunk/Assembly_Library/Src/Display/DisplayPrint.asm
===================================================================
--- /trunk/Assembly_Library/Src/Display/DisplayPrint.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Display/DisplayPrint.asm	(revision 369)
@@ -42,5 +42,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPrint_FormattedNullTerminatedStringFromCSSI:
 	push	bp
@@ -79,5 +79,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPrint_SignedWordFromAXWithBaseInBX:
 	test	ax, ax
@@ -106,5 +106,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPrint_WordFromAXWithBaseInBX:
 	push	cx
@@ -112,5 +112,5 @@
 
 	xor		cx, cx
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .DivideLoop:
 	xor		dx, dx				; DX:AX now holds the integer
@@ -123,5 +123,5 @@
 PrintAllPushedDigits:
 	mov		bx, g_rgcDigitToCharacter
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .PrintNextDigit:
 	pop		ax					; Pop digit
@@ -149,5 +149,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDECFG	; Not used in XTIDECFG
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPrint_QWordFromSSBPwithBaseInBX:
 	push	cx
@@ -156,5 +156,5 @@
 	mov		cx, bx				; CX = Integer base
 	xor		bx, bx				; BX = Character count
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .DivideLoop:
 	call	Math_DivQWatSSBPbyCX; Divide by base
@@ -183,5 +183,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPrint_CharacterBufferFromBXSIwithLengthInCX:
 	jcxz	.NothingToPrintSinceZeroLength
@@ -189,5 +189,5 @@
 	push	cx
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .PrintNextCharacter:
 	mov		ds, bx
@@ -216,5 +216,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPrint_ClearScreenWithCharInALandAttributeInAH:
 	push	di
@@ -248,5 +248,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPrint_ClearAreaWithHeightInAHandWidthInAL:
 	push	si
@@ -259,5 +259,5 @@
 	xor		cx, cx
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .ClearRowLoop:
 	mov		cl, bl							; Area width now in CX
@@ -291,10 +291,10 @@
 ;		DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPrint_RepeatCharacterFromALwithCountInCX:
 	jcxz	.NothingToRepeat
 	push	cx
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .RepeatCharacter:
 	push	ax
@@ -324,5 +324,5 @@
 ;;; All strings in CSSI should go through the DisplayFormatCompressed code to be decoded.
 ;;;
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPrint_NullTerminatedStringFromCSSI:
 	push	bx
@@ -350,5 +350,5 @@
 ;--------------------------------------------------------------------
 %ifdef MODULE_STRINGS_COMPRESSED
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPrint_Newline_FormatAdjustBP:
 	inc		bp					; we didn't need a parameter after all, readjust BP
@@ -357,5 +357,5 @@
 %endif
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPrint_Newline:
 	mov		al, LF
@@ -376,5 +376,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPrint_CharacterFromAL:
 	test	al,al
@@ -396,5 +396,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 DisplayPrint_NullTerminatedStringFromBXSI:
 	push	si
@@ -402,5 +402,5 @@
 
 	xor		cx, cx
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .PrintNextCharacter:
 	mov		ds, bx				; String segment to DS
@@ -412,5 +412,5 @@
 	jmp		SHORT .PrintNextCharacter
 
-ALIGN JUMP_ALIGN
+ALIGN DISPLAY_JUMP_ALIGN
 .EndOfString:
 	pop		cx
Index: /trunk/Assembly_Library/Src/Keyboard/Keyboard.asm
===================================================================
--- /trunk/Assembly_Library/Src/Keyboard/Keyboard.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Keyboard/Keyboard.asm	(revision 369)
@@ -21,5 +21,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN KEYBOARD_JUMP_ALIGN
 Keyboard_ReadUserInputtedWordWhilePrinting:
 	push	ds
@@ -71,5 +71,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN KEYBOARD_JUMP_ALIGN
 Keyboard_ReadUserInputtedStringToESDIWhilePrinting:
 	push	di
@@ -82,5 +82,5 @@
 	dec		cx									; Decrement buffer size for NULL
 	cld
-ALIGN JUMP_ALIGN
+ALIGN KEYBOARD_JUMP_ALIGN
 .GetCharacterFromUser:
 	call	Keyboard_GetKeystrokeToAXandWaitIfNecessary	; Get ASCII to AL
@@ -121,5 +121,5 @@
 ;		AX, BX, SI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN KEYBOARD_JUMP_ALIGN
 .PrepareDisplayContextForKeyboardInput:
 	pop		bx					; Pop return address to BX
@@ -150,5 +150,5 @@
 ;		AH
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN KEYBOARD_JUMP_ALIGN
 .ProcessControlCharacter:
 	cmp		al, CR								; ENTER to terminate string?
@@ -193,5 +193,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN KEYBOARD_JUMP_ALIGN
 Keyboard_PrintBackspace:
 	mov		al, BS
@@ -214,5 +214,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN KEYBOARD_JUMP_ALIGN
 Keyboard_PlayBellForUnwantedKeystroke:
 	mov		al, BELL
@@ -230,5 +230,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN KEYBOARD_JUMP_ALIGN
 Keyboard_PrintInputtedCharacter:
 	push	di
@@ -250,5 +250,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS	; Only used when debugging
-ALIGN JUMP_ALIGN
+ALIGN KEYBOARD_JUMP_ALIGN
 Keyboard_RemoveAllKeystrokesFromBuffer:
 	call	Keyboard_GetKeystrokeToAX
@@ -272,15 +272,15 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN KEYBOARD_JUMP_ALIGN
 Keyboard_GetKeystrokeToAXandLeaveItToBuffer:
 	mov		ah, CHECK_FOR_KEYSTROKE
 	int		BIOS_KEYBOARD_INTERRUPT_16h
 	ret
-ALIGN JUMP_ALIGN
+ALIGN KEYBOARD_JUMP_ALIGN
 Keyboard_GetKeystrokeToAX:
 	call	Keyboard_GetKeystrokeToAXandLeaveItToBuffer
 	jz		SHORT Keyboard_GetKeystrokeToAXReturn
 	; Fall to Keyboard_GetKeystrokeToAXandWaitIfNecessary
-ALIGN JUMP_ALIGN
+ALIGN KEYBOARD_JUMP_ALIGN
 Keyboard_GetKeystrokeToAXandWaitIfNecessary:
 	xor		ah, ah						; GET_KEYSTROKE
Index: /trunk/Assembly_Library/Src/Menu/CharOutLineSplitter.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/CharOutLineSplitter.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Menu/CharOutLineSplitter.asm	(revision 369)
@@ -14,5 +14,5 @@
 ;		AX, DX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 CharOutLineSplitter_PrepareForPrintingTextLines:
 	; Get first text line column offset to DX
@@ -41,5 +41,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 CharOutLineSplitter_GetFirstBorderLineColumnOffsetToAX:
 	call	MenuLocation_GetTitleBordersTopLeftCoordinatesToAX
@@ -60,5 +60,5 @@
 ;		DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 CharOutLineSplitter_IsCursorAtTheEndOfTextLine:
 	push	ax
@@ -86,5 +86,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 CharOutLineSplitter_MovePartialWordToNewTextLine:
 	push	si
@@ -106,5 +106,5 @@
 	mov		cx, di
 	mov		si, di
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .ScanNextCharacter:		; Space will always be found since one comes after border
 	dec		si
Index: /trunk/Assembly_Library/Src/Menu/Menu.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/Menu.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Menu/Menu.asm	(revision 369)
@@ -17,5 +17,5 @@
 ;		AX (unless used as a return register), DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 Menu_FunctionFromDI:
 	push	si
Index: /trunk/Assembly_Library/Src/Menu/MenuAttributes.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuAttributes.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Menu/MenuAttributes.asm	(revision 369)
@@ -28,5 +28,5 @@
 ;		AX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuAttribute_SetToDisplayContextFromTypeInSI:
 	call	MenuAttribute_GetToAXfromTypeInSI
@@ -44,5 +44,5 @@
 ;		SI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuAttribute_GetToAXfromTypeInSI:
 	push	ds
@@ -59,10 +59,10 @@
 	jmp		SHORT .LoadAttributeAndReturn
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .LoadMonoAttribute:
 	add		si, .rgcMonochromeAttributes
 	jmp		SHORT .LoadAttributeAndReturn
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .LoadColorAttribute:
 	add		si, .rgcColorAttributes
Index: /trunk/Assembly_Library/Src/Menu/MenuBorders.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuBorders.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Menu/MenuBorders.asm	(revision 369)
@@ -22,5 +22,5 @@
 ;		AX, BX, CX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuBorders_RefreshAll:
 %ifndef USE_186
@@ -52,5 +52,5 @@
 ;		AX, BX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuBorders_RedrawBottomBorderLine:
 	call	MenuBorders_AdjustDisplayContextForDrawingBorders
@@ -71,5 +71,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuBorders_RefreshItemBorders:
 	call	MenuBorders_AdjustDisplayContextForDrawingBorders
@@ -91,5 +91,5 @@
 ;		AX, BX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuBorders_AdjustDisplayContextForDrawingBorders:
 	mov		bl, ATTRIBUTES_ARE_USED
@@ -116,5 +116,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuBorders_GetNumberOfMiddleCharactersToDX:
 	eMOVZX	dx, [bp+MENUINIT.bWidth]
@@ -133,5 +133,5 @@
 ;		AX, BX, CX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 RefreshTitleBorders:
 	call	DrawTopBorderLine
@@ -149,5 +149,5 @@
 ;		AX, BX, CX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 RefreshInformationBorders:
 	call	DrawSeparationBorderLine
@@ -165,5 +165,5 @@
 ;		AX, BX, CX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 RefreshItemBorders:
 	call	DrawSeparationBorderLine
@@ -184,5 +184,5 @@
 DrawTextBorderLinesByCXtimes:
 	jcxz	.NoBorderLinesToDraw
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .DrawBordersWithFunctionInBX:
 	call	DrawTextBorderLine
@@ -207,5 +207,5 @@
 ;		AX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 DrawTopBorderLine:
 	mov		si, g_rgbTopBorderCharacters
@@ -213,10 +213,10 @@
 	jmp		SHORT PrintNewlineToEndBorderLine
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 DrawSeparationBorderLine:
 	mov		si, g_rgbSeparationBorderCharacters
 	jmp		SHORT PrintBorderCharactersFromCSSIandShadowCharacter
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 DrawBottomBorderLine:
 	mov		si, g_rgbBottomBorderCharacters
@@ -231,5 +231,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 DrawBottomShadowLine:
 	CALL_DISPLAY_LIBRARY GetSoftwareCoordinatesToAX
@@ -243,5 +243,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 DrawTextBorderLine:
 	mov		si, g_rgbTextBorderCharacters
@@ -259,5 +259,5 @@
 ;		AX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 PrintBorderCharactersFromCSSIandShadowCharacter:
 	call	PrintBorderCharactersFromCSSI
@@ -277,5 +277,5 @@
 ;		AX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 PrintNewlineToEndBorderLine:
 	CALL_DISPLAY_LIBRARY PrintNewlineCharacters
@@ -293,5 +293,5 @@
 ;		AX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 PrintShadowCharactersByDXtimes:
 	CALL_DISPLAY_LIBRARY PushDisplayContext
@@ -323,5 +323,5 @@
 ;		AX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 PrintBorderCharactersFromCSSI:
 	cs lodsb		; Load from [cs:si+BORDER_CHARS.cLeft] to AL
@@ -346,10 +346,10 @@
 ;		AX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuBorders_PrintSingleBorderCharacterFromAL:
 	CALL_DISPLAY_LIBRARY PrintCharacterFromAL
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuBorders_PrintMultipleBorderCharactersFromAL:
 	push	cx
@@ -369,5 +369,5 @@
 ;		AX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 DrawTimeoutCounterString:
 	call	MenuTime_GetTimeoutSecondsLeftToAX
Index: /trunk/Assembly_Library/Src/Menu/MenuCharOut.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuCharOut.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Menu/MenuCharOut.asm	(revision 369)
@@ -21,5 +21,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuCharOut_MenuTeletypeOutputWithAutomaticLineChange:
 	call	CharOutLineSplitter_IsCursorAtTheEndOfTextLine
@@ -30,5 +30,5 @@
 	; Fall to MenuCharOut_MenuTextTeletypeOutputWithAttribute
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuCharOut_MenuTeletypeOutput:
 	cmp		al, CR
@@ -51,5 +51,5 @@
 ;		AX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuCharOut_PrintLFCRandAdjustOffsetForStartOfLine:
 	mov		al, LF
@@ -57,5 +57,5 @@
 	; Fall to PrintCRandAdjustOffsetForStartOfLine
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 PrintCRandAdjustOffsetForStartOfLine:
 	mov		al, CR
Index: /trunk/Assembly_Library/Src/Menu/MenuEvent.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuEvent.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Menu/MenuEvent.asm	(revision 369)
@@ -16,5 +16,5 @@
 ;		AX, BX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuEvent_InitializeMenuinit:
 	push	ss
@@ -35,5 +35,5 @@
 ;		AX, BX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuEvent_ExitMenu:
 	mov		bl, MENUEVENT_ExitMenu
@@ -52,5 +52,5 @@
 ;		AX, BX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuEvent_IdleProcessing:
 	mov		bl, MENUEVENT_IdleProcessing
@@ -70,5 +70,5 @@
 ;		AX, CX, BX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuEvent_RefreshTitle:
 	mov		bl, MENUEVENT_RefreshTitle
@@ -93,5 +93,5 @@
 ;		AX, BX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuEvent_RefreshItemFromCX:
 	mov		bl, MENUEVENT_RefreshItemFromCX
@@ -109,5 +109,5 @@
 ;		AX, BX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuEvent_HighlightItemFromCX:
 	mov		dx, cx
@@ -136,5 +136,5 @@
 ;		AX, BX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuEvent_KeyStrokeInAX:
 	mov		bl, MENUEVENT_KeyStrokeInAX
@@ -171,5 +171,5 @@
 ;		BX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuEvent_SendFromBX:
 	push	es
Index: /trunk/Assembly_Library/Src/Menu/MenuInit.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuInit.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Menu/MenuInit.asm	(revision 369)
@@ -15,5 +15,5 @@
 ;		All except segments
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuInit_DisplayMenuWithHandlerInBXandUserDataInDXAX:
 	push	es
@@ -49,5 +49,5 @@
 ;		All, except SS:BP
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuInit_EnterMenuWithHandlerInBXandUserDataInDXAX:
 	mov		[bp+MENU.fnEventHandler], bx
@@ -76,5 +76,5 @@
 ;		AX, BX, CX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuInit_RefreshMenuWindow:
 	call	MenuBorders_RefreshAll			; Draw borders
@@ -94,5 +94,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuInit_CloseMenuIfExitEventAllows:
 	call	MenuEvent_ExitMenu
@@ -111,5 +111,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuInit_CloseMenuWindow:
 	or		BYTE [bp+MENU.bFlags], FLG_MENU_EXIT
@@ -127,5 +127,5 @@
 ;		AX, BX, CX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuInit_HighlightItemFromAX:
 	sub		ax, [bp+MENUINIT.wHighlightedItem]
@@ -142,5 +142,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuInit_GetHighlightedItemToAX:
 	mov		ax, [bp+MENUINIT.wHighlightedItem]
@@ -162,15 +162,15 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuInit_SetTitleHeightFromAL:
 	mov		[bp+MENUINIT.bTitleLines], al
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuInit_SetInformationHeightFromAL:
 	mov		[bp+MENUINIT.bInfoLines], al
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuInit_SetTotalItemsFromAX:
 	mov		[bp+MENUINIT.wItems], ax
@@ -191,5 +191,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuInit_SetUserDataFromDSSI:
 	mov		[bp+MENU.dwUserData], si
@@ -197,5 +197,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuInit_GetUserDataToDSSI:
 	lds		si, [bp+MENU.dwUserData]
Index: /trunk/Assembly_Library/Src/Menu/MenuLocation.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuLocation.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Menu/MenuLocation.asm	(revision 369)
@@ -16,5 +16,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuLocation_GetTextCoordinatesToAXforItemInAX:
 	sub		ax, [bp+MENU.wFirstVisibleItem]		; Item to line
@@ -42,5 +42,5 @@
 	jmp		SHORT AddItemBordersTopLeftCoordinatesToAX
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuLocation_GetTitleTextTopLeftCoordinatesToAX:
 	mov		ax, (MENU_TEXT_ROW_OFFSET<<8) | MENU_TEXT_COLUMN_OFFSET
@@ -50,10 +50,10 @@
 	jmp		SHORT MenuLocation_AddTitleBordersTopLeftCoordinatesToAX
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuLocation_GetInformationTextTopLeftCoordinatesToAX:
 	mov		ax, (MENU_TEXT_ROW_OFFSET<<8) | MENU_TEXT_COLUMN_OFFSET
 	jmp		SHORT AddInformationBordersTopLeftCoordinatesToAX
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuLocation_GetBottomBordersTopLeftCoordinatesToAX:
 	xor		ax, ax
@@ -77,5 +77,5 @@
 	stc							; Compensate for Information top border
 	adc		ah, [bp+MENUINIT.bInfoLines]
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 AddInformationBordersTopLeftCoordinatesToAX:
 	push	cx
@@ -84,9 +84,9 @@
 	add		ah, cl
 	pop		cx
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 AddItemBordersTopLeftCoordinatesToAX:
 	stc							; Compensate for Title top border
 	adc		ah, [bp+MENUINIT.bTitleLines]
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuLocation_AddTitleBordersTopLeftCoordinatesToAX:
 	push	di
@@ -112,5 +112,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuLocation_GetMaxTextLineLengthToAX:
 	eMOVZX	ax, [bp+MENUINIT.bWidth]
Index: /trunk/Assembly_Library/Src/Menu/MenuLoop.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuLoop.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Menu/MenuLoop.asm	(revision 369)
@@ -14,5 +14,5 @@
 ;		AX, BX, CX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuLoop_Enter:
 	call	KeystrokeProcessing
@@ -36,5 +36,5 @@
 ;		All, except SS:BP
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 KeystrokeProcessing:
 	call	Keyboard_GetKeystrokeToAX
@@ -43,5 +43,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 TimeoutProcessing:
 	call	MenuTime_UpdateSelectionTimeout
@@ -62,5 +62,5 @@
 ;		AX, BX, CX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 ProcessKeystrokeFromAX:
 	xchg	cx, ax
@@ -85,5 +85,5 @@
 ;		BX, CX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .ProcessMenuSystemKeystrokeFromAX:
 	cmp		al, ESC
@@ -96,5 +96,5 @@
 	ret		; Return with CF cleared since keystroke not processed
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .LeaveMenuWithoutSelectingItem:
 	call	MenuEvent_ExitMenu
@@ -106,5 +106,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .SelectItem:
 	mov		cx, [bp+MENUINIT.wHighlightedItem]
@@ -128,5 +128,5 @@
 ;		BX, CX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuLoop_ProcessScrollingKeysFromAX:
 	xchg	ah, al
@@ -148,5 +148,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .ChangeToPreviousPage:
 	call	MenuScrollbars_GetMaxVisibleItemsOnPageToCX
@@ -157,5 +157,5 @@
 	jge		SHORT .MoveHighlightedItemByAX	; No rotation for PgUp
 	; Fall to .SelectFirstItem
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .SelectFirstItem:
 	mov		ax, [bp+MENUINIT.wHighlightedItem]
@@ -163,5 +163,5 @@
 	jmp		SHORT .MoveHighlightedItemByAX
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .ChangeToNextPage:
 	call	MenuScrollbars_GetMaxVisibleItemsOnPageToCX
@@ -172,5 +172,5 @@
 	jb		SHORT .MoveHighlightedItemByAX	; No rotation for PgDn
 	; Fall to .SelectLastItem
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .SelectLastItem:
 	stc
@@ -179,5 +179,5 @@
 	jmp		SHORT .MoveHighlightedItemByAX
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .DecrementSelectedItem:
 	mov		ax, -1
@@ -185,5 +185,5 @@
 .IncrementSelectedItem:
 	mov		al, 1	; AH is already 0
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .MoveHighlightedItemByAX:
 	call	MenuScrollbars_MoveHighlightedItemByAX
Index: /trunk/Assembly_Library/Src/Menu/MenuScrollbars.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuScrollbars.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Menu/MenuScrollbars.asm	(revision 369)
@@ -15,5 +15,5 @@
 ;		AX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuScrollbars_AreScrollbarsNeeded:
 	xchg	ax, cx
@@ -34,5 +34,5 @@
 ;		AH, CX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuScrollbars_GetScrollCharacterToALForLineInDI:
 	call	MenuScrollbars_GetMaxVisibleItemsOnPageToCX
@@ -45,10 +45,10 @@
 	call	.GetLastThumbLineToAX
 	cmp		ax, di				; After last thumb line?
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .ReturnTrackCharacter:
 	mov		al, SCROLL_TRACK_CHARACTER
 	jb		SHORT .Return
 	mov		al, SCROLL_THUMB_CHARACTER
-ALIGN JUMP_ALIGN, ret
+ALIGN MENU_JUMP_ALIGN, ret
 .Return:
 	ret
@@ -64,5 +64,5 @@
 ;		CX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .GetLastThumbLineToAX:
 	call	MenuScrollbars_GetLastVisibleItemOnPageToAX
@@ -80,5 +80,5 @@
 ;		CX, DX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .CalculateFirstOrLastThumbLineToAX:
 	mul		cx
@@ -97,5 +97,5 @@
 ;		AX, BX, CX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuScrollbars_MoveHighlightedItemByAX:
 	mov		cx, [bp+MENUINIT.wHighlightedItem]
@@ -120,5 +120,5 @@
 	jae		SHORT .ScrollPageForNewItemInCX
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .RotateNegativeItemInCX:
 	add		cx, dx
@@ -135,5 +135,5 @@
 ;		AX, BX, CX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .ScrollPageForNewItemInCX:
 	call	MenuScrollbars_IsItemInCXonVisiblePage
@@ -154,5 +154,5 @@
 	cwd		; This won't work if MaxFirstVisibleItem > 32767
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .DXisPositive:
 	cmp		ax, dx
@@ -160,10 +160,10 @@
 	xchg	dx, ax
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .AXisLessThanDX:
 	mov		[bp+MENU.wFirstVisibleItem], ax
 	call	MenuText_RefreshAllItems
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .HighlightNewItemOnCX:
 	jmp		MenuEvent_HighlightItemFromCX
@@ -181,5 +181,5 @@
 ;		AX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuScrollbars_IsItemInCXonVisiblePage:
 	cmp		[bp+MENU.wFirstVisibleItem], cx
@@ -190,5 +190,5 @@
 	ja		SHORT .ItemIsNotVisible
 	stc		; Item is visible
-ALIGN JUMP_ALIGN, ret
+ALIGN MENU_JUMP_ALIGN, ret
 .ItemIsNotVisible:
 	ret
@@ -204,5 +204,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuScrollbars_GetLastVisibleItemOnPageToAX:
 	xchg	cx, ax
@@ -223,5 +223,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuScrollbars_GetActualVisibleItemsOnPageToCX:
 	call	MenuScrollbars_GetMaxVisibleItemsOnPageToCX
@@ -229,5 +229,5 @@
 	jb		SHORT .Return
 	mov		cx, [bp+MENUINIT.wItems]
-ALIGN JUMP_ALIGN, ret
+ALIGN MENU_JUMP_ALIGN, ret
 .Return:
 	ret
@@ -243,5 +243,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuScrollbars_GetMaxVisibleItemsOnPageToCX:
 	eMOVZX	cx, [bp+MENUINIT.bHeight]
Index: /trunk/Assembly_Library/Src/Menu/MenuText.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuText.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Menu/MenuText.asm	(revision 369)
@@ -16,5 +16,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuText_ClearTitleArea:
 	CALL_DISPLAY_LIBRARY PushDisplayContext		; Save cursor coordinates
@@ -24,5 +24,5 @@
 %endif
 		
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuText_ClearInformationArea:
 	CALL_DISPLAY_LIBRARY PushDisplayContext		; Save cursor coordinates
@@ -50,5 +50,5 @@
 ;		AX, BX, CX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuText_RefreshTitle:
 	cmp		BYTE [bp+MENUINIT.bTitleLines], 0
@@ -57,5 +57,5 @@
 	jmp		MenuEvent_RefreshTitle
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuText_RefreshInformation:
 	cmp		BYTE [bp+MENUINIT.bInfoLines], 0
@@ -74,5 +74,5 @@
 ;		AX, BX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 PrepareToDrawTitleArea:
 	mov		si, ATTRIBUTE_CHARS.cTitle
@@ -80,5 +80,5 @@
 	jmp		SHORT FinishPreparationsToDrawTitleOrInformationArea
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuText_PrepareToDrawInformationArea:
 	mov		si, ATTRIBUTE_CHARS.cInformation
@@ -98,5 +98,5 @@
 ;		AX, BX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuText_RefreshAllItems:
 	push	cx
@@ -104,5 +104,5 @@
 	call	MenuScrollbars_GetActualVisibleItemsOnPageToCX
 	mov		ax, [bp+MENU.wFirstVisibleItem]
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .ItemRefreshLoop:
 	call	MenuText_RefreshItemFromAX
@@ -124,5 +124,5 @@
 ;		BX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuText_RefreshItemFromAX:
 	push	cx
@@ -151,5 +151,5 @@
 ;		AX, BX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuText_AdjustDisplayContextForDrawingItemFromCX:
 	mov		ax, cx
@@ -171,5 +171,5 @@
 ;		AX, BX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 AdjustDisplayContextForDrawingTextsAtCoordsInAXwithAttrTypeInSIandCharOutFunctionInDX:
 	CALL_DISPLAY_LIBRARY SetCursorCoordinatesFromAX
@@ -192,5 +192,5 @@
 ;		AX, BX, DX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 ClearPreviousItem:
 	CALL_DISPLAY_LIBRARY GetSoftwareCoordinatesToAX
@@ -217,5 +217,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 GetItemTextAttributeTypeToSIforItemInCX:
 	mov		si, ATTRIBUTE_CHARS.cItem
@@ -226,5 +226,5 @@
 	jne		SHORT .ReturnAttributeTypeInSI
 	sub		si, BYTE ATTRIBUTE_CHARS.cItem - ATTRIBUTE_CHARS.cHighlightedItem
-ALIGN JUMP_ALIGN, ret
+ALIGN MENU_JUMP_ALIGN, ret
 .ReturnAttributeTypeInSI:
 	ret
@@ -241,5 +241,5 @@
 ;		AX, CX, BX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 DrawScrollbarCharacterForItemInCXifNecessary:
 	call	MenuScrollbars_AreScrollbarsNeeded
@@ -247,5 +247,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .DrawScrollbarCharacter:
 	call	MenuBorders_AdjustDisplayContextForDrawingBorders
Index: /trunk/Assembly_Library/Src/Menu/MenuTime.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuTime.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Menu/MenuTime.asm	(revision 369)
@@ -15,5 +15,5 @@
 ;		AX, BX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuTime_StartSelectionTimeoutWithTicksInAX:
 	push	ds
@@ -34,5 +34,5 @@
 ;		AX, BX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuTime_StopSelectionTimeout:
 	test	BYTE [bp+MENU.bFlags], FLG_MENU_TIMEOUT_COUNTDOWN
@@ -52,5 +52,5 @@
 ;		AX, BX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuTime_UpdateSelectionTimeout:
 	test	BYTE [bp+MENU.bFlags], FLG_MENU_TIMEOUT_COUNTDOWN
@@ -66,5 +66,5 @@
 	ret
 
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 .RedrawSinceNoTimeout:
 	call	MenuBorders_RedrawBottomBorderLine
@@ -84,5 +84,5 @@
 ;		AX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 MenuTime_GetTimeoutSecondsLeftToAX:
 	push	ds
@@ -117,5 +117,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN MENU_JUMP_ALIGN
 PointDSBXtoTimeoutCounter:
 	push	ss
Index: /trunk/Assembly_Library/Src/Serial/SerialServerScan.asm
===================================================================
--- /trunk/Assembly_Library/Src/Serial/SerialServerScan.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Serial/SerialServerScan.asm	(revision 369)
@@ -25,5 +25,4 @@
 ;		AL, BX, CX, DX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 SerialServerScan_ScanForServer:		
 		mov		cx, 1			; one sector, not scanning (default)
@@ -117,5 +116,4 @@
 ;		AL, BX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 SerialServerScan_CheckForServer_PortAndBaudInDX:
 		push	bp				; setup fake SerialServer_Command
Index: /trunk/Assembly_Library/Src/String/Char.asm
===================================================================
--- /trunk/Assembly_Library/Src/String/Char.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/String/Char.asm	(revision 369)
@@ -35,5 +35,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 Char_IsLowerCaseLetterInAL:
 	IS_BETWEEN_IMMEDIATES al, 'a', 'z'
@@ -51,5 +51,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 Char_IsUpperCaseLetterInAL:
 	IS_BETWEEN_IMMEDIATES al, 'A', 'Z'
@@ -69,5 +69,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 Char_IsHexadecimalDigitInAL:
 	call	Char_IsDecimalDigitInAL
@@ -89,5 +89,5 @@
 ;--------------------------------------------------------------------
 %ifndef MODULE_STRINGS_COMPRESSED
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 Char_IsDecimalDigitInAL:
 	IS_BETWEEN_IMMEDIATES al, '0', '9'
@@ -108,5 +108,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 Char_ConvertIntegerToALfromDigitInALwithBaseInBX:
 	push	dx
@@ -119,5 +119,5 @@
 	jbe		SHORT .ConvertToDecimalDigit
 	sub		al, 'a'-'0'-10			; Convert to hexadecimal integer
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 .ConvertToDecimalDigit:
 	sub		al, '0'					; Convert to decimal integer
@@ -137,5 +137,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 Char_CharIsValid:
 	stc
@@ -143,5 +143,5 @@
 %endif
 
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 Char_CharIsNotValid:
 	clc
@@ -159,5 +159,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 Char_ALtoLowerCaseLetter:
 	call	Char_IsUpperCaseLetterInAL	; Is upper case character?
@@ -174,5 +174,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 Char_ALtoUpperCaseLetter:
 	call	Char_IsLowerCaseLetterInAL	; Is lower case character?
@@ -205,5 +205,5 @@
 ;--------------------------------------------------------------------
 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 Char_GetFilterFunctionToDXforNumericBaseInBX:
 	mov		dx, Char_IsDecimalDigitInAL
Index: /trunk/Assembly_Library/Src/String/String.asm
===================================================================
--- /trunk/Assembly_Library/Src/String/String.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/String/String.asm	(revision 369)
@@ -15,5 +15,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 String_ConvertDSSItoLowerCase:
 	push	dx
@@ -42,5 +42,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 String_ConvertWordToAXfromStringInDSSIwithBaseInBX:
 	push	di
@@ -68,10 +68,10 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 String_CopyDSSItoESDIandGetLengthToCX:
 	push	ax
 
 	xor		cx, cx
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 .CopyNextCharacter:
 	lodsb						; Load from DS:SI to AL
@@ -82,5 +82,5 @@
 	jmp		SHORT .CopyNextCharacter
 
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 .EndOfString:
 	pop		ax
@@ -97,5 +97,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 String_GetLengthFromDSSItoCX:
 	push	ax
Index: /trunk/Assembly_Library/Src/String/StringProcess.asm
===================================================================
--- /trunk/Assembly_Library/Src/String/StringProcess.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/String/StringProcess.asm	(revision 369)
@@ -33,5 +33,5 @@
 ;		Nothing (processing function can corrupt BX,DI,ES)
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 StringProcess_DSSIwithFunctionInDX:
 	push	si
@@ -39,5 +39,5 @@
 
 	xor		cx, cx
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 .ProcessNextCharacter:
 	lodsb
@@ -48,5 +48,5 @@
 	jnc		SHORT .ProcessNextCharacter
 
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 .EndOfString:
 	pop		ax
@@ -65,5 +65,5 @@
 ;		AL
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 StringProcess_ConvertToLowerCase:
 	call	Char_ALtoLowerCaseLetter
@@ -84,5 +84,5 @@
 ;		AX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN STRING_JUMP_ALIGN
 StringProcess_ConvertToWordInDIWithBaseInBX:
 	call	Char_ConvertIntegerToALfromDigitInALwithBaseInBX
Index: /trunk/Assembly_Library/Src/Util/Size.asm
===================================================================
--- /trunk/Assembly_Library/Src/Util/Size.asm	(revision 368)
+++ /trunk/Assembly_Library/Src/Util/Size.asm	(revision 369)
@@ -30,5 +30,5 @@
 ;		BX, DH
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN UTIL_SIZE_JUMP_ALIGN
 Size_GetSizeToAXAndCharToDLfromBXDXAXwithMagnitudeInCX:
 %ifndef USE_186		; If 8086/8088
@@ -37,5 +37,5 @@
 	push	si
 
-ALIGN JUMP_ALIGN
+ALIGN UTIL_SIZE_JUMP_ALIGN
 .MagnitudeConversionLoop:
 	ePUSH_T	di, .MagnitudeConversionLoop; DI corrupted only on 8086/8088 build
@@ -80,10 +80,10 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN UTIL_SIZE_JUMP_ALIGN
 Size_DivideSizeInBXDXAXby1024andIncrementMagnitudeInCX:
 	push	cx
 	xor		si, si					; Zero remainder
 	mov		cl, 10					; Divide by 1024
-ALIGN JUMP_ALIGN
+ALIGN UTIL_SIZE_JUMP_ALIGN
 .ShiftLoop:
 	call	Size_DivideBXDXAXbyTwo
@@ -107,5 +107,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
+ALIGN UTIL_SIZE_JUMP_ALIGN
 Size_ConvertSectorCountInBXDXAXtoKiB:
 Size_DivideBXDXAXbyTwo:
Index: /trunk/Serial_Server/win32/Win32.cpp
===================================================================
--- /trunk/Serial_Server/win32/Win32.cpp	(revision 368)
+++ /trunk/Serial_Server/win32/Win32.cpp	(revision 369)
@@ -17,73 +17,81 @@
 #include "../library/flatimage.h"
 
-void usage(void)
-{
-	char *usageStrings[] = {
-		"SerDrive - XTIDE Universal BIOS Serial Drive Server",
-		"Version 2.0.0 Beta1, Built " __DATE__,
-		"",
-		"SerDrive is released under the GNU GPL v2.  SerDrive comes with ABSOLUTELY", 
-		"NO WARRANTY.  This is free software, and you are welcome to redistribute it",
-		"under certain conditions.  See LICENSE.TXT (included with this distribution)",
-		"for more details, or visit http://www.gnu.org/licenses/gpl-2.0.html.",
-		"",
-		"Usage: SerDrive [options] imagefile [[slave-options] slave-imagefile]",
-		"",
-		"  -g [cyl:head:sect]  Geometry in cylinders, sectors per cylinder, and heads",
-		"                      -g also implies CHS addressing mode (default is LBA28)",
-		"",
-		"  -n [megabytes]      Create new disk with given size or use -g geometry",
-		"                      Maximum size is " USAGE_MAXSECTORS, 
-		"                      Floppy images can also be created, such as \"360K\"",
-		"                      (default is a 32 MB disk, with CHS geometry 65:16:63)",
-		"",
-		"  -p [pipename]       Named Pipe mode for emulators",
-		"                      (must begin with \"\\\\\", default is \"" PIPENAME "\")",
-		"",
-        "  -c COMPortNumber    COM Port to use (default is first found)",
-   	    "                      Available COM ports on this system are:",
-   	 "COM                          ",
-		"",
-		"  -b BaudRate         Baud rate to use on the COM port, with client machine",
-		"                      rate multiplier in effect:",
-		"                          None:  2400,  4800,  9600,  28.8K,  57.6K, 115.2K",
-		"                          2x:    4800,  9600, 19200,  57.6K, 115.2K, 230.4K",
-		"                          4x:    9600, 19200, 38400, 115.2K, 230.4K, 460.8K",
-		"                          and for completeness:               76.8K, 153.6K",
-		"                      (default is 9600, 115.2K when in named pipe mode)",
-		"",
-		"  -t                  Disable timeout, useful for long delays when debugging",
-		"",
-		"  -r                  Read Only disk, do not allow writes",
-		"",
-		"  -v [level]          Reporting level 1-6, with increasing information",
-		"",
-		"On the client computer, a serial port can be configured for use as a hard disk",
-		"with xtidecfg.com.  Or one can hold down the ALT key at the end of the normal",
-		"IDE hard disk scan and the XTIDE Universal BIOS will scan COM1-7, at each of",
-		"the six speeds given above for BaudRate.  Note that hardware rate multipliers",
-		"must be taken into account on the server end, but are invisible on the client.",
-		"",
-		"Floppy images may also be used.  Image size must be exactly the same size",
-		"as a 2.88MB, 1.44MB, 1.2MB, 720KB, 360KB, 320KB, 180KB, or 160KB disk.",
-		"Floppy images must be the last disks discovered by the BIOS, and only",
-		"two floppy drives are supported by the BIOS at a time.",
-		NULL };
-
-	for( int t = 0; usageStrings[t]; t++ )
-	{
-		if( !strncmp( usageStrings[t], "COM", 3 ) )
+char *bannerStrings[] = {
+	"SerDrive - XTIDE Universal BIOS Serial Drive Server",
+	"Copyright (C) 2012 by XTIDE Universal BIOS Team",
+	"Released under GNU GPL v2, with ABSOLUTELY NO WARRANTY",
+	"Version 2.0.0 Beta1, Built " __DATE__,
+	"", 
+	NULL };
+
+char *usageStrings[] = {
+	"This is free software, and you are welcome to redistribute it under certain",
+	"conditions.  For more license details, see the LICENSE.TXT file included with",
+	"this distribution, visit the XTIDE Universal BIOS wiki (address below), or",
+ 	"http://www.gnu.org/licenses/gpl-2.0.html",
+	"",
+	"Visit the wiki on http://code.google.com/p/xtideuniversalbios for detailed",
+	"serial drive usage directions.",
+	"",
+	"Usage: SerDrive [options] imagefile [[slave-options] slave-imagefile]",
+	"",
+	"  -g [cyl:head:sect]  Geometry in cylinders, sectors per cylinder, and heads",
+	"                      -g also implies CHS addressing mode (default is LBA28)",
+	"",
+	"  -n [megabytes]      Create new disk with given size or use -g geometry",
+	"                      Maximum size is " USAGE_MAXSECTORS, 
+	"                      Floppy images can also be created, such as \"360K\"",
+	"                      (default is a 32 MB disk, with CHS geometry 65:16:63)",
+	"",
+	"  -p [pipename]       Named Pipe mode for emulators",
+	"                      (must begin with \"\\\\\", default is \"" PIPENAME "\")",
+	"",
+	"  -c COMPortNumber    COM Port to use (default is first found)",
+	"                      Available COM ports on this system are:",
+ "COM                          ",
+	"",
+	"  -b BaudRate         Baud rate to use on the COM port, with client machine",
+	"                      rate multiplier in effect:",
+	"                          None:  2400,  4800,  9600,  28.8K,  57.6K, 115.2K",
+	"                          2x:    4800,  9600, 19200,  57.6K, 115.2K, 230.4K",
+	"                          4x:    9600, 19200, 38400, 115.2K, 230.4K, 460.8K",
+	"                          and for completeness:               76.8K, 153.6K",
+	"                      (default is 9600, 115.2K when in named pipe mode)",
+	"",
+	"  -t                  Disable timeout, useful for long delays when debugging",
+	"",
+	"  -r                  Read Only disk, do not allow writes",
+	"",
+	"  -v [level]          Reporting level 1-6, with increasing information",
+	"",
+	"On the client computer, a serial port can be configured for use as a hard disk",
+	"with xtidecfg.com.  Or one can hold down the ALT key at the end of the normal",
+	"IDE hard disk scan and the XTIDE Universal BIOS will scan COM1-7, at each of",
+	"the six speeds given above for BaudRate.  Note that hardware rate multipliers",
+	"must be taken into account on the server end, but are invisible on the client.",
+	"",
+	"Floppy images may also be used.  Image size must be exactly the same size",
+	"as a 2.88MB, 1.44MB, 1.2MB, 720KB, 360KB, 320KB, 180KB, or 160KB disk.",
+	"Floppy images must be the last disks discovered by the BIOS, and only",
+	"two floppy drives are supported by the BIOS at a time.",
+	NULL };
+
+void usagePrint( char *strings[] )
+{
+	for( int t = 0; strings[t]; t++ )
+	{
+		if( !strncmp( strings[t], "COM", 3 ) )
 		{
 			char logbuff[ 1024 ];
 
 			SerialAccess::EnumerateCOMPorts( logbuff, 1024 );
-			fprintf( stderr, "%s%s\n", usageStrings[t]+3, logbuff );
+			fprintf( stderr, "%s%s\n", strings[t]+3, logbuff );
 		}
 		else
-			fprintf( stderr, "%s\n", usageStrings[t] );
-	}
-
-	exit( 1 );
-}
+			fprintf( stderr, "%s\n", strings[t] );
+	}
+}
+
+#define usage() { usagePrint( usageStrings ); exit(1); }
 
 int verbose = 0;
@@ -115,6 +123,10 @@
 	Image *images[2] = { NULL, NULL };
 
+	usagePrint( bannerStrings );
+
 	for( int t = 1; t < argc; t++ )
 	{
+		char *next = (t+1 < argc ? argv[t+1] : NULL );
+
 		if( argv[t][0] == '/' || argv[t][0] == '-' )
 		{
@@ -128,5 +140,8 @@
 			{
 			case 'c': case 'C':
-				a = atol( argv[++t] );
+				if( !next )
+					usage();
+				t++;
+				a = atol( next );
 				if( a < 1 )
 					usage();
@@ -135,6 +150,9 @@
 				break;
 			case 'v': case 'V':
-			    if( atol(argv[t+1]) != 0 )
-					verbose = atol(argv[++t]);
+			    if( next && atol(next) != 0 )
+				{
+					t++;
+					verbose = atol(next);
+				}
 				else
 					verbose = 1;
@@ -144,6 +162,9 @@
 				break;
 			case 'p': case 'P':
-				if( argv[t+1][0] == '\\' && argv[t+1][1] == '\\' )
-					ComPort = argv[++t];
+				if( next && next[0] == '\\' && next[1] == '\\' )
+				{
+					t++;
+					ComPort = next;
+				}
 				else
 					ComPort = PIPENAME;
@@ -152,7 +173,8 @@
 				break;			  
 			case 'g': case 'G':
-				if( atol(argv[t+1]) != 0 )
+				if( next && atol(next) != 0 )
 				{
-					if( !Image::parseGeometry( argv[++t], &cyl, &head, &sect ) )
+					t++;
+					if( !Image::parseGeometry( next, &cyl, &head, &sect ) )
 						usage();
 				}
@@ -164,9 +186,11 @@
 			case 'n': case 'N':
 				createFile = 1;
-				if( atol(argv[t+1]) != 0 )
+				if( next && atol(next) != 0 )
 				{
-					double size = atof(argv[++t]);
+					double size = atof(next);
 					struct floppyInfo *fi;
 					char *c;
+
+					t++;
 
 					size *= 2;
@@ -193,6 +217,9 @@
 				break;
 			case 'b': case 'B':
-				if( !(baudRate = baudRateMatchString( argv[++t] )) || !baudRate->rate )
-					log( -2, "Unknown Baud Rate \"%s\"", argv[t] );
+				if( !next )
+					usage();
+				t++;
+				if( !(baudRate = baudRateMatchString( next )) || !baudRate->rate )
+					log( -2, "Unknown Baud Rate \"%s\"", next );
 				break;
 			default:
Index: /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenu.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenu.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenu.asm	(revision 369)
@@ -16,5 +16,4 @@
 ;		All General Purpose Registers
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenu_DisplayAndReturnSelectionInDX:
 	call	DriveXlate_Reset
@@ -39,10 +38,8 @@
 ;		AX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenu_GetDriveToDXforMenuitemInCX_And_RamVars_GetSegmentToDS:
 	call	RamVars_GetSegmentToDS
 ;;; fall-through
 
-ALIGN JUMP_ALIGN
 BootMenu_GetDriveToDXforMenuitemInCX:
 	cmp		cl, NO_ITEM_HIGHLIGHTED
@@ -73,5 +70,4 @@
 ;		AX, BX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenu_Enter:
 	mov		bx, BootMenuEvent_Handler
@@ -92,5 +88,4 @@
 ;		CX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenu_GetMenuitemCountToAX:
 	call	RamVars_GetHardDiskCountFromBDAtoAX
@@ -110,5 +105,4 @@
 ;		AL, CX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenu_GetHeightToAHwithItemCountInAL:
 	add		al, BOOT_MENU_HEIGHT_WITHOUT_ITEMS
@@ -119,5 +113,5 @@
 	jb		SHORT .Return
 	mov		ah, cl
-ALIGN JUMP_ALIGN, ret
+
 .Return:
 	ret
@@ -133,5 +127,4 @@
 ;		CX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenu_GetMenuitemToAXforAsciiHotkeyInAL:
 	call	Char_ALtoUpperCaseLetter
@@ -144,5 +137,5 @@
 	sub		al, 'A'						; Letter to Floppy Drive menuitem
 	ret
-ALIGN JUMP_ALIGN
+
 .StartFromHardDiskLetter:
 	sub		cl, al						; Hard Disk index
@@ -165,5 +158,4 @@
 ;		AX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenu_GetLetterForFirstHardDiskToAL:
 	call	FloppyDrive_GetCountToAX
@@ -172,5 +164,5 @@
 	ja		.Return
 	mov		al, 'C'
-ALIGN JUMP_ALIGN, ret
+		
 .Return:
 	ret
@@ -186,5 +178,4 @@
 ;		AX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenu_GetMenuitemToDXforDriveInDL:
 	xor		dh, dh						; Drive number now in DX
@@ -211,5 +202,4 @@
 ;		AX, CX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenu_IsDriveInSystem:
 	test	dl, dl								; Floppy drive?
Index: /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuEvent.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuEvent.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuEvent.asm	(revision 369)
@@ -16,5 +16,4 @@
 ;		All
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenuEvent_Handler:
 
@@ -66,5 +65,4 @@
 ; Returns:
 ;	DS:SI:		Ptr to initialized MENUINIT struct
-ALIGN JUMP_ALIGN
 .FirstEvent:	
 .InitializeMenuinitFromDSSI:
@@ -85,5 +83,4 @@
 	ret
 
-ALIGN JUMP_ALIGN
 .GetDefaultMenuitemToDX:
 	mov		dl, [cs:ROMVARS.bBootDrv]	; Default boot drive
@@ -92,5 +89,5 @@
 	call	DriveXlate_SetDriveToSwap
 	jmp		BootMenu_GetMenuitemToDXforDriveInDL
-ALIGN JUMP_ALIGN
+
 .DoNotSetDefaultMenuitem:
 	xor		dx, dx						; Whatever appears first on boot menu
@@ -101,5 +98,4 @@
 ;	CX:			Index of new highlighted item
 ;	DX:			Index of previously highlighted item or NO_ITEM_HIGHLIGHTED
-ALIGN JUMP_ALIGN
 .ItemHighlightedFromCX:
 	push	cx
@@ -124,5 +120,4 @@
 ;	AL:			ASCII character for the key
 ;	AH:			Keyboard library scan code for the key
-ALIGN JUMP_ALIGN
 .KeyStrokeInAX:
 	cmp		ah, ROM_BOOT_HOTKEY_SCANCODE
@@ -130,5 +125,5 @@
 	;; NOTE: carry flag will be clear after compare above that resulted in zero
 	jmp		Int19hMenu_JumpToBootSector_or_RomBoot   	
-ALIGN JUMP_ALIGN
+
 .CheckDriveHotkeys:
 	call	BootMenu_GetMenuitemToAXforAsciiHotkeyInAL
@@ -147,5 +142,4 @@
 ; Parameters:
 ;	CX:			Index of selected item
-ALIGN JUMP_ALIGN
 .ItemSelectedFromCX:
 	CALL_MENU_LIBRARY Close
Index: /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuInfo.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuInfo.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuInfo.asm	(revision 369)
@@ -55,5 +55,4 @@
 ;		CX
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenuInfo_GetTotalSectorCount:
 	test	BYTE [di+DPT.bFlagsLow], FLG_DRVNHEAD_LBA
Index: /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrint.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrint.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrint.asm	(revision 369)
@@ -15,5 +15,4 @@
 ;		AX, BX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenuPrint_RefreshItem:
 	call	BootMenu_GetDriveToDXforMenuitemInCX_And_RamVars_GetSegmentToDS
@@ -59,5 +58,4 @@
 ;		AX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenuPrint_TitleStrings:
 	mov		si, ROMVARS.szTitle
@@ -76,5 +74,4 @@
 ;		AX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenuPrint_NullTerminatedStringFromCSSIandSetCF:
 ;
@@ -99,5 +96,4 @@
 ;		AX, BX, CX, DX, SI, DI, ES
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenuPrint_RefreshInformation:
 	CALL_MENU_LIBRARY ClearInformationArea
@@ -188,5 +184,4 @@
 ;		BX, CX, DX, SI, DI, ES
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 .HardDiskRefreshInformation:
 	jc		.HardDiskMenuitemInfoForForeignDrive		; Based on CF from FindDPT_ForDriveNumberInDL (way) above
@@ -229,5 +224,4 @@
 ;		AX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenuPrint_FormatCSSIfromParamsInSSBP:
 	CALL_DISPLAY_LIBRARY FormatNullTerminatedStringFromCSSI
@@ -246,5 +240,4 @@
 ;		AX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenuPrint_ClearScreen:
 	call	BootMenuPrint_InitializeDisplayContext
@@ -265,5 +258,4 @@
 ;		AX, BX, CX, DX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenuPrint_TheBottomOfScreen:
 	call	FloppyDrive_GetCountToAX
@@ -351,5 +343,4 @@
 ;		AX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 PushHotkeyParamsAndFormat:
 	push	bp
@@ -378,5 +369,4 @@
 ;		AX, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootMenuPrint_InitializeDisplayContext:
 	CALL_DISPLAY_LIBRARY InitializeDisplayContext
Index: /trunk/XTIDE_Universal_BIOS/Src/Boot/BootPrint.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Boot/BootPrint.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Boot/BootPrint.asm	(revision 369)
@@ -14,5 +14,4 @@
 ;		AX, CX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootPrint_FailedToLoadFirstSector:
 	push	bp
@@ -35,5 +34,4 @@
 ;		AX, SI, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootPrint_TryToBootFromDL:
 	push	bp
Index: /trunk/XTIDE_Universal_BIOS/Src/Boot/BootSector.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Boot/BootSector.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Boot/BootSector.asm	(revision 369)
@@ -17,5 +17,4 @@
 ;		AX, CX, DH, SI, DI, (DL if failed to read boot sector)
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 BootSector_TryToLoadFromDriveDL:
 	call	BootPrint_TryToBootFromDL
@@ -52,10 +51,9 @@
 ;		AL, CX, DH, DI
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 LoadFirstSectorFromDriveDL:
 	LOAD_BDA_SEGMENT_TO	es, bx				; ES:BX now points to...
 	mov		bx, BOOTVARS.rgbBootSect		; ...boot sector location
 	mov		di, BOOT_READ_RETRY_TIMES		; Initialize retry counter
-ALIGN JUMP_ALIGN
+
 .ReadRetryLoop:
 	call	.ResetBootDriveFromDL
@@ -78,5 +76,4 @@
 ;		AL
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 .ResetBootDriveFromDL:
 	xor		ax, ax							; AH=0h, Disk Controller Reset
@@ -101,5 +98,4 @@
 ;		AL, CX, DH
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 .LoadFirstSectorFromDLtoESBX:
 	mov		ax, 0201h						; Read 1 sector
Index: /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH0h_HReset.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH0h_HReset.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH0h_HReset.asm	(revision 369)
@@ -21,5 +21,4 @@
 ;		CF:		0 if successful, 1 if error
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 AH0h_HandlerForDiskControllerReset:
 	eMOVZX	bx, dl						; Copy requested drive to BL, zero BH to assume no errors
Index: /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH11h_HRecal.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH11h_HRecal.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH11h_HRecal.asm	(revision 369)
@@ -17,5 +17,4 @@
 ;		CF:		0 if successful, 1 if error
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 AH11h_HandlerForRecalibrate:
 %ifndef USE_186
Index: /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH15h_HSize.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH15h_HSize.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH15h_HSize.asm	(revision 369)
@@ -24,5 +24,4 @@
 ;			CF:		1
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 AH15h_HandlerForReadDiskDriveSize:
 %ifdef MODULE_SERIAL_FLOPPY
Index: /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH23h_HFeatures.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH23h_HFeatures.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH23h_HFeatures.asm	(revision 369)
@@ -26,5 +26,4 @@
 ;		CF:		0 if successful, 1 if error
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 AH23h_HandlerForSetControllerFeatures:
 	xchg	si, ax		; SI = Feature Number
@@ -55,5 +54,4 @@
 ;		AL, BX, CX, DX
 ;--------------------------------------------------------------------
-;ALIGN JUMP_ALIGN
 AH23h_SetControllerFeatures:
 	mov		al, COMMAND_SET_FEATURES
Index: /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH25h_HDrvID.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH25h_HDrvID.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH25h_HDrvID.asm	(revision 369)
@@ -20,5 +20,4 @@
 ;		CF:		0 if successful, 1 if error
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 AH25h_HandlerForGetDriveInformation:
 	mov		ax, (COMMAND_IDENTIFY_DEVICE << 8 | 1)		; Read 1 sector
Index: /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AHDh_HReset.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AHDh_HReset.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AHDh_HReset.asm	(revision 369)
@@ -17,5 +17,4 @@
 ;		CF:		0 if successful, 1 if error
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 AHDh_HandlerForResetHardDisk:
 %ifndef USE_186
Index: /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH41h_CheckIfExtensionsPresent.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH41h_CheckIfExtensionsPresent.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH41h_CheckIfExtensionsPresent.asm	(revision 369)
@@ -21,5 +21,4 @@
 ;		CF:		0 if successful, 1 if error
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 AH41h_HandlerForCheckIfExtensionsPresent:
 	cmp		WORD [bp+IDEPACK.intpack+INTPACK.bx], 55AAh
Index: /trunk/XTIDE_Universal_BIOS/Src/Initialization/FloppyDrive.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Initialization/FloppyDrive.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/Src/Initialization/FloppyDrive.asm	(revision 369)
@@ -109,5 +109,4 @@
 ;		AX, CX, DX, DI, ES
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 FloppyDrive_GetType:
 	mov		ah, 08h			; Get Drive Parameters
@@ -126,5 +125,4 @@
 ;		AX:		Number of Floppy Drives
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 FloppyDrive_GetCountToAX:
 %ifdef MODULE_SERIAL_FLOPPY
@@ -146,5 +144,4 @@
 	ret
 
-ALIGN JUMP_ALIGN
 FloppyDrive_GetCountFromBIOS_or_BDA:
 	push	es
@@ -166,5 +163,4 @@
 ;--------------------------------------------------------------------
 %ifdef USE_AT
-ALIGN JUMP_ALIGN
 .GetCountFromBIOS:
 	push	di
@@ -197,5 +193,4 @@
 ;--------------------------------------------------------------------
 %ifndef USE_AT
-ALIGN JUMP_ALIGN
 .GetCountFromBDA:
 	LOAD_BDA_SEGMENT_TO	es, ax
Index: /trunk/XTIDE_Universal_BIOS/makefile
===================================================================
--- /trunk/XTIDE_Universal_BIOS/makefile	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS/makefile	(revision 369)
@@ -193,4 +193,5 @@
 	@perl ..\tools\checksum.pl $(TARGET)_xt.bin $(ROMSIZE)
 	@perl ..\tools\checksum.pl $(TARGET)_jr8k.bin $(ROMSIZE)
+	@perl ..\tools\checksum.pl $(TARGET)_386.bin $(ROMSIZE)
 
 xt_unused: xt
Index: /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Buffers.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Buffers.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Buffers.asm	(revision 369)
@@ -107,4 +107,21 @@
 	and		WORD [g_cfgVars+CFGVARS.wFlags], ~FLG_CFGVARS_UNSAVED
 	ret
+
+;--------------------------------------------------------------------		
+; Buffers_TestLoaded
+;	Parameters:
+;		SS:BP:	Menu handle
+;	Returns:
+;		CF:		Set = BIOS Loaded
+;	Corrupts registers:
+;		AX
+;--------------------------------------------------------------------				
+ALIGN JUMP_ALIGN
+Buffers_TestLoaded:
+	test	word [cs:g_cfgVars+CFGVARS.wFlags], FLG_CFGVARS_FILELOADED    ; Clears CF
+	jz		.done
+	stc
+.done:	
+	ret						
 
 
Index: /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menuitem.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menuitem.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menuitem.asm	(revision 369)
@@ -152,4 +152,13 @@
 	call	GetConfigurationBufferToESDIforMenuitemInDSSI
 	add		di, [si+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
+		
+	push	bx
+	mov		bx,[si+MENUITEM.itemValue+ITEM_VALUE.fnValueWriter]
+	test	bx,bx
+	jz		SHORT .NoWriter
+	call	bx
+.NoWriter:
+	pop		bx
+		
 	jmp		[cs:bx+.rgfnJumpToStoreValueBasedOnItemType]
 .InvalidItemType:
@@ -231,13 +240,4 @@
 ALIGN JUMP_ALIGN
 .StoreByteOrWordValueFromAXtoESDIwithItemInDSSI:
-	push	bx
-	mov		bx,[si+MENUITEM.itemValue+ITEM_VALUE.fnValueWriter]
-	test	bx,bx
-	jz		SHORT .NoWriter
-
-	call	bx
-
-.NoWriter:
-	pop		bx
 	test	BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_MASKVALUE
 	jz		SHORT .StoreByteOrWord
Index: /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/MasterSlaveMenu.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/MasterSlaveMenu.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/MasterSlaveMenu.asm	(revision 369)
@@ -70,4 +70,5 @@
 	at	MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup,	dw	g_rgszValueToStringLookupForFlagBooleans
 	at	MENUITEM.itemValue + ITEM_VALUE.wValueBitmask,				dw	FLG_DRVPARAMS_USERCHS
+	at	MENUITEM.itemValue + ITEM_VALUE.fnValueWriter,				dw	MasterSlaveMenu_WriteCHSFlag		
 iend
 
@@ -85,4 +86,5 @@
 	at	MENUITEM.itemValue + ITEM_VALUE.wMinValue,					dw	1
 	at	MENUITEM.itemValue + ITEM_VALUE.wMaxValue,					dw	16383
+%define					MASTERSLAVE_CYLINDERS_DEFAULT					65
 iend
 
@@ -100,4 +102,5 @@
 	at	MENUITEM.itemValue + ITEM_VALUE.wMinValue,					dw	1
 	at	MENUITEM.itemValue + ITEM_VALUE.wMaxValue,					dw	16
+%define					MASTERSLAVE_HEADS_DEFAULT						16		
 iend
 
@@ -115,4 +118,5 @@
 	at	MENUITEM.itemValue + ITEM_VALUE.wMinValue,					dw	1
 	at	MENUITEM.itemValue + ITEM_VALUE.wMaxValue,					dw	63
+%define					MASTERSLAVE_SECTORS_DEFAULT						63
 iend
 
@@ -131,4 +135,5 @@
 	at	MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup,	dw	g_rgszValueToStringLookupForFlagBooleans
 	at	MENUITEM.itemValue + ITEM_VALUE.wValueBitmask,				dw	FLG_DRVPARAMS_USERLBA
+	at	MENUITEM.itemValue + ITEM_VALUE.fnValueWriter,				dw	MasterSlaveMenu_WriteLBAFlag				
 iend
 
@@ -148,4 +153,5 @@
 	at	MENUITEM.itemValue + ITEM_VALUE.fnValueReader,				dw	ValueReaderForUserLbaValue
 	at	MENUITEM.itemValue + ITEM_VALUE.fnValueWriter,				dw	ValueWriterForUserLbaValue
+%define				MASTERSLAVE_USERLBA_DEFAULT						1
 iend
 
@@ -384,2 +390,58 @@
 	pop		dx
 	ret						; AX will be stored by our menu system
+
+;
+; No change to CHS flag, but we use this opportunity to change defaults stored in the CHS values if we are
+; changing in/out of user CHS settings (since we use these bytes in different ways with the LBA setting).
+;
+ALIGN JUMP_ALIGN		
+MasterSlaveMenu_WriteCHSFlag:
+		test	word [es:di], FLG_DRVPARAMS_USERCHS
+		jnz		.alreadySet
+
+		push	ax
+		push	di
+		push	si
+
+		mov		ax, MASTERSLAVE_CYLINDERS_DEFAULT
+		mov		si, g_MenuitemMasterSlaveCylinders
+		call	Menuitem_StoreValueFromAXtoMenuitemInDSSI
+		
+		mov		ax, MASTERSLAVE_HEADS_DEFAULT		
+		mov		si, g_MenuitemMasterSlaveHeads
+		call	Menuitem_StoreValueFromAXtoMenuitemInDSSI		
+
+		mov		ax, MASTERSLAVE_SECTORS_DEFAULT						
+		mov		si, g_MenuitemMasterSlaveSectors
+		call	Menuitem_StoreValueFromAXtoMenuitemInDSSI		
+		
+		pop		si						
+		pop		di
+		pop		ax
+
+.alreadySet:
+		ret
+
+;
+; No change to LBA flag, but we use this opportunity to change defaults stored in the LBA value if we are
+; changing in/out of user LBA settings (since we use these bytes in different ways with the CHS setting).
+;
+ALIGN JUMP_ALIGN						
+MasterSlaveMenu_WriteLBAFlag:
+		test	word [es:di], FLG_DRVPARAMS_USERLBA
+		jnz		.alreadySet
+
+		push	ax
+		push	di
+		push	si
+
+		mov		ax, MASTERSLAVE_USERLBA_DEFAULT
+		mov		si, g_MenuitemMasterSlaveUserLbaValue
+		call	Menuitem_StoreValueFromAXtoMenuitemInDSSI				
+
+		pop		si
+		pop		di
+		pop		ax
+						
+.alreadySet:
+		ret		
Index: /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm	(revision 368)
+++ /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm	(revision 369)
@@ -74,5 +74,5 @@
 g_szNfoMainConfigure:	db	"Configure XTIDE Universal BIOS settings.",NULL
 g_szNfoMainFlash:		db	"Flash loaded BIOS image to EEPROM.",NULL
-g_szNfoMainLicense:		db	"XTIDE Universal BIOS and XTIDECFG (C) 2009-2010 by Tomi Tilli, 2011-2012 by XTIDE Universal BIOS Team. Released under GNU GPL v2, with ABSOLUTELY NO WARRANTY. Details...",NULL
+g_szNfoMainLicense:		db	"XTIDE Universal BIOS and XTIDECFG Copyright (C) 2009-2010 by Tomi Tilli, 2011-2012 by XTIDE Universal BIOS Team. Released under GNU GPL v2, with ABSOLUTELY NO WARRANTY. Press ENTER for more details...",NULL
 g_szNfoMainHomePage:	db	"Visit http://code.google.com/p/ xtideuniversalbios (home page) and http://vintage-computer.com/ vcforum (support)",NULL
 
Index: /trunk/license.txt
===================================================================
--- /trunk/license.txt	(revision 368)
+++ /trunk/license.txt	(revision 369)
