Index: trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h.asm
===================================================================
--- trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h.asm	(revision 589)
+++ trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h.asm	(revision 592)
@@ -97,5 +97,7 @@
 	sti									; Enable interrupts
 %endif
+%ifdef CLD_NEEDED
 	cld									; String instructions to increment pointers
+%endif
 	ePUSHA
 	push	ds
@@ -193,6 +195,10 @@
 
 	; Push old INT 13h handler and restore registers
+%ifdef USE_386
+	push	DWORD [RAMVARS.fpOldI13h]
+%else
 	push	WORD [RAMVARS.fpOldI13h+2]
 	push	WORD [RAMVARS.fpOldI13h]
+%endif
 	mov		bx, [bp+IDEPACK.intpack+INTPACK.bx]
 	mov		di, [bp+IDEPACK.intpack+INTPACK.di]
Index: trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH0h_HReset.asm
===================================================================
--- trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH0h_HReset.asm	(revision 589)
+++ trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH0h_HReset.asm	(revision 592)
@@ -126,5 +126,5 @@
 	mov		cx, NUMBER_OF_IDEVARS
 
-.loop:
+.Loop:
 	call	FindDPT_MasterOrSingleForIdevarsOffsetInDL
 	jc		SHORT .ControllerNotAvailable
@@ -162,4 +162,4 @@
 .ControllerNotAvailable:
 	add		dl, IDEVARS_size							; move Idevars pointer forward
-	loop	.loop
+	loop	.Loop
 	ret
Index: trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH1Eh_XTCF.asm
===================================================================
--- trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH1Eh_XTCF.asm	(revision 589)
+++ trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH1Eh_XTCF.asm	(revision 592)
@@ -121,7 +121,7 @@
 	;
 	; Also note that some machines, noteably the Olivetti M24 (also known as
-	; the AT&T PC6300 and Xerox 6060), have hardware errors in the BIU logic,
-	; resulting in reversed byte ordering.  Therefore, XTCF_8BIT_PIO_MODE is
-	; the default transfer mode for best system compatibility.
+	; the AT&T PC6300 or Xerox 6060 or Logabax Persona 1600), have hardware errors
+	; in the BIU logic, resulting in reversed byte ordering.  Therefore,
+	; XTCF_8BIT_PIO_MODE is the default transfer mode for best system compatibility.
 
 
Index: trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH41h_CheckIfExtensionsPresent.asm
===================================================================
--- trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH41h_CheckIfExtensionsPresent.asm	(revision 589)
+++ trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH41h_CheckIfExtensionsPresent.asm	(revision 592)
@@ -46,5 +46,5 @@
 
 	mov		BYTE [bp+IDEPACK.intpack+INTPACK.ah], EBIOS_VERSION
-	mov		WORD [bp+IDEPACK.intpack+INTPACK.bx], 0AA55h
+	not		WORD [bp+IDEPACK.intpack+INTPACK.bx]	; 55AAh = AA55h
 
 %ifdef MODULE_COMPATIBLE_TABLES
@@ -75,11 +75,19 @@
 ;--------------------------------------------------------------------
 AH41h_GetSupportBitsToCX:
+%ifdef USE_AT	; Always in Full mode
+%ifndef MODULE_8BIT_IDE OR MODULE_SERIAL
+	mov		cx, ENHANCED_DRIVE_ACCESS_SUPPORT | ENHANCED_DISK_DRIVE_SUPPORT
+%else
+	mov		cx, ENHANCED_DRIVE_ACCESS_SUPPORT
+	cmp		BYTE [di+DPT_ATA.bDevice], DEVICE_8BIT_ATA
+	jae		SHORT .DoNotSetEDDflag
+	or		cl, ENHANCED_DISK_DRIVE_SUPPORT
+%endif
+%else ; ~USE_AT
 	mov		cx, ENHANCED_DRIVE_ACCESS_SUPPORT
 
 	; DPTE needs buffer from RAM so do not return it in lite mode
-%ifndef USE_AT
 	test	BYTE [cs:ROMVARS.wFlags], FLG_ROMVARS_FULLMODE
 	jz		SHORT .DoNotSetEDDflag
-%endif
 
 %ifdef MODULE_8BIT_IDE OR MODULE_SERIAL
@@ -91,4 +99,5 @@
 
 	or		cl, ENHANCED_DISK_DRIVE_SUPPORT	; AH=48h returns DPTE
+%endif ; USE_AT
 .DoNotSetEDDflag:
 	ret
Index: trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Address.asm
===================================================================
--- trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Address.asm	(revision 589)
+++ trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Address.asm	(revision 592)
@@ -110,12 +110,12 @@
 	and		al, MASKL_DPT_TRANSLATEMODE
 
-;;; 0: ADDRESSING_MODE_NORMAL
+;;; 0: TRANSLATEMODE_NORMAL
 	jz		SHORT DoNotConvertLCHS
 
-;;; 1: ADDRESSING_MODE_LARGE
+;;; 1: TRANSLATEMODE_LARGE
 	test	al, FLGL_DPT_ASSISTED_LBA
 	jz		SHORT ConvertLargeModeLCHStoPCHS
 
-;;; 2: ADDRESSING_MODE_ASSISTED_LBA
+;;; 2: TRANSLATEMODE_ASSISTED_LBA
 	; Fall to ConvertAssistedLBAModeLCHStoLBARegisterValues
 
Index: trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm
===================================================================
--- trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm	(revision 589)
+++ trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm	(revision 592)
@@ -30,5 +30,7 @@
 Int19h_BootLoaderHandler:
 	sti											; Enable interrupts
+%ifdef CLD_NEEDED
 	cld											; String instructions to increment pointers
+%endif
 %ifdef MODULE_VERY_LATE_INIT
 	LOAD_BDA_SEGMENT_TO	ds, ax					; Load BDA segment (zero) to DS
