Index: /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrintCfg.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrintCfg.asm	(revision 190)
+++ /trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrintCfg.asm	(revision 191)
@@ -51,9 +51,9 @@
 ;		Nothing (jumps to next push below)
 ;	Corrupts registers:
-;		AX
+;		AX, BX
 ;--------------------------------------------------------------------
 PushAddressingMode:
-	call	AccessDPT_GetAddressingModeForWordLookToBX
-	mov		al,g_szAddressingModes_Displacement
+	call	AccessDPT_GetAddressingModeToAXZF
+	mov		bl,g_szAddressingModes_Displacement
 	mul		bl
 	add		ax,g_szAddressingModes
Index: /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Address.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Address.asm	(revision 190)
+++ /trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Address.asm	(revision 191)
@@ -4,35 +4,4 @@
 ; Section containing code
 SECTION .text
-
-; Jump table for conversion functions
-ALIGN WORD_ALIGN
-g_rgfnAddressTranslation:
-	dw		DoNotConvertLCHS					; 0, ADDR_DPT_LCHS
-	dw		ConvertLCHStoPCHS					; 1, ADDR_DPT_PCHS
-	dw		ConvertLCHStoLBARegisterValues		; 2, ADDR_DPT_LBA28
-	dw		ConvertLCHStoLBARegisterValues		; 3, ADDR_DPT_LBA48
-
-
-;--------------------------------------------------------------------
-; Address_OldInt13hAddressToIdeAddress
-;	Parameters:
-;		CH:		Cylinder number, bits 7...0
-;		CL:		Bits 7...6: Cylinder number bits 9 and 8
-;				Bits 5...0:	Starting sector number (1...63)
-;		DH:		Starting head number (0...255)
-;		DS:DI:	Ptr to DPT
-;	Returns:
-;		BL:		LBA Low Register / Sector Number Register (LBA 7...0)
-;		CL:		LBA Mid Register / Low Cylinder Register (LBA 15...8)
-;		CH:		LBA High Register / High Cylinder Register (LBA 23...16)
-;		BH:		Drive and Head Register (LBA 27...24)
-;	Corrupts registers:
-;		AX, DX
-;--------------------------------------------------------------------
-ALIGN JUMP_ALIGN
-Address_OldInt13hAddressToIdeAddress:
-	call	AccessDPT_GetAddressingModeForWordLookToBX
-	push	WORD [cs:bx+g_rgfnAddressTranslation]		; Push return address
-	; Fall to Address_ExtractLCHSparametersFromOldInt13hAddress
 
 ;---------------------------------------------------------------------
@@ -50,4 +19,5 @@
 ;		Nothing
 ;--------------------------------------------------------------------
+ALIGN JUMP_ALIGN
 Address_ExtractLCHSparametersFromOldInt13hAddress:
 	mov		bl, cl				; Copy sector number...
@@ -97,5 +67,29 @@
 	ret
 
-
+;--------------------------------------------------------------------
+; Address_OldInt13hAddressToIdeAddress
+;	Parameters:
+;		CH:		Cylinder number, bits 7...0
+;		CL:		Bits 7...6: Cylinder number bits 9 and 8
+;				Bits 5...0:	Starting sector number (1...63)
+;		DH:		Starting head number (0...255)
+;		DS:DI:	Ptr to DPT
+;	Returns:
+;		BL:		LBA Low Register / Sector Number Register (LBA 7...0)
+;		CL:		LBA Mid Register / Low Cylinder Register (LBA 15...8)
+;		CH:		LBA High Register / High Cylinder Register (LBA 23...16)
+;		BH:		Drive and Head Register (LBA 27...24)
+;	Corrupts registers:
+;		AX, DX
+;--------------------------------------------------------------------
+ALIGN JUMP_ALIGN
+Address_OldInt13hAddressToIdeAddress:
+	call	Address_ExtractLCHSparametersFromOldInt13hAddress
+	call	AccessDPT_GetAddressingModeToAXZF
+	jz		DoNotConvertLCHS	; 0, ADDR_DPT_LCHS
+	dec		ax
+	jz		ConvertLCHStoPCHS	; 1, ADDR_DPT_PCHS
+;; Fall-through                 ; 2, ADDR_DPT_LBA28 and 3, ADDR_DPT_LBA48
+		
 ;---------------------------------------------------------------------
 ; Converts LCHS parameters to 28-bit LBA address.
Index: /trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/AccessDPT.asm
===================================================================
--- /trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/AccessDPT.asm	(revision 190)
+++ /trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/AccessDPT.asm	(revision 191)
@@ -42,17 +42,18 @@
 
 ;--------------------------------------------------------------------
-; AccessDPT_GetAddressingModeForWordLookToBX
+; AccessDPT_GetAddressingModeToAXZF
 ;	Parameters:
 ;		DS:DI:	Ptr to Disk Parameter Table
 ;	Returns:
-;		BX:		Addressing Mode (L-CHS, P-CHS, LBA28, LBA48) shifted for WORD lookup
+;		AX:		Addressing Mode (L-CHS, P-CHS, LBA28, LBA48)
+;       ZF:		Set if AX=0
 ;	Corrupts registers:
 ;		Nothing
 ;--------------------------------------------------------------------
 ALIGN JUMP_ALIGN
-AccessDPT_GetAddressingModeForWordLookToBX:
-	mov		bl, [di+DPT.bFlagsLow]
-	and		bx, BYTE MASKL_DPT_ADDRESSING_MODE
-	eSHR_IM	bx, ADDRESSING_MODE_FIELD_POSITION-1
+AccessDPT_GetAddressingModeToAXZF:
+	mov		al, [di+DPT.bFlagsLow]
+	and		ax, BYTE MASKL_DPT_ADDRESSING_MODE 
+	eSHR_IM	ax, ADDRESSING_MODE_FIELD_POSITION
 	ret
 
