Index: /trunk/Assembly_Library/Inc/BiosData.inc
===================================================================
--- /trunk/Assembly_Library/Inc/BiosData.inc	(revision 582)
+++ /trunk/Assembly_Library/Inc/BiosData.inc	(revision 583)
@@ -77,5 +77,5 @@
 	.wKBPtrStart	resb	2		; 0:480h, Keyboard, Pointer to start of buffer (XT+)
 	.wKBPtrEnd		resb	2		; 0:482h, Keyboard, Pointer to end of buffer (XT+)
-	.bVidRows		resb	1		; 0:484h, Video, Number of rows (EGA+)
+	.bVidRows		resb	1		; 0:484h, Video, Number of rows minus one (EGA+)
 	.wVidPpC		resb	2		; 0:485h, Video, Pixels per character (EGA+)
 	.bVidOptns		resb	1		; 0:487h, Video, Options (EGA+)
Index: /trunk/Assembly_Library/Src/Display/CgaSnow.asm
===================================================================
--- /trunk/Assembly_Library/Src/Display/CgaSnow.asm	(revision 582)
+++ /trunk/Assembly_Library/Src/Display/CgaSnow.asm	(revision 583)
@@ -29,5 +29,5 @@
 ;				Cleared if CGA not detected
 ;	Corrupts registers:
-;		AX
+;		Nothing
 ;--------------------------------------------------------------------
 ALIGN DISPLAY_JUMP_ALIGN
@@ -37,7 +37,6 @@
 
 	; All standard CGA modes use 25 rows but only EGA and later store it to BDA.
-	cmp		BYTE [BDA.bVidRows], 25
-	jge		SHORT .CgaNotFound
-	stc
+	cmp		BYTE [BDA.bVidRows], 25		; *FIXME* Shouldn't this be 24 (rows - 1)?
+	jae		SHORT .CgaNotFound
 	ret
 ALIGN DISPLAY_JUMP_ALIGN
Index: /trunk/Assembly_Library/Src/Menu/Dialog/Dialog.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/Dialog/Dialog.asm	(revision 582)
+++ /trunk/Assembly_Library/Src/Menu/Dialog/Dialog.asm	(revision 583)
@@ -180,8 +180,8 @@
 	CALL_DISPLAY_LIBRARY GetColumnsToALandRowsToAH
 	xchg	bx, ax
-	mov		ah, [bp+MENUINIT.bTitleLines]
+	mov		ah, MENU_VERTICAL_BORDER_LINES
+	add		ah, [bp+MENUINIT.bTitleLines]
 	add		ah, [bp+MENUINIT.wItems]
 	add		ah, [bp+MENUINIT.bInfoLines]
-	add		ah, BYTE MENU_VERTICAL_BORDER_LINES
 	cmp		ah, bh
 	jb		.AHlessThanBH
Index: /trunk/Assembly_Library/Src/Menu/MenuBorders.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuBorders.asm	(revision 582)
+++ /trunk/Assembly_Library/Src/Menu/MenuBorders.asm	(revision 583)
@@ -135,6 +135,6 @@
 ALIGN MENU_JUMP_ALIGN
 MenuBorders_GetNumberOfMiddleCharactersToDX:
-	eMOVZX	dx, [bp+MENUINIT.bWidth]
-	sub		dx, BYTE MENU_HORIZONTAL_BORDER_LINES
+	mov		dx, -MENU_HORIZONTAL_BORDER_LINES & 0FFh
+	add		dl, [bp+MENUINIT.bWidth]
 	ret
 
Index: /trunk/Assembly_Library/Src/Menu/MenuLocation.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuLocation.asm	(revision 582)
+++ /trunk/Assembly_Library/Src/Menu/MenuLocation.asm	(revision 583)
@@ -133,5 +133,5 @@
 ALIGN MENU_JUMP_ALIGN
 MenuLocation_GetMaxTextLineLengthToAX:
-	eMOVZX	ax, [bp+MENUINIT.bWidth]
-	sub		ax, BYTE MENU_HORIZONTAL_BORDER_LINES + MENU_TEXT_COLUMN_OFFSET
+	mov		ax, -(MENU_HORIZONTAL_BORDER_LINES + MENU_TEXT_COLUMN_OFFSET) & 0FFh
+	add		al, [bp+MENUINIT.bWidth]
 	ret
Index: /trunk/Assembly_Library/Src/Menu/MenuScrollbars.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuScrollbars.asm	(revision 582)
+++ /trunk/Assembly_Library/Src/Menu/MenuScrollbars.asm	(revision 583)
@@ -248,7 +248,7 @@
 ALIGN MENU_JUMP_ALIGN
 MenuScrollbars_GetMaxVisibleItemsOnPageToCX:
-	eMOVZX	cx, [bp+MENUINIT.bHeight]
+	mov		cx, -MENU_VERTICAL_BORDER_LINES & 0FFh
+	add		cl, [bp+MENUINIT.bHeight]
 	sub		cl, [bp+MENUINIT.bTitleLines]
 	sub		cl, [bp+MENUINIT.bInfoLines]
-	sub		cl, MENU_VERTICAL_BORDER_LINES
-	ret
+	ret
Index: /trunk/Assembly_Library/Src/Menu/MenuText.asm
===================================================================
--- /trunk/Assembly_Library/Src/Menu/MenuText.asm	(revision 582)
+++ /trunk/Assembly_Library/Src/Menu/MenuText.asm	(revision 583)
@@ -240,5 +240,5 @@
 	cmp		cx, [bp+MENUINIT.wHighlightedItem]
 	jne		SHORT .ReturnAttributeTypeInSI
-	sub		si, BYTE ATTRIBUTE_CHARS.cItem - ATTRIBUTE_CHARS.cHighlightedItem
+	inc		si		; SI = ATTRIBUTE_CHARS.cHighlightedItem
 ALIGN MENU_JUMP_ALIGN, ret
 .ReturnAttributeTypeInSI:
Index: /trunk/XTIDE_Universal_BIOS/Inc/BootMenu.inc
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Inc/BootMenu.inc	(revision 582)
+++ /trunk/XTIDE_Universal_BIOS/Inc/BootMenu.inc	(revision 583)
@@ -22,12 +22,12 @@
 
 ; Boot menu sizes
-BOOT_MENU_DEFAULT_TIMEOUT				EQU	(30 * TICKS_PER_SECOND)
-BOOT_MENU_TITLE_LINES					EQU	2	; Number of title lines
-BOOT_MENU_INFO_LINES					EQU	3	; Number of info lines
-BOOT_MENU_SEPARATOR_LINES_PLUS_SHADOW	EQU	5
-BOOT_MENU_TITLE_AND_INFO_LINES			EQU	(BOOT_MENU_TITLE_LINES | (BOOT_MENU_INFO_LINES<<8))
-BOOT_MENU_WIDTH							EQU	40	; Menu width in characters (including shadow)
-BOOT_MENU_HEIGHT_WITHOUT_ITEMS			EQU	(BOOT_MENU_TITLE_LINES + BOOT_MENU_INFO_LINES + BOOT_MENU_SEPARATOR_LINES_PLUS_SHADOW)
-MENU_SCREEN_BOTTOM_LINES				EQU	1
+BOOT_MENU_DEFAULT_TIMEOUT				EQU		(TICKS_PER_MINUTE / 2)
+BOOT_MENU_TITLE_LINES					EQU		2	; Number of title lines
+BOOT_MENU_INFO_LINES					EQU		3	; Number of info lines
+BOOT_MENU_SEPARATOR_LINES_PLUS_SHADOW	EQU		5
+BOOT_MENU_TITLE_AND_INFO_LINES			EQU		(BOOT_MENU_TITLE_LINES | (BOOT_MENU_INFO_LINES<<8))
+BOOT_MENU_WIDTH							EQU		40	; Menu width in characters (including shadow)
+BOOT_MENU_HEIGHT_WITHOUT_ITEMS			EQU		(BOOT_MENU_TITLE_LINES + BOOT_MENU_INFO_LINES + BOOT_MENU_SEPARATOR_LINES_PLUS_SHADOW)
+MENU_SCREEN_BOTTOM_LINES				EQU		1
 
 
Index: /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH15h_HSize.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH15h_HSize.asm	(revision 582)
+++ /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH15h_HSize.asm	(revision 583)
@@ -74,10 +74,10 @@
 
 ;--------------------------------------------------------------------
-; AH15h_GetSectorCountFromForeignDriveToDXAX
+; AH15h_GetSectorCountFromForeignDriveToBXDXAX
 ; AH15h_GetSectorCountToBXDXAX
 ;	Parameters:
-;		DL:		Drive number (AH15h_GetSectorCountFromForeignDriveToDXAX only)
+;		DL:		Drive number (AH15h_GetSectorCountFromForeignDriveToBXDXAX only)
 ;		DS:		RAMVARS segment
-;		DS:DI:	Ptr to DPT (AH15h_GetSectorCountToDXAX only)
+;		DS:DI:	Ptr to DPT (AH15h_GetSectorCountToBXDXAX only)
 ;	Returns:
 ;		DX:AX:	Total sector count
@@ -87,5 +87,5 @@
 ;--------------------------------------------------------------------
 %ifdef MODULE_BOOT_MENU
-AH15h_GetSectorCountFromForeignDriveToDXAX:
+AH15h_GetSectorCountFromForeignDriveToBXDXAX:
 	mov		ah, GET_DRIVE_PARAMETERS
 	call	Int13h_CallPreviousInt13hHandler
Index: /trunk/XTIDE_Universal_BIOS/Src/Menus/BootMenu/BootMenuPrint.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Menus/BootMenu/BootMenuPrint.asm	(revision 582)
+++ /trunk/XTIDE_Universal_BIOS/Src/Menus/BootMenu/BootMenuPrint.asm	(revision 583)
@@ -199,5 +199,5 @@
 .HardDiskMenuitemInfoForForeignDrive:
 	call	DriveXlate_ToOrBack
-	call	AH15h_GetSectorCountFromForeignDriveToDXAX
+	call	AH15h_GetSectorCountFromForeignDriveToBXDXAX
 
 .ConvertSectorCountInBXDXAXtoSizeAndPushForFormat:
Index: /trunk/XTIDE_Universal_BIOS_Configurator_v2/Inc/Variables.inc
===================================================================
--- /trunk/XTIDE_Universal_BIOS_Configurator_v2/Inc/Variables.inc	(revision 582)
+++ /trunk/XTIDE_Universal_BIOS_Configurator_v2/Inc/Variables.inc	(revision 583)
@@ -22,5 +22,5 @@
 
 ; Equates and defines
-BOOT_MENU_DEFAULT_TIMEOUT			EQU	(30 * TICKS_PER_SECOND)
+BOOT_MENU_DEFAULT_TIMEOUT			EQU		(TICKS_PER_MINUTE / 2)
 MAX_ALLOWED_IDE_CONTROLLERS			EQU		4	; Maximum number of IDE controllers
 MAX_LITE_MODE_CONTROLLERS			EQU		2
Index: /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/MasterSlaveMenu.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/MasterSlaveMenu.asm	(revision 582)
+++ /trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/MasterSlaveMenu.asm	(revision 583)
@@ -399,8 +399,8 @@
 	push	dx
 
-	mov		ax, [es:di]
-	mov		dx, [es:di+2]		; DX:AX now holds user defined LBA28 limit
-	add		ax, BYTE 1			; Increment by one
-	adc		dx, BYTE 0
+	mov		ax, 1
+	cwd							; DX:AX = 1
+	add		ax, [es:di]
+	adc		dx, [es:di+2]		; User defined LBA28 limit added
 
 	xchg	ax, dx				; SHR 16
