Index: /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrint.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrint.asm	(revision 385)
+++ /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrint.asm	(revision 386)
@@ -61,5 +61,5 @@
 	push	ax										; the hard disks don't ever use it, but it does no harm)
 
-	jmp		short BootMenuPrint_RefreshInformation.FormatRelay
+	jmp		SHORT BootMenuPrint_RefreshInformation.FormatRelay
 
 ;--------------------------------------------------------------------
@@ -76,28 +76,8 @@
 BootMenuPrint_TitleStrings:
 	mov		si, ROMVARS.szTitle
-	call	BootMenuPrint_NullTerminatedStringFromCSSIandSetCF
+	call	DetectPrint_NullTerminatedStringFromCSSIandSetCF
 	CALL_DISPLAY_LIBRARY PrintNewlineCharacters
 	mov		si, ROMVARS.szVersion
-	; Fall to BootMenuPrint_NullTerminatedStringFromCSSIandSetCF
-
-;--------------------------------------------------------------------
-; BootMenuPrint_NullTerminatedStringFromCSSIandSetCF
-;	Parameters:
-;		CS:SI:	Ptr to NULL terminated string to print
-;	Returns:
-;		CF:		Set since menu event was handled successfully
-;	Corrupts registers:
-;		AX, DI
-;--------------------------------------------------------------------
-BootMenuPrint_NullTerminatedStringFromCSSIandSetCF:
-;
-; We send all CSSI strings through the Format routine for the case of
-; compressed strings, but this doesn't hurt in the non-compressed case either
-; (perhaps a little slower, but shouldn't be noticeable to the user)
-; and results in smaller code size.
-;
-	push	bp
-	mov		bp,sp
-	jmp		short BootMenuPrint_RefreshInformation.FormatRelay
+	jmp		DetectPrint_NullTerminatedStringFromCSSIandSetCF
 
 
@@ -186,5 +166,5 @@
 
 .FormatRelay:
-	jmp		short BootMenuPrint_FormatCSSIfromParamsInSSBP
+	jmp		DetectPrint_FormatCSSIfromParamsInSSBP
 
 
@@ -222,27 +202,8 @@
 
 	test	di,di
-	jz		short BootMenuPrint_FormatCSSIfromParamsInSSBP
+	jz		SHORT BootMenuPrint_RefreshInformation.FormatRelay
 
 %include "BootMenuPrintCfg.asm"			; inline of code to fill out remainder of information string
-
-;;; fall-through to BootMenuPrint_FormatCSSIfromParamsInSSBP
-
-
-;--------------------------------------------------------------------
-; BootMenuPrint_FormatCSSIfromParamsInSSBP
-;	Parameters:
-;		CS:SI:	Ptr to string to format
-;		BP:		SP before pushing parameters
-;	Returns:
-;		BP:		Popped from stack
-;		CF:		Set since menu event was handled successfully
-;	Corrupts registers:
-;		AX, DI
-;--------------------------------------------------------------------
-BootMenuPrint_FormatCSSIfromParamsInSSBP:
-	CALL_DISPLAY_LIBRARY FormatNullTerminatedStringFromCSSI
-	stc				; Successful return from menu event
-	pop		bp
-	ret
+	jmp		DetectPrint_FormatCSSIfromParamsInSSBP
 
 
@@ -371,21 +332,5 @@
 	push	cx			; Key attribute for last space
 	mov		si, g_szHotkey
-
-BootMenuPrint_FormatCSSIfromParamsInSSBP_Relay:
-	jmp		SHORT BootMenuPrint_FormatCSSIfromParamsInSSBP
-
-
-;--------------------------------------------------------------------
-; BootMenuPrint_InitializeDisplayContext
-;	Parameters:
-;		Nothing
-;	Returns:
-;		Nothing
-;	Corrupts registers:
-;		AX, DI
-;--------------------------------------------------------------------
-BootMenuPrint_InitializeDisplayContext:
-	CALL_DISPLAY_LIBRARY InitializeDisplayContext
-	ret
+	jmp		DetectPrint_FormatCSSIfromParamsInSSBP
 
 
Index: unk/XTIDE_Universal_BIOS/Src/Boot/BootPrint.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Boot/BootPrint.asm	(revision 385)
+++ 	(revision )
@@ -1,72 +1,0 @@
-; Project name	:	XTIDE Universal BIOS
-; Description	:	Functions for printing boot related strings.
-
-;
-; XTIDE Universal BIOS and Associated Tools 
-; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2012 by XTIDE Universal BIOS Team.
-;
-; This program is free software; you can redistribute it and/or modify
-; it under the terms of the GNU General Public License as published by
-; the Free Software Foundation; either version 2 of the License, or
-; (at your option) any later version.
-; 
-; This program is distributed in the hope that it will be useful,
-; but WITHOUT ANY WARRANTY; without even the implied warranty of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-; GNU General Public License for more details.
-; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html		
-;				
-
-; Section containing code
-SECTION .text
-
-;--------------------------------------------------------------------
-; BootPrint_FailedToLoadFirstSector
-;	Parameters:
-;		AH:		INT 13h error code
-;	Returns:
-;		Nothing
-;	Corrupts registers:
-;		AX, CX, SI, DI
-;--------------------------------------------------------------------
-BootPrint_FailedToLoadFirstSector:
-	push	bp
-	mov		bp, sp
-	eMOVZX	cx, ah
-	push	cx					; Push INT 13h error code
-	mov		si, g_szReadError
-		
-	jmp		short BootMenuPrint_FormatCSSIfromParamsInSSBP_Relay
-		
-
-;--------------------------------------------------------------------
-; BootPrint_TryToBootFromDL
-;	Parameters:
-;		DL:		Drive to boot from (translated, 00h or 80h)
-;		DS:		RAMVARS segment
-;	Returns:
-;		Nothing
-;	Corrupts registers:
-;		AX, SI, DI
-;--------------------------------------------------------------------
-BootPrint_TryToBootFromDL:
-	push	bp
-	mov		bp, sp
-
-	mov		ax, g_szHDD
-	test	dl, dl
-	js		SHORT .NotFDD
-	mov		ax, g_szFDD
-.NotFDD:
-	push	ax
-
-	call	DriveXlate_ToOrBack
-	push	dx					; Push untranslated drive number
-	call	DriveXlate_ToOrBack
-	push	dx					; Push translated drive number
-
-	mov		si, g_szTryToBoot
-	jmp		short BootMenuPrint_FormatCSSIfromParamsInSSBP_Relay		
-
-
-
Index: /trunk/XTIDE_Universal_BIOS/Src/Boot/BootSector.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Boot/BootSector.asm	(revision 385)
+++ /trunk/XTIDE_Universal_BIOS/Src/Boot/BootSector.asm	(revision 386)
@@ -34,5 +34,5 @@
 ;--------------------------------------------------------------------
 BootSector_TryToLoadFromDriveDL:
-	call	BootPrint_TryToBootFromDL
+	call	DetectPrint_TryToBootFromDL
 	call	LoadFirstSectorFromDriveDL
 	jc		SHORT .FailedToLoadFirstSector
@@ -46,10 +46,10 @@
 	ret
 .FailedToLoadFirstSector:
-	call	BootPrint_FailedToLoadFirstSector
+	call	DetectPrint_FailedToLoadFirstSector
 	clc
 	ret
 .FirstHardDiskSectorNotBootable:
 	mov		si, g_szBootSectorNotFound
-	call	BootMenuPrint_NullTerminatedStringFromCSSIandSetCF
+	call	DetectPrint_NullTerminatedStringFromCSSIandSetCF
 	clc
 	ret
Index: /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm	(revision 385)
+++ /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm	(revision 386)
@@ -43,5 +43,4 @@
 ;		Never returns (loads operating system)
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 Int19h_BootLoaderHandler:
 	sti
@@ -92,6 +91,8 @@
 .SelectDriveToBootFrom:
 	call	RamVars_GetSegmentToDS
+%ifdef MODULE_BOOT_MENU
 	cmp		WORD [cs:ROMVARS.wfDisplayBootMenu], BYTE 0
 	jne		SHORT ProcessBootMenuSelectionsUntilBootableDriveSelected	; Display boot menu
+%endif
 	; Fall to BootFromDriveAthenTryDriveC
 
@@ -112,4 +113,5 @@
 
 
+%ifdef MODULE_BOOT_MENU
 ;--------------------------------------------------------------------
 ; ProcessBootMenuSelectionsUntilBootableDriveSelected
@@ -126,4 +128,5 @@
 	; Fall to Int19hMenu_JumpToBootSector_or_RomBoot
 	; (CF is set or we wouldn't be here, see "jnc" immediately above)
+%endif
 
 ;--------------------------------------------------------------------
@@ -143,5 +146,4 @@
 ;		Never returns
 ;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
 Int19hMenu_JumpToBootSector_or_RomBoot:
 	mov		cx, es		; Preserve MBR segment (can't push because of stack change)
Index: /trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm	(revision 385)
+++ /trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm	(revision 386)
@@ -199,5 +199,5 @@
 DetectDrives_DriveNotFound:
 	mov		si, g_szNotFound
-	jmp		BootMenuPrint_NullTerminatedStringFromCSSIandSetCF
+	jmp		DetectPrint_NullTerminatedStringFromCSSIandSetCF
 
 
@@ -219,3 +219,3 @@
 	jc		SHORT DetectDrives_DriveNotFound
 	call	BootMenuInfo_CreateForHardDisk
-	jmp		short DetectPrint_DriveNameFromBootnfoInESBX
+	jmp		SHORT DetectPrint_DriveNameFromBootnfoInESBX
Index: /trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectPrint.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectPrint.asm	(revision 385)
+++ /trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectPrint.asm	(revision 386)
@@ -22,4 +22,18 @@
 
 ;--------------------------------------------------------------------
+; BootMenuPrint_InitializeDisplayContext
+;	Parameters:
+;		Nothing
+;	Returns:
+;		Nothing
+;	Corrupts registers:
+;		AX, DI
+;--------------------------------------------------------------------
+BootMenuPrint_InitializeDisplayContext:
+	CALL_DISPLAY_LIBRARY InitializeDisplayContext
+	ret
+
+
+;--------------------------------------------------------------------
 ; Prints BIOS name and segment address where it is found.
 ;
@@ -39,6 +53,5 @@
 	push	cs							; BIOS segment
 
-DetectPrint_BootMenuPrint_FormatCSSIfromParamsInSSBP_Relay:
-	jmp		BootMenuPrint_FormatCSSIfromParamsInSSBP
+	jmp		DetectPrint_FormatCSSIfromParamsInSSBP
 
 
@@ -122,5 +135,5 @@
 	mov		si, g_szDetectOuter				; Load SI with default wrapper string "IDE %s at %s: "
 
-	jmp		short DetectPrint_BootMenuPrint_FormatCSSIfromParamsInSSBP_Relay
+	jmp		SHORT DetectPrint_FormatCSSIfromParamsInSSBP
 
 
@@ -146,2 +159,87 @@
 	pop		di
 	ret
+
+;--------------------------------------------------------------------
+; DetectPrint_FailedToLoadFirstSector
+;	Parameters:
+;		AH:		INT 13h error code
+;	Returns:
+;		Nothing
+;	Corrupts registers:
+;		AX, CX, SI, DI
+;--------------------------------------------------------------------
+DetectPrint_FailedToLoadFirstSector:
+	push	bp
+	mov		bp, sp
+	eMOVZX	cx, ah
+	push	cx					; Push INT 13h error code
+	mov		si, g_szReadError
+	jmp		SHORT DetectPrint_FormatCSSIfromParamsInSSBP
+
+
+;--------------------------------------------------------------------
+; DetectPrint_TryToBootFromDL
+;	Parameters:
+;		DL:		Drive to boot from (translated, 00h or 80h)
+;		DS:		RAMVARS segment
+;	Returns:
+;		Nothing
+;	Corrupts registers:
+;		AX, SI, DI
+;--------------------------------------------------------------------
+DetectPrint_TryToBootFromDL:
+	push	bp
+	mov		bp, sp
+
+	mov		ax, g_szHDD
+	test	dl, dl
+	js		SHORT .NotFDD
+	mov		ax, g_szFDD
+.NotFDD:
+	push	ax
+
+	call	DriveXlate_ToOrBack
+	push	dx					; Push untranslated drive number
+	call	DriveXlate_ToOrBack
+	push	dx					; Push translated drive number
+
+	mov		si, g_szTryToBoot
+	jmp		SHORT DetectPrint_FormatCSSIfromParamsInSSBP	
+
+
+;--------------------------------------------------------------------
+; DetectPrint_NullTerminatedStringFromCSSIandSetCF
+;	Parameters:
+;		CS:SI:	Ptr to NULL terminated string to print
+;	Returns:
+;		CF:		Set since menu event was handled successfully
+;	Corrupts registers:
+;		AX, DI
+;--------------------------------------------------------------------
+DetectPrint_NullTerminatedStringFromCSSIandSetCF:
+;
+; We send all CSSI strings through the Format routine for the case of
+; compressed strings, but this doesn't hurt in the non-compressed case either
+; (perhaps a little slower, but shouldn't be noticeable to the user)
+; and results in smaller code size.
+;
+	push	bp
+	mov		bp,sp
+	; Fall to BootMenuPrint_FormatCSSIfromParamsInSSBP
+
+;--------------------------------------------------------------------
+; DetectPrint_FormatCSSIfromParamsInSSBP
+;	Parameters:
+;		CS:SI:	Ptr to string to format
+;		BP:		SP before pushing parameters
+;	Returns:
+;		BP:		Popped from stack
+;		CF:		Set since menu event was handled successfully
+;	Corrupts registers:
+;		AX, DI
+;--------------------------------------------------------------------
+DetectPrint_FormatCSSIfromParamsInSSBP:
+	CALL_DISPLAY_LIBRARY FormatNullTerminatedStringFromCSSI
+	stc				; Successful return from menu event
+	pop		bp
+	ret
Index: /trunk/XTIDE_Universal_BIOS/Src/Main.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Main.asm	(revision 385)
+++ /trunk/XTIDE_Universal_BIOS/Src/Main.asm	(revision 386)
@@ -130,13 +130,13 @@
 	at	ROMVARS.ideVars1+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags,	db	DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE
 
-	at	ROMVARS.ideVars2+IDEVARS.wPort,			dw	DEVICE_XTIDE_DEFAULT_PORT			; Controller Command Block base port
-	at	ROMVARS.ideVars2+IDEVARS.wPortCtrl,		dw	DEVICE_XTIDE_DEFAULT_PORTCTRL		; Controller Control Block base port
-	at	ROMVARS.ideVars2+IDEVARS.bDevice,		db	DEVICE_XTIDE_REV1
+	at	ROMVARS.ideVars2+IDEVARS.wPort,			dw	1E8h
+	at	ROMVARS.ideVars2+IDEVARS.wPortCtrl,		dw	3E8h
+	at	ROMVARS.ideVars2+IDEVARS.bDevice,		db	DEVICE_16BIT_ATA
 	at	ROMVARS.ideVars2+IDEVARS.bIRQ,			db	0
 	at	ROMVARS.ideVars2+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags,	db	DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE
 	at	ROMVARS.ideVars2+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags,	db	DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE
 
-	at	ROMVARS.ideVars3+IDEVARS.wPort,			dw	168h			; Controller Command Block base port
-	at	ROMVARS.ideVars3+IDEVARS.wPortCtrl,		dw	368h			; Controller Control Block base port
+	at	ROMVARS.ideVars3+IDEVARS.wPort,			dw	168h
+	at	ROMVARS.ideVars3+IDEVARS.wPortCtrl,		dw	368h
 	at	ROMVARS.ideVars3+IDEVARS.bDevice,		db	DEVICE_16BIT_ATA
 	at	ROMVARS.ideVars3+IDEVARS.bIRQ,			db	0
@@ -231,5 +231,4 @@
 
 	; Boot loader
-	%include "BootPrint.asm"		; For printing boot information
 	%include "Int19h.asm"			; For Int 19h, Boot Loader
 	%include "FloppyDrive.asm"		; Floppy Drive related functions
