Index: trunk/XTIDE_Universal_BIOS/Inc/ATA_ID.inc
===================================================================
--- trunk/XTIDE_Universal_BIOS/Inc/ATA_ID.inc	(revision 613)
+++ trunk/XTIDE_Universal_BIOS/Inc/ATA_ID.inc	(revision 614)
@@ -22,7 +22,7 @@
 
 ; Maximum valid P-CHS parameters
-MAX_VALID_PCHS_CYLINDERS			EQU		16383
-MAX_VALID_PCHS_HEADS				EQU		16
-MAX_VALID_PCHS_SECTORS_PER_TRACK	EQU		63
+MAX_PCHS_CYLINDERS			EQU		16383
+MAX_PCHS_HEADS				EQU		16
+MAX_PCHS_SECTORS_PER_TRACK	EQU		63
 
 
Index: trunk/XTIDE_Universal_BIOS/Inc/RomVars.inc
===================================================================
--- trunk/XTIDE_Universal_BIOS/Inc/RomVars.inc	(revision 613)
+++ trunk/XTIDE_Universal_BIOS/Inc/RomVars.inc	(revision 614)
@@ -46,9 +46,6 @@
 FLG_DRVPARAMS_BLOCKMODE			EQU	(1<<4)	; Enable Block mode transfers
 FLG_DRVPARAMS_USERCHS			EQU	(1<<5)	; User specified P-CHS values
-	MAX_PCHS_CYLINDERS				EQU	16383
-	MAX_PCHS_HEADS					EQU	16
-	MAX_PCHS_SECTORS_PER_TRACK		EQU	63
-	MAX_PCHS_TOTAL_SECTOR_COUNT		EQU	(MAX_PCHS_CYLINDERS * MAX_PCHS_HEADS * MAX_PCHS_SECTORS_PER_TRACK)	; 16,514,064
 FLG_DRVPARAMS_USERLBA			EQU	(1<<6)	; User specified LBA value
+FLG_DRVPARAMS_DO_NOT_DETECT		EQU	(1<<7)	; Disable detection of drive
 
 
@@ -143,5 +140,5 @@
 	.rgbJump			resb	3	; First instruction to ROM init (jmp)
 
-	.rgbSign			resb	8	; Signature for XTIDE Configurator Program
+	.rgbSign			resb	6	; Signature for XTIDE Configurator Program (must be even length)
 	.szTitle			resb	31	; BIOS title string
 	.szVersion			resb	25	; BIOS version string
Index: trunk/XTIDE_Universal_BIOS/Inc/Version.inc
===================================================================
--- trunk/XTIDE_Universal_BIOS/Inc/Version.inc	(revision 613)
+++ trunk/XTIDE_Universal_BIOS/Inc/Version.inc	(revision 614)
@@ -20,4 +20,5 @@
 
 ; Flash signature revisions:
+; XUB208	Added option to skip slave drive detection
 ; XTIDE207	Added device type DEVICE_8BIT_XTIDE_REV2_OLIVETTI
 ; XTIDE206	Added support for Color Themes
@@ -50,5 +51,5 @@
 %define	TITLE_STRING			TITLE_STRING_START, TITLE_STRING_END
 %define	ROM_VERSION_STRING		"v2.0.0",BETA,"3+ (",__DATE__,")",NULL
-%define	FLASH_SIGNATURE			"XTIDE207"	; Do not terminate with NULL
+%define	FLASH_SIGNATURE			"XUB208"	; Do not terminate with NULL
 
 
Index: trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm
===================================================================
--- trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm	(revision 613)
+++ trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm	(revision 614)
@@ -35,5 +35,5 @@
 ;		ES:SI:	Ata information with possible corrections made
 ;		AH:		INT 13h Error Code from reading ATA information
-;		CF 		cleared if drive now accepted
+;		CF 		Cleared if drive now accepted
 ;	Corrupts registers:
 ;		AL, BX, CX, DX, DI
@@ -49,10 +49,10 @@
 
 	; Only correct cylinders since there are no reports that head or sectors could be wrong
-	MIN_U	WORD [es:si+ATA1.wCylCnt], MAX_VALID_PCHS_CYLINDERS		; Limit to max allowed value
-	
+	MIN_U	WORD [es:si+ATA1.wCylCnt], MAX_PCHS_CYLINDERS		; Limit to max allowed value
+
 	; Note! There are ATA ID words 54-58 that also need to be modified! However,
 	; the drive itself should modify them when we do Initialize Device Parameters command at AH=9h.
 	; Verification from real drive needed before we fix them manually
-	
+
 	clc						; Return success
 .Return:
@@ -82,13 +82,13 @@
 	; Verify P-CHS cylinders
 	mov		bx, ATA1.wCylCnt
-	mov		ax, MAX_VALID_PCHS_CYLINDERS
+	mov		ax, MAX_PCHS_CYLINDERS
 	call	.CompareCHorSfromOffsetBXtoMaxValueInAX
 
 	mov		bl, ATA1.wHeadCnt & 0FFh
-	mov		ax, MAX_VALID_PCHS_HEADS
+	mov		ax, MAX_PCHS_HEADS
 	call	.CompareCHorSfromOffsetBXtoMaxValueInAX
 
 	mov		bl, ATA1.wSPT & 0FFh
-	mov		al, MAX_VALID_PCHS_SECTORS_PER_TRACK
+	mov		al, MAX_PCHS_SECTORS_PER_TRACK
 	call	.CompareCHorSfromOffsetBXtoMaxValueInAX
 
Index: trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm
===================================================================
--- trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm	(revision 613)
+++ trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm	(revision 614)
@@ -44,7 +44,10 @@
 	call	StartDetectionWithDriveSelectByteInBHandStringInCX	; Detect and create DPT + BOOTNFO
 
+	test	BYTE [cs:bp+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags], FLG_DRVPARAMS_DO_NOT_DETECT
+	jnz		SHORT .SkipSlaveDetection
 	mov		cx, g_szDetectSlave
 	mov		bh, MASK_DRVNHEAD_SET | FLG_DRVNHEAD_DRV
 	call	StartDetectionWithDriveSelectByteInBHandStringInCX
+.SkipSlaveDetection:
 
 %ifdef MODULE_HOTKEYS
Index: trunk/XTIDE_Universal_BIOS/makefile
===================================================================
--- trunk/XTIDE_Universal_BIOS/makefile	(revision 613)
+++ trunk/XTIDE_Universal_BIOS/makefile	(revision 614)
@@ -118,5 +118,5 @@
 DEFINES_AT_LARGE = $(DEFINES_AT) $(DEFINES_COMMON_LARGE)
 
-DEFINES_XT_TINY = MODULE_STRINGS_COMPRESSED MODULE_8BIT_IDE NO_ATAID_VALIDATION NO_ATAID_CORRECTION CLD_NEEDED
+DEFINES_XT_TINY = MODULE_STRINGS_COMPRESSED MODULE_8BIT_IDE NO_ATAID_VALIDATION CLD_NEEDED
 DEFINES_386 = $(DEFINES_AT) USE_386 MODULE_ADVANCED_ATA MODULE_WIN9X_CMOS_HACK
 DEFINES_386_LARGE = $(DEFINES_386) $(DEFINES_COMMON_LARGE)
