Index: trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/BootMenuSettingsMenu.asm
===================================================================
--- trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/BootMenuSettingsMenu.asm	(revision 402)
+++ trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/BootMenuSettingsMenu.asm	(revision 403)
@@ -26,5 +26,5 @@
 	at	MENUPAGE.fnEnter,			dw	BootMenuSettingsMenu_EnterMenuOrModifyItemVisibility
 	at	MENUPAGE.fnBack,			dw	ConfigurationMenu_EnterMenuOrModifyItemVisibility
-	at	MENUPAGE.wMenuitems,		dw	8
+	at	MENUPAGE.wMenuitems,		dw	6
 iend
 
@@ -78,5 +78,5 @@
 	at	MENUITEM.szQuickInfo,		dw	g_szNfoSerialDetect
 	at	MENUITEM.szHelp,			dw	g_szHelpSerialDetect
-	at	MENUITEM.bFlags,			db	FLG_MENUITEM_VISIBLE | FLG_MENUITEM_FLAGVALUE
+	at	MENUITEM.bFlags,			db	FLG_MENUITEM_FLAGVALUE
 	at	MENUITEM.bType,				db	TYPE_MENUITEM_MULTICHOICE
 	at	MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,		dw	ROMVARS.wFlags
@@ -87,21 +87,4 @@
 iend
 
-g_MenuitemBootMnuStngsEnableBootMenu:
-istruc MENUITEM
-	at	MENUITEM.fnActivate,		dw	Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
-	at	MENUITEM.fnFormatValue,		dw	MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
-	at	MENUITEM.szName,			dw	g_szItemBootEnableMenu
-	at	MENUITEM.szQuickInfo,		dw	g_szNfoBootEnableMenu
-	at	MENUITEM.szHelp,			dw	g_szNfoBootEnableMenu
-	at	MENUITEM.bFlags,			db	FLG_MENUITEM_VISIBLE | FLG_MENUITEM_MODIFY_MENU
-	at	MENUITEM.bType,				db	TYPE_MENUITEM_MULTICHOICE
-	at	MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,		dw	ROMVARS.wfDisplayBootMenu
-	at	MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,				dw	g_szDlgBootEnableMenu
-	at	MENUITEM.itemValue + ITEM_VALUE.szMultichoice,				dw	g_szMultichoiceBooleanFlag
-	at	MENUITEM.itemValue + ITEM_VALUE.rgwChoiceToValueLookup,		dw	g_rgwChoiceToValueLookupForEnableBootMenu
-	at	MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup,	dw	g_rgszValueToStringLookupForFlagBooleans
-	at	MENUITEM.itemValue + ITEM_VALUE.fnValueReader,				dw	ValueReaderForEnableBootMenu
-iend
-
 g_MenuitemBootMnuStngsDefaultBootDrive:
 istruc MENUITEM
@@ -111,5 +94,5 @@
 	at	MENUITEM.szQuickInfo,		dw	g_szNfoBootDrive
 	at	MENUITEM.szHelp,			dw	g_szHelpBootDrive
-	at	MENUITEM.bFlags,			db	FLG_MENUITEM_BYTEVALUE
+	at	MENUITEM.bFlags,			db	FLG_MENUITEM_VISIBLE | FLG_MENUITEM_BYTEVALUE
 	at	MENUITEM.bType,				db	TYPE_MENUITEM_HEX
 	at	MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,		dw	ROMVARS.bBootDrv
@@ -133,22 +116,4 @@
 	at	MENUITEM.itemValue + ITEM_VALUE.wMaxValue,					dw	1092
 iend
-
-%if 0	; *FIXME*
-g_MenuitemBootMnuStngsSwapBootDriveNumbers:
-istruc MENUITEM
-	at	MENUITEM.fnActivate,		dw	Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
-	at	MENUITEM.fnFormatValue,		dw	MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
-	at	MENUITEM.szName,			dw	g_szItemBootSwap
-	at	MENUITEM.szQuickInfo,		dw	g_szNfoBootSwap
-	at	MENUITEM.szHelp,			dw	g_szHelpBootSwap
-	at	MENUITEM.bFlags,			db	FLG_MENUITEM_FLAGVALUE
-	at	MENUITEM.bType,				db	TYPE_MENUITEM_MULTICHOICE
-	at	MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,		dw	ROMVARS.wFlags
-	at	MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,				dw	g_szDlgBootSwap
-	at	MENUITEM.itemValue + ITEM_VALUE.szMultichoice,				dw	g_szMultichoiceBooleanFlag
-	at	MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup,	dw	g_rgszValueToStringLookupForFlagBooleans
-	at	MENUITEM.itemValue + ITEM_VALUE.wValueBitmask,				dw	FLG_ROMVARS_DRVXLAT
-iend
-%endif
 
 
@@ -199,4 +164,5 @@
 	pop		ds
 	call	EnableOrDisableBootMenuSettings
+	call	EnableOrDisableSerialSettings
 	mov		si, g_MenupageForBootMenuSettingsMenu
 	jmp		Menupage_ChangeToNewMenupageInDSSI
@@ -214,21 +180,43 @@
 ALIGN JUMP_ALIGN
 EnableOrDisableBootMenuSettings:
-	mov		bx, [cs:g_MenuitemBootMnuStngsEnableBootMenu+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
+	mov		bx, ROMVARS.wFlags
 	call	Buffers_GetRomvarsValueToAXfromOffsetInBX
-	test	ax, ax
+	test	ax, FLG_ROMVARS_MODULE_BOOT_MENU
 	mov		al, FLG_MENUITEM_VISIBLE
 	jz		SHORT .DisableBootMenuSettings
 
 	; Enable boot menu related
-	or		[g_MenuitemBootMnuStngsDefaultBootDrive+MENUITEM.bFlags], al
 	or		[g_MenuitemBootMnuStngsSelectionTimeout+MENUITEM.bFlags], al
-;	or		[g_MenuitemBootMnuStngsSwapBootDriveNumbers+MENUITEM.bFlags], al
 	ret
 
 .DisableBootMenuSettings:
 	not		ax
-	and		[g_MenuitemBootMnuStngsDefaultBootDrive+MENUITEM.bFlags], al
 	and		[g_MenuitemBootMnuStngsSelectionTimeout+MENUITEM.bFlags], al
-;	and		[g_MenuitemBootMnuStngsSwapBootDriveNumbers+MENUITEM.bFlags], al
+	ret
+
+
+;--------------------------------------------------------------------
+; EnableOrDisableSerialSettings
+;	Parameters:
+;		SS:BP:	Menu handle
+;	Returns:
+;		Nothing
+;	Corrupts registers:
+;		AX, BX
+;--------------------------------------------------------------------
+EnableOrDisableSerialSettings:
+	mov		bx, ROMVARS.wFlags
+	call	Buffers_GetRomvarsValueToAXfromOffsetInBX
+	test	ax, FLG_ROMVARS_MODULE_SERIAL
+	mov		al, FLG_MENUITEM_VISIBLE
+	jz		SHORT .DisableSerialSettings
+
+	; Enable serial related
+	or		[g_MenuitemBootMenuSerialScanDetect+MENUITEM.bFlags], al
+	ret
+
+.DisableSerialSettings:
+	not		ax
+	and		[g_MenuitemBootMenuSerialScanDetect+MENUITEM.bFlags], al
 	ret
 
Index: trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/IdeControllerMenu.asm
===================================================================
--- trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/IdeControllerMenu.asm	(revision 402)
+++ trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/IdeControllerMenu.asm	(revision 403)
@@ -188,19 +188,20 @@
 
 g_rgwChoiceToValueLookupForDevice:
-	dw	DEVICE_XTIDE_REV1
-	dw	DEVICE_XTIDE_REV2
-	dw	DEVICE_FAST_XTIDE
+	dw	DEVICE_8BIT_JRIDE_ISA
+	dw	DEVICE_8BIT_FAST_XTIDE
+	dw	DEVICE_8BIT_XTIDE_REV2
+	dw	DEVICE_8BIT_XTIDE_REV1
 	dw	DEVICE_16BIT_ATA
 	dw	DEVICE_32BIT_ATA
 	dw	DEVICE_SERIAL_PORT
-	dw	DEVICE_JRIDE_ISA
 g_rgszValueToStringLookupForDevice:
+	dw	g_szValueCfgDeviceJrIdeIsa
+	dw	g_szValueCfgDeviceFast
+	dw	g_szValueCfgDeviceRev2
 	dw	g_szValueCfgDeviceRev1
-	dw	g_szValueCfgDeviceRev2
-	dw	g_szValueCfgDeviceFast
 	dw	g_szValueCfgDevice16b
 	dw	g_szValueCfgDevice32b
 	dw	g_szValueCfgDeviceSerial
-	dw	g_szValueCfgDeviceJrIdeIsa
+
 
 g_rgbChoiceToValueLookupForCOM:
Index: trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm
===================================================================
--- trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm	(revision 402)
+++ trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm	(revision 403)
@@ -238,11 +238,12 @@
 
 g_szMultichoiceCfgDevice:
+						db	"JR-IDE/ISA",LF
+						db	"Fast XTIDE (CPLD v2 project)",LF
+						db	"XTIDE rev 2 or modded rev 1",LF
 						db	"XTIDE rev 1",LF
-						db	"XTIDE rev 2 or modded rev 1",LF
-						db	"Fast XTIDE (CPLD v2 project)",LF
 						db	"16-bit ISA/VLB/PCI IDE",LF
 						db	"32-bit VLB/PCI IDE",LF
-						db	"Serial port virtual device",LF
-						db	"JR-IDE/ISA",NULL
+						db	"Serial port virtual device",NULL
+
 
 g_szSerialCOMChoice:
@@ -295,11 +296,12 @@
 
 
+g_szValueCfgDeviceJrIdeIsa:	db	"JR-ISA",NULL
+g_szValueCfgDeviceFast:		db	"Fast XT",NULL
+g_szValueCfgDeviceRev2:		db	"XTIDE r2",NULL
 g_szValueCfgDeviceRev1:		db	"XTIDE r1",NULL
-g_szValueCfgDeviceRev2:		db	"XTIDE r2",NULL
-g_szValueCfgDeviceFast:		db	"Fast XT",NULL
 g_szValueCfgDevice16b:		db	"16-bit",NULL
 g_szValueCfgDevice32b:		db	"32-bit",NULL
 g_szValueCfgDeviceSerial:	db	"Serial",NULL
-g_szValueCfgDeviceJrIdeIsa:	db	"JR-ISA",NULL
+
 
 
@@ -351,26 +353,20 @@
 
 ; Strings for boot settings menu
-g_szItemBootEnableMenu:	db	"Boot Menu",NULL
 g_szItemBootTimeout:	db	"Selection timeout",NULL
 g_szItemBootDrive:		db	"Default boot drive",NULL
 g_szItemBootDispMode:	db	"Display Mode",NULL
 g_szItemBootFloppyDrvs:	db	"Number of Floppy Drives",NULL
-;g_szItemBootSwap:		db	"Swap boot drive numbers",NULL
 g_szItemSerialDetect:	db	"Scan for Serial Drives",NULL
 
-g_szDlgBootEnableMenu:	db	"Enable Boot Menu?",NULL
 g_szDlgBootTimeout:		db	"Enter Boot Menu selection timeout in BIOS timer ticks (2...1092).",NULL
-g_szDlgBootDrive:		db	"Enter default drive number (0xh for Floppy Drives, 8xh for Hard Disks, FFh for ROM boot).",NULL
-g_szDlgBootDispMode:	db	"Select display mode for Boot Menu.",NULL
-g_szDlgBootFloppyDrvs:	db	"Select number of Floppy Drives to display on boot menu.",NULL
-;g_szDlgBootSwap:		db	"Enable drive number translation?",NULL
+g_szDlgBootDrive:		db	"Enter default drive number (0xh for Floppy Drives, 8xh for Hard Disks).",NULL
+g_szDlgBootDispMode:	db	"Select display mode.",NULL
+g_szDlgBootFloppyDrvs:	db	"Select number of Floppy Drives in system.",NULL
 g_szDlgSerialDetect:	db	"Scan for serial drives?",NULL
 
-g_szNfoBootEnableMenu:	db	"Enable to display boot drive selection menu.",NULL
 g_szNfoBootTimeout:		db	"Menu item selection timeout in BIOS timer ticks. 1 tick = 54.9 ms.",NULL
 g_szNfoBootDrive:		db	"Default drive on boot menu.",NULL
-g_szNfoDispMode:		db	"Display Mode for Boot Menu.",NULL
-g_szNfoBootFloppyDrvs:	db	"Number of Floppy Drives to display on boot menu.",NULL
-;g_szNfoBootSwap:		db	"Drive Number Translation (swap first drive with selected).",NULL
+g_szNfoDispMode:		db	"Display mode to set when booting.",NULL
+g_szNfoBootFloppyDrvs:	db	"Number of Floppy Drives in system.",NULL
 g_szNfoSerialDetect:	db	"Scans all standard COM ports for serial drives."
 						db	" This can also be invoked by holding down ALT at the end of normal drive detection.",NULL
@@ -382,6 +378,4 @@
 g_szHelpBootFloppyDrvs:	incbin	"Bootmenu_FloppyDrives.txt"
 						db	NULL
-;g_szHelpBootSwap:		incbin	"Bootmenu_SwapDrives.txt"
-;						db	NULL
 g_szHelpSerialDetect:	incbin  "Bootmenu_SerialDetect.txt"
 						db  NULL
