Index: trunk/Assembly_Library/Inc/BiosData.inc
===================================================================
--- trunk/Assembly_Library/Inc/BiosData.inc	(revision 581)
+++ 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 581)
+++ 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 581)
+++ 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 581)
+++ 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 581)
+++ 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 581)
+++ 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 581)
+++ 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:
