VOGONS


First post, by ultra_code

User metadata
Rank Oldbie
Rank
Oldbie

Okay, I have a (few) question(s) regarding how SATA drives with their drivers work under and interact with Windows 98 SE and Windows XP.

You see, I plan to do a Pentium 4 Windows 98 SE/Windows XP retro gaming machine build in the (hopefully near) future, and I would very much like to use the SATA ports on Pentium 4 motherboards for the hard drive. However, there is a lot I do not know, and that's why I'm here.

To begin with, for example, I know that during the installation of Windows XP, you can install a SATA driver from a floppy drive. However, where do you find that driver file from? From the hard drive manufacturer' website? The motherboard manufacturer's website? Somewhere else entirely?

Another thing. First, let us assume that I am using a Asus P4P800S-E motherboard (page where you can find the manual for it here). It says in its manual that for pre-XP operating systems, the SATA ports essentially become IDE ports. Now, I could just install Windows 98 SE next to Windows XP, and allow the motherboard to handle Win98's lack of SATA support by just changing the characteristics of the hard drive's SATA port to make it act like an IDE port, but I wonder. Is/are there SATA drivers for Windows 98 SE, and if so, where can you find them? From the same places mentioned above, or somewhere else?

Thanks in advance!

Builds
ttgwnt-6.png
kcxlg9-6.png

Reply 2 of 19, by Koltoroc

User metadata
Rank Member
Rank
Member

Neither Windows 9x, nor XP prior to either SP1 or SP2 have any support for AHCI, which these drivers are for. Windos 9x can not be made compatible with AHCI, I believe it is because it is still based on DOS and therefore uses BIOS commands at the beginning of the boot process that don't work with AHCI. To use SATA drives under windows 9x, the SATA ports must be in IDE mode.

Windows XP needs device specific drivers to support AHCI and those drivers can either be found on the websites of the motherboard manufacturers or the website of the chipset makers.

Some motherboards allow a certain granularity with which to set SATA ports as either AHCI or IDE compatible, however most allow only to set the mode for all ports on one controller. If your board has an additional controller that one can usually be set independent of the chipset integrated controller.

A few things to note here:

In many Bios setups the AHCI mode is often called "raid" mode, despite having no connection to any raid setups, IDE mode is often called "legacy" mode.

Early VIA SATA controllers (they are very common, unfortunately) do not work well with SATA II or III devices. Some devices have a jumper to limit them to SATA I. If you have a VIA controller that does not detect a SATA device and the device has no such jumper, it won't work.

If you installed Windows XP with AHCI drivers and you then switch the SATA ports to IDE mode, windows will crash with a bluescreen, because it can't "find" the Boot device. To prevent that, you have to switch the AHCI drivers with standard IDE drivers prior to switching SATA mode. That can also be done in reverse. While that usually works, it can fail to the point that a reinstallation is necessary.

My suggestion would be to simply stick with IDE mode in such a multiboot environment. the minor performance increase of AHCI is not really worth the hassle in such a case.

Reply 3 of 19, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
Koltoroc wrote:

Neither Windows 9x, nor XP prior to either SP1 or SP2 have any support for AHCI, which these drivers are for. Windos 9x can not be made compatible with AHCI, I believe it is because it is still based on DOS and therefore uses BIOS commands at the beginning of the boot process that don't work with AHCI. To use SATA drives under windows 9x, the SATA ports must be in IDE mode.

Windows XP needs device specific drivers to support AHCI and those drivers can either be found on the websites of the motherboard manufacturers or the website of the chipset makers.

Some motherboards allow a certain granularity with which to set SATA ports as either AHCI or IDE compatible, however most allow only to set the mode for all ports on one controller. If your board has an additional controller that one can usually be set independent of the chipset integrated controller.

Windows 9x's IDE driver assumes the old standard "Primary" and "Secondary" IDE channels, so you may also set your motherboard's storage configuration to "Compatibility Mode" or "Legacy IDE", which limits the maximum available storage ports to four. (In such modes, the ports active may be either IDE or SATA depending on your physical configuration). Otherwise, Windows 9x would freeze the moment the control of storage devices were handed to Windows' drivers.

However, Windows 9x can be forced to let BIOS handle the hard drives (MS-DOS Compatibility Mode), by removing (or renaming) the ESDI_506.PDR driver file. While this works under any circumstances (IDE, RAID or AHCI), this has quite a few drawbacks (potential performance degradations degraded performance due to no DMA access, and loss of certain features like animated cursors).

Also, for a while, modern chipsets with 6 SATA ports often separate configurations for ports 1-4 and 5-6, based on the principle that you'd install your hard drives to ports 1-4 and optical drive to port 5 or 6, as for some OSes, while the OS itself can work with drives using AHCI, the OS installation media may not play well with it and require IDE mode to boot and complete installation. With USB live media becomes more common and available for current OSes, there's little need for this function unless you're installing very old OSes whose installations must be done from an optical drive connected via IDE.

Koltoroc wrote:

In many Bios setups the AHCI mode is often called "raid" mode, despite having no connection to any raid setups, IDE mode is often called "legacy" mode.

Actually RAID is not AHCI and it existed long before AHCI (though some early chipsets capable of AHCI but not RAID may mistakenly call it that in BIOS). In both cases, a special BIOS is loaded in addition of the system BIOS, which takes up some UMB (varies among vendors) and provides configuration utilities in case of RAID. The BIOS provides legacy accesses to some OSes (such as DOS) and is required to boot from disks connected using non-IDE modes.

You may use your SATA ports as normal under RAID mode without actually building an array, although some RAID BIOS implementations do not expose non-configured drives for legacy access (not visible under DOS and not bootable, only operating systems with respective disk controller drivers can see them).

Intel ICH5R did have a Win9x RAID mode driver, which allows users to use all the storage ports properly if the SATA is set to RAID mode. However, the non-RAID parts (when using IDE mode, or plain ICH5) did not receive the same treatment.

Koltoroc wrote:

Early VIA SATA controllers (they are very common, unfortunately) do not work well with SATA II or III devices. Some devices have a jumper to limit them to SATA I. If you have a VIA controller that does not detect a SATA device and the device has no such jumper, it won't work.

I used to connect a few SATA II/III drives to motherboards with VT8237R/VT8237A southbridges and I never had issues with those, even without using the jumper, on most operating systems, including Vista/Win7. VIA did have a few SATA II capable southbridges (VT8237S/VT8251, although the latter is rather uncommon), though. Also, VIA does have SATA RAID mode drivers for Windows 9x just like ICH5R.

Maybe there was a time when VIA chipsets do exhibit issues with SATA II/III devices, but I personally had never experienced any issues. Still, I'd better warn that one should avoid using hard drives of 3TB or higher on legacy chipsets, as some BIOSes could not handle them flawlessly and could corrupt data. (If you have Hard Disk Sentinel installed, and if it says that the BIOS is reporting a wrong disk size whose value appears to be due to 32-bit integer overflow, your chipset is vulnerable to data corruption if you're storing more than 2TB of stuffs into it). I had such experience on a 865G-based board which has this issue, when I tried to backup data of other drives to a 3TB HDD that was half full, before doing a major OS reinstallation, then the system tells me I need to chkdsk the drive, and it resulted in quite a few errors and after check I found a few old stuffs permanently damaged and unusable.

Koltoroc wrote:

If you installed Windows XP with AHCI drivers and you then switch the SATA ports to IDE mode, windows will crash with a bluescreen, because it can't "find" the Boot device. To prevent that, you have to switch the AHCI drivers with standard IDE drivers prior to switching SATA mode. That can also be done in reverse. While that usually works, it can fail to the point that a reinstallation is necessary.

My suggestion would be to simply stick with IDE mode in such a multiboot environment. the minor performance increase of AHCI is not really worth the hassle in such a case.

AHCI enables proper use of NCQ (useful for HDDs) and TRIM (useful for SSDs), which in some cases would improve performance. IDE is only needed if for some reasons you cannot boot from AHCI, or when installing from an installation media that does not play well with non-IDE devices.

Windows hardly ever cooperates well with hardware changes, especially when changing storage controllers (in case of a motherboard replacement or upgrade). Not only XP, under Windows Vista/7, if you plug your disks to a different controller (PCI or PCIe), or simply switch SATA modes, you may also encounter the BSoD regarding inaccessible boot device.

It's not just the way Windows loads the drivers, it's also licensing related (to ensure this is still the same PC to whom the license was granted on, in case of hardware changes). In comparison, Linux hardly ever had this issue, as the kernel would try to load the respective modules based on the hardware detected, so the system can still be booted properly as long as the system has the necessary modules for the kernel (and not blacklisted).

Last edited by LSS10999 on 2017-11-28, 03:23. Edited 1 time in total.

Reply 4 of 19, by andreja6

User metadata
Rank Member
Rank
Member
the_ultra_code wrote:
Okay, I have a (few) question(s) regarding how SATA drives with their drivers work under and interact with Windows 98 SE and Win […]
Show full quote

Okay, I have a (few) question(s) regarding how SATA drives with their drivers work under and interact with Windows 98 SE and Windows XP.

You see, I plan to do a Pentium 4 Windows 98 SE/Windows XP retro gaming machine build in the (hopefully near) future, and I would very much like to use the SATA ports on Pentium 4 motherboards for the hard drive. However, there is a lot I do not know, and that's why I'm here.

To begin with, for example, I know that during the installation of Windows XP, you can install a SATA driver from a floppy drive. However, where do you find that driver file from? From the hard drive manufacturer' website? The motherboard manufacturer's website? Somewhere else entirely?

Another thing. First, let us assume that I am using a Asus P4P800S-E motherboard (page where you can find the manual for it here). It says in its manual that for pre-XP operating systems, the SATA ports essentially become IDE ports. Now, I could just install Windows 98 SE next to Windows XP, and allow the motherboard to handle Win98's lack of SATA support by just changing the characteristics of the hard drive's SATA port to make it act like an IDE port, but I wonder. Is/are there SATA drivers for Windows 98 SE, and if so, where can you find them? From the same places mentioned above, or somewhere else?

Thanks in advance!

So, for windows XP, out of the box, it doesn't support AHCI Sata. I'm not sure about SP3, but I think it's also the same deal. HOWEVER, XP Allows you to install the drivers as you stated, through floppy. You just need to find them on the motherboard manufacturers website. Although, I never had luck by doing that. What I suggest if you come do a dead end is getting as much info on the motherboard as possible, and just googling it. Some places may give out generic SATA drivers for Windows XP, but you should always inspect them thoroughly.

Windows 98 doesn't support modern SATA. It uses the old DOS based architecture, and SATA support can't be implemented via drivers (as far as I know at least). However, if you set the SATA lines to emulate IDE, it will work as if you just connected any regular old IDE hard drive. It may not be as fast, but for a windows 98 machine, I really don't think that would matter as much. (After all, it would still be faster than using an actual IDE drive)

Reply 5 of 19, by Koltoroc

User metadata
Rank Member
Rank
Member
LSS10999 wrote:

Windows 9x's IDE driver assumes the old standard "Primary" and "Secondary" IDE channels, so you may also set your motherboard's storage configuration to "Compatibility Mode" or "Legacy IDE", which limits the maximum available storage ports to four. (In such modes, the ports active may be either IDE or SATA depending on your physical configuration). Otherwise, Windows 9x would freeze the moment the control of storage devices were handed to Windows' drivers.

Well, Windows 9x can happily use more IDE channels or additional SATA controllers, it just can't boot from them. It may need drivers for them however. I have done that in the past without issues. If your Windows9x breaks with additional IDE channels, either your hardware is broken or something fucked up the installation. Even dos could use a tertiary IDE channel already (on some soundcards you can configure it as such), at least for CD drives

LSS10999 wrote:

However, Windows 9x can be forced to let BIOS handle the hard drives (MS-DOS Compatibility Mode), by removing (or renaming) the ESDI_506.PDR driver file. While this works under any circumstances (IDE, RAID or AHCI), this has quite a few drawbacks (potential performance degradations and loss of certain features like animated cursors).

Since Bios level HDD access doesn't support DMA modes in a dos environment (which Win9x without its own IDE drivers IS), that is a nonstarter in the first place Calling it "potential performance degradation" is the understatement of the century.

LSS10999 wrote:

Actually RAID is not AHCI and it existed long before AHCI (though some early chipsets capable of AHCI but not RAID may mistakenly call it that in BIOS). In both cases, a special BIOS is loaded in addition of the system BIOS, which takes up some UMB (varies among vendors) and provides configuration utilities in case of RAID. The BIOS provides legacy accesses to some OSes (such as DOS) and is required to boot from disks connected using non-IDE modes.

You may use your SATA ports as normal under RAID mode without actually building an array, although some RAID BIOS implementations do not expose non-configured drives for legacy access (not visible under DOS and not bootable, only operating systems with respective disk controller drivers can see them).

Intel ICH5R did have a Win9x RAID mode driver, which allows users to use all the storage ports properly if the SATA is set to RAID mode. However, the non-RAID parts (when using IDE mode, or plain ICH5) did not receive the same treatment.

I know what RAID Arrays are. I mean EXACTLY what I said. Many BIOS versions call "AHCI" "RAID Mode" That is all there is to that. There is no raid configuration of ANY KIND involved. Just a badly named setup option. On board like that that actually do support RAID setups the setup utility follows immediately after the BIOS screen. But none of them NEED manual setup.

And I know that windows 98 can use RAID Arrays. Booting from them however, while technically possible (The RAID controller has to expose the RAID set as a standard IDE drive on either the primary or secondary channel) is an entirely different set of problems and annoyances I do not want to dive into.

LSS10999 wrote:

I used to connect a few SATA II/III drives to motherboards with VT8237R/VT8237A southbridges and I never had issues with those, even without using the jumper, on most operating systems, including Vista/Win7. VIA did have a few SATA II capable southbridges (VT8237S/VT8251, although the latter is rather uncommon), though. Also, VIA does have SATA RAID mode drivers for Windows 9x just like ICH5R.

Maybe there was a time when VIA chipsets do exhibit issues with SATA II/III devices, but I personally had never experienced any issues. Still, I'd better warn that one should avoid using hard drives of 3TB or higher on legacy chipsets, as some BIOSes could not handle them flawlessly and could corrupt data. (If you have Hard Disk Sentinel installed, and if it says that the BIOS is reporting a wrong disk size whose value appears to be due to 32-bit integer overflow, your chipset is vulnerable to data corruption if you're storing more than 2TB of stuffs into it). I had such experience on a 865G-based board which has this issue, when I tried to backup data of other drives to a 3TB HDD that was half full, before doing a major OS reinstallation, then the system tells me I need to chkdsk the drive, and it resulted in quite a few errors and after check I found a few old stuffs permanently damaged and unusable.

Late VIA SATA I and there SATA II controllers are fine. It is the early ones (and by coincidence the most common ones) that have these issues and VIA actually did acknowledge them. And guess what, the official solution is, to jumper the devices for SATA I. BTW it is the generation of SATA Controllers which was integrated in their Chipsets up to at least the K8T800. If you never ran into issues with them call yourself lucky because I ran into issues with about 2/3 of the SATA II or better devices I tried to use on them, Including 100% of SSDs I tried.

The issues with 3TB or higher HDDs is unrelated to VIAs SATA problems. 2TB+ HDD problems have a number of causes, like hardcoded Cluster limit in NTFS combined with a standard cluster size of 512B in XP, 2TB per partion with 2 partions max for MBR limitations, and (this is the big one) a 2TB limit imposed by LBA, that were fixed by introducing LBA64.

LSS10999 wrote:

AHCI enables proper use of NCQ (useful for HDDs) and TRIM (useful for SSDs), which in some cases would improve performance. IDE is only needed if for some reasons you cannot boot from AHCI, or when installing from an installation media that does not play well with non-IDE devices.

NCQ has maybe a 3-5% performance increase in transfer speed, hardly worth the hassle in multiboot environments and while AHCI is required for TRIM support, it does NOT enable it. It needs to be supported by the operating system and the first windows that supports it is windows 7. Neither VISTA nor XP were ever retrofitted with it.

LSS10999 wrote:

Windows hardly ever cooperates well with hardware changes, especially when changing storage controllers (in case of a motherboard replacement or upgrade). Not only XP, under Windows Vista/7, if you plug your disks to a different controller (PCI or PCIe), or simply switch SATA modes, you may also encounter the BSoD regarding inaccessible boot device.

It does if you know what you are doing. And starting with Windows 7 it has actually gotten pretty good of doing it without manualy preparing it first.

And I sepecificaly laid out how to avoid the inaccessible boot device Issue.

LSS10999 wrote:

It's not just the way Windows loads the drivers, it's also licensing related (to ensure this is still the same PC to whom the license was granted on, in case of hardware changes). In comparison, Linux hardly ever had this issue, as the kernel would try to load the respective modules based on the hardware detected, so the system can still be booted properly as long as the system has the necessary modules for the kernel (and not blacklisted).

Yes the inherent superiority of linux over anything windows. Call me when Linux has the same software support, ESPECIALLY when it comes to games that windows has. I won't hold my breath. I don't care about how much better a desktop niche OS is, if I don't get the software I want on it, it is of no use to me.

BTW when is the Year of the linux desktop again?

Reply 6 of 19, by agent_x007

User metadata
Rank Oldbie
Rank
Oldbie

I used FastTrak S150 TX4 SATA PCI controller without addidng drivers (Plug & Play) to install Win 98 SE on 4TB drive (format done in Win 7 installer).

As was said earlier, you set SATA to "IDE Compatibility mode", and you don't need to worry about anything (if everything works like it should).

SATA drivers for Win2k/XP should be available to download on MB or chipset manufacturer support/driver page (if they are not there, you can always use moded drivers : LINK, they may not work with old chipsets).

157143230295.png

Reply 7 of 19, by MERCURY127

User metadata
Rank Member
Rank
Member

There is NO problems with 9x on SATA disks in IDE/Legacy/Compat mode (work via Legacy ports 1E8/1F8/3E8/3F8). All OLD mobos have this settings.

There IS some problems with 9x on SATA disks in Native SATA mode (NOT AHCI, only ports FFxx). All NEW mobos have this mode enabled even if say "IDE mode".
This variant solved in ESDI_506,PRD patch from Rudoph R. Loew. Dont mix this problem with BigHDD 137 GB (128 GiB) LBA limit - this is VERY different things...

There is NO chances run 9x with 32 disk access in AHCI mode. All Skylake and Ryzen mobos have ONLY this settings...

Reply 8 of 19, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
Koltoroc wrote:
Well, Windows 9x can happily use more IDE channels or additional SATA controllers, it just can't boot from them. It may need dri […]
Show full quote
LSS10999 wrote:

Windows 9x's IDE driver assumes the old standard "Primary" and "Secondary" IDE channels, so you may also set your motherboard's storage configuration to "Compatibility Mode" or "Legacy IDE", which limits the maximum available storage ports to four. (In such modes, the ports active may be either IDE or SATA depending on your physical configuration). Otherwise, Windows 9x would freeze the moment the control of storage devices were handed to Windows' drivers.

Well, Windows 9x can happily use more IDE channels or additional SATA controllers, it just can't boot from them. It may need drivers for them however. I have done that in the past without issues. If your Windows9x breaks with additional IDE channels, either your hardware is broken or something fucked up the installation. Even dos could use a tertiary IDE channel already (on some soundcards you can configure it as such), at least for CD drives

LSS10999 wrote:

However, Windows 9x can be forced to let BIOS handle the hard drives (MS-DOS Compatibility Mode), by removing (or renaming) the ESDI_506.PDR driver file. While this works under any circumstances (IDE, RAID or AHCI), this has quite a few drawbacks (potential performance degradations and loss of certain features like animated cursors).

Since Bios level HDD access doesn't support DMA modes in a dos environment (which Win9x without its own IDE drivers IS), that is a nonstarter in the first place Calling it "potential performance degradation" is the understatement of the century.

LSS10999 wrote:

Actually RAID is not AHCI and it existed long before AHCI (though some early chipsets capable of AHCI but not RAID may mistakenly call it that in BIOS). In both cases, a special BIOS is loaded in addition of the system BIOS, which takes up some UMB (varies among vendors) and provides configuration utilities in case of RAID. The BIOS provides legacy accesses to some OSes (such as DOS) and is required to boot from disks connected using non-IDE modes.

You may use your SATA ports as normal under RAID mode without actually building an array, although some RAID BIOS implementations do not expose non-configured drives for legacy access (not visible under DOS and not bootable, only operating systems with respective disk controller drivers can see them).

Intel ICH5R did have a Win9x RAID mode driver, which allows users to use all the storage ports properly if the SATA is set to RAID mode. However, the non-RAID parts (when using IDE mode, or plain ICH5) did not receive the same treatment.

I know what RAID Arrays are. I mean EXACTLY what I said. Many BIOS versions call "AHCI" "RAID Mode" That is all there is to that. There is no raid configuration of ANY KIND involved. Just a badly named setup option. On board like that that actually do support RAID setups the setup utility follows immediately after the BIOS screen. But none of them NEED manual setup.

And I know that windows 98 can use RAID Arrays. Booting from them however, while technically possible (The RAID controller has to expose the RAID set as a standard IDE drive on either the primary or secondary channel) is an entirely different set of problems and annoyances I do not want to dive into.

LSS10999 wrote:

I used to connect a few SATA II/III drives to motherboards with VT8237R/VT8237A southbridges and I never had issues with those, even without using the jumper, on most operating systems, including Vista/Win7. VIA did have a few SATA II capable southbridges (VT8237S/VT8251, although the latter is rather uncommon), though. Also, VIA does have SATA RAID mode drivers for Windows 9x just like ICH5R.

Maybe there was a time when VIA chipsets do exhibit issues with SATA II/III devices, but I personally had never experienced any issues. Still, I'd better warn that one should avoid using hard drives of 3TB or higher on legacy chipsets, as some BIOSes could not handle them flawlessly and could corrupt data. (If you have Hard Disk Sentinel installed, and if it says that the BIOS is reporting a wrong disk size whose value appears to be due to 32-bit integer overflow, your chipset is vulnerable to data corruption if you're storing more than 2TB of stuffs into it). I had such experience on a 865G-based board which has this issue, when I tried to backup data of other drives to a 3TB HDD that was half full, before doing a major OS reinstallation, then the system tells me I need to chkdsk the drive, and it resulted in quite a few errors and after check I found a few old stuffs permanently damaged and unusable.

Late VIA SATA I and there SATA II controllers are fine. It is the early ones (and by coincidence the most common ones) that have these issues and VIA actually did acknowledge them. And guess what, the official solution is, to jumper the devices for SATA I. BTW it is the generation of SATA Controllers which was integrated in their Chipsets up to at least the K8T800. If you never ran into issues with them call yourself lucky because I ran into issues with about 2/3 of the SATA II or better devices I tried to use on them, Including 100% of SSDs I tried.

The issues with 3TB or higher HDDs is unrelated to VIAs SATA problems. 2TB+ HDD problems have a number of causes, like hardcoded Cluster limit in NTFS combined with a standard cluster size of 512B in XP, 2TB per partion with 2 partions max for MBR limitations, and (this is the big one) a 2TB limit imposed by LBA, that were fixed by introducing LBA64.

LSS10999 wrote:

AHCI enables proper use of NCQ (useful for HDDs) and TRIM (useful for SSDs), which in some cases would improve performance. IDE is only needed if for some reasons you cannot boot from AHCI, or when installing from an installation media that does not play well with non-IDE devices.

NCQ has maybe a 3-5% performance increase in transfer speed, hardly worth the hassle in multiboot environments and while AHCI is required for TRIM support, it does NOT enable it. It needs to be supported by the operating system and the first windows that supports it is windows 7. Neither VISTA nor XP were ever retrofitted with it.

LSS10999 wrote:

Windows hardly ever cooperates well with hardware changes, especially when changing storage controllers (in case of a motherboard replacement or upgrade). Not only XP, under Windows Vista/7, if you plug your disks to a different controller (PCI or PCIe), or simply switch SATA modes, you may also encounter the BSoD regarding inaccessible boot device.

It does if you know what you are doing. And starting with Windows 7 it has actually gotten pretty good of doing it without manualy preparing it first.

And I sepecificaly laid out how to avoid the inaccessible boot device Issue.

LSS10999 wrote:

It's not just the way Windows loads the drivers, it's also licensing related (to ensure this is still the same PC to whom the license was granted on, in case of hardware changes). In comparison, Linux hardly ever had this issue, as the kernel would try to load the respective modules based on the hardware detected, so the system can still be booted properly as long as the system has the necessary modules for the kernel (and not blacklisted).

Yes the inherent superiority of linux over anything windows. Call me when Linux has the same software support, ESPECIALLY when it comes to games that windows has. I won't hold my breath. I don't care about how much better a desktop niche OS is, if I don't get the software I want on it, it is of no use to me.

BTW when is the Year of the linux desktop again?

My personal experience is that Win9x doesn't have proper support with "Enhanced Mode" SATA configurations (where all ports, IDE and SATA alike are available, with the total available port count likely exceeding four). The ESDI_506.PDR driver would freeze under such circumstances (in ICH5's case, like this one, which I also experienced). This, however, does not prevent you from installing a supported 3rd-party PCI storage card along with its drivers.

I'm aware of the fact that DOS can accept tertiary IDE channels. Nothing blocks DOS from doing so, and I had such configurations in the past. It's just that Win9x's storage driver had those limitations.

You do have a point about the BIOS level access not having DMA support, so this indeed is an understatement on my side, regarding current hard drives.

As for this AHCI or RAID thing... I agree that it's just some AHCI boards incorrectly calling it RAID mode. For actual RAID, manual setup for is not needed if you're not really managing an array anyway.

VIA SATA seems to be problematic at first (I'm aware of the limitation jumpers), but since VT8237R/VT8237A and with latest BIOSes there definitely are fewer issues than before as I hardly encountered any. Also, SATA III drives cannot be limited to SATA I through the usual jumper method, the jumper instead limits the drive to SATA II.

The 3TB+ issues is not necessarily related to VIA, but for some early chipsets such as ICH5 it does, and the vulnerability can be detected by tools like Hard Disk Sentinel, which will warn you that the disk size BIOS reported does not match the actual size (the corruption also happened under Windows Vista and Windows 7). The cause might be a combination of BIOS and the chipset limitations.

You're right about the TRIM needed to be enabled by the OS. I'm not sure about to what extent NCQ can be really helpful, though. By the way, I just remembered AHCI also offers the capability of hot-plugging on supported operating systems (and some computer cases and accessories leave room for that).

And you're right about "it does if you know what you are doing". To any Windows versions, it's safe to switch between IDE and AHCI if you have the chipset drivers installed. It's just that when actually switching between physical storage controllers (switching motherboards, or moving it to an external PCI/PCIe controller) can still be a problem if you don't have the drivers pre-installed to the system. (Interestingly, some external storage controllers, such as LSI Logic HBAs, are natively supported by Windows Vista and above).

Besides, I was just comparing the issue with Linux and I did not intend to offend in any way. You're right about the software support issue, and especially that there are still quite a few games not available there. Although Wine and native Linux software are slowly catching up, it still has a long way to go.

Reply 9 of 19, by ultra_code

User metadata
Rank Oldbie
Rank
Oldbie

Wow, this post kind of exploded. 😀

Okay, anywho, first of all, just as an update, I am actually going to buy an Asus P4P800, just for simplicity's, cost's, and support's sake (there are many different variations of the different P4P boards, many of which are not mentioned in Asus's list of motherboards that they have any supporting information on; I rather not deal with a board and, just because Asus swapped one or two parts out to form a new board, results in "base-board" BIOS incompatibility). You can find the support page for the P4P800 here.

Okay, moving on. For the first of my questions, on the same website, for XP, Asus does provide a SATA driver, so that's easily "solved". 😀

The second of my questions, though, are slightly more difficult to "answer". I spent hours researching, and reading over and over again the sections inside the motherboard's manual regarding the IDE and SATA ports (the manual you can also find on the above-linked website by navigating over to the "Manual and Document" tab), As a result, I have two clean-cut questions that build off of the original ones I asked:

  1. Under "Compatibility Mode" for this motherboard (meant for legacy pre-XP OSs), there are options to turn off either one of the IDE ports (Primary or Secondary). Am I correct in saying that this is "mapping" (is that the correct term?) the turned-off IDE bus to the two SATA ports on this motherboards, effectively allowing for the pair of SATA ports to emulate two master/slave hard drives?
  2. Assuming I have set in the BIOS's IDE and SATA ports to "Compatibility Mode" before installing XP on a SATA hard drive, which is connected to one of those SATA ports that is "emulating" a IDE port, would XP think it is connected to an IDE HDD, or to a SATA one?

Thanks in advance!

Builds
ttgwnt-6.png
kcxlg9-6.png

Reply 10 of 19, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
the_ultra_code wrote:
Wow, this post kind of exploded. :) […]
Show full quote

Wow, this post kind of exploded. 😀

Okay, anywho, first of all, just as an update, I am actually going to buy an Asus P4P800, just for simplicity's, cost's, and support's sake (there are many different variations of the different P4P boards, many of which are not mentioned in Asus's list of motherboards that they have any supporting information on; I rather not deal with a board and, just because Asus swapped one or two parts out to form a new board, results in "base-board" BIOS incompatibility). You can find the support page for the P4P800 here.

Okay, moving on. For the first of my questions, on the same website, for XP, Asus does provide a SATA driver, so that's easily "solved". 😀

The second of my questions, though, are slightly more difficult to "answer". I spent hours researching, and reading over and over again the sections inside the motherboard's manual regarding the IDE and SATA ports (the manual you can also find on the above-linked website by navigating over to the "Manual and Document" tab), As a result, I have two clean-cut questions that build off of the original ones I asked:

  1. Under "Compatibility Mode" for this motherboard (meant for legacy pre-XP OSs), there are options to turn off either one of the IDE ports (Primary or Secondary). Am I correct in saying that this is "mapping" (is that the correct term?) the turned-off IDE bus to the two SATA ports on this motherboards, effectively allowing for the pair of SATA ports to emulate two master/slave hard drives?
  2. Assuming I have set in the BIOS's IDE and SATA ports to "Compatibility Mode" before installing XP on a SATA hard drive, which is connected to one of those SATA ports that is "emulating" a IDE port, would XP think it is connected to an IDE HDD, or to a SATA one?

Thanks in advance!

  1. Correct. In this mode, there will only be four usable ports, with the two SATA ports being one of the two channels (and all four ports will be placed in standard I/O address spaces). This allows Win9x's ESDI_506.PDR driver work out of box.
  2. I think for XP this doesn't really matter. SATA and IDE are both ATA interfaces. When using IDE mode (which is in your board's case, regardless of Compatibility mode or Enhanced Mode), both SATA and IDE devices will be treated equally by the system.

Reply 11 of 19, by ultra_code

User metadata
Rank Oldbie
Rank
Oldbie
LSS10999 wrote:

I think for XP this doesn't really matter. SATA and IDE are both ATA interfaces. When using IDE mode (which is in your board's case, regardless of Compatibility mode or Enhanced Mode), both SATA and IDE devices will be treated equally by the system.

Ok-ay. Sooo, are you saying that XP will recognize the drive as SATA or as IDE? I am just wondering if the BIOS and XP will work together and come to the conclusion that XP supports SATA and therefore the HDD is using a SATA interface and not an IDE one (all of this while running in "Compatibility Mode"). I know that sounds like voodoo magic, and logically it would make sense that XP would think the hard drive is an IDE one because the hard drive is "running" over a SATA connector that is emulating an IDE one, but I wonder, because if so, then I will install the SATA driver provided by Asus for XP to get that small extra performance.

Also:

LSS10999 wrote:

I think for XP this doesn't really matter. SATA and IDE are both ATA interfaces. When using IDE mode (which is in your board's case, regardless of Compatibility mode or Enhanced Mode)

Are you saying that the SATA ports are not truly SATA ports? Or, (actually, now that I think about it), are you in a way stating the fact that my motherboard does not support AHCI mode (which makes sense, since SATA almost just came out at the time my motherboard in question was made - 2003), and therefore cannot truly utilize the SATA ports?

Thanks as always!

Builds
ttgwnt-6.png
kcxlg9-6.png

Reply 12 of 19, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
the_ultra_code wrote:

Ok-ay. Sooo, are you saying that XP will recognize the drive as SATA or as IDE? I am just wondering if the BIOS and XP will work together and come to the conclusion that XP supports SATA and therefore the HDD is using a SATA interface and not an IDE one (all of this while running in "Compatibility Mode"). I know that sounds like voodoo magic, and logically it would make sense that XP would think the hard drive is an IDE one because the hard drive is "running" over a SATA connector that is emulating an IDE one, but I wonder, because if so, then I will install the SATA driver provided by Asus for XP to get that small extra performance.

That SATA driver (Intel Application Accelerator) is only needed when you're using the SATA ports in RAID mode. You don't need this driver if you're using IDE mode, and there's no benefit from using RAID mode if you're not running a RAID array.

You'll need two identical hard drives in order to be able to run a RAID 0 or RAID 1 array, and they by nature can improve performance in some way given the fact that the drives in the array work together.

the_ultra_code wrote:

Are you saying that the SATA ports are not truly SATA ports? Or, (actually, now that I think about it), are you in a way stating the fact that my motherboard does not support AHCI mode (which makes sense, since SATA almost just came out at the time my motherboard in question was made - 2003), and therefore cannot truly utilize the SATA ports?
Thanks as always!

They are true SATA ports. It's just that AHCI is not yet present the time when ICH5 came out (given your board is a 865PE).
SATA is just a different form of ATA interface used by IDE (PATA), and AHCI extended it to support new features (like hot-plugging, NCQ and TRIM). You don't lose anything from using SATA in Compatibility mode, just that OSes and drivers that can't correctly handle Enhanced mode will work correctly this way.

And regarding speed, the difference between SATA I (150 MB/s) and ATA-133 (133MB/s) is negligible, so that BIOSes at that time often reports SATA drives as ATA-133 regardless of modes (Compatibility and Enhanced modes alike), but in practice, they can reach the speed of SATA I.

Usually only tools that can enumerate in-depth hardware information (HWiNFO, Everest, Hard Disk Sentinel, etc.) can tell IDE and SATA apart. The system won't be able to notice as in IDE mode, the underlying communication is managed by the SATA controller so they look the same as an actual IDE drive.

Reply 13 of 19, by ultra_code

User metadata
Rank Oldbie
Rank
Oldbie
LSS10999 wrote:

[That SATA driver (Intel Application Accelerator) is only needed when you're using the SATA ports in RAID mode. You don't need this driver if you're using IDE mode, and there's no benefit from using RAID mode if you're not running a RAID array.

So the XP SATA driver provided by Asus would work fine, but it is mostly meant for RAID? (Update as of Decem. 8, 2017: Yes, that "driver" is a SATA RAID driver).

LSS10999 wrote:

They are true SATA ports. It's just that AHCI is not yet present the time when ICH5 came out (given your board is a 865PE).
SATA is just a different form of ATA interface used by IDE (PATA), and AHCI extended it to support new features (like hot-plugging, NCQ and TRIM). You don't lose anything from using SATA in Compatibility mode, just that OSes and drivers that can't correctly handle Enhanced mode will work correctly this way.

Hm. Okay, another question. Why then do one of the IDE ports become unusable in Compatibility Mode if only one is kept "on" (like the option "[Primary PATA + SATA]")? I am not challenging the validity of your statements - I am just trying to find out how things come together.

Last edited by ultra_code on 2017-12-09, 04:03. Edited 1 time in total.

Builds
ttgwnt-6.png
kcxlg9-6.png

Reply 14 of 19, by Koltoroc

User metadata
Rank Member
Rank
Member
the_ultra_code wrote:
LSS10999 wrote:

Hm. Okay, another question. Why then do one of the IDE ports become unusable in Compatibility Mode if only one is kept "on" (like the option "[Primary PATA + SATA]")? I am not challenging the validity of your statements - I am just trying to find out how things come together.

IIRC the SATA ports are logically mapped to the same resources (IRQ, DMA and I/O port) as the IDE channel that is "replaced" and 2 devices can't occupy the same resources. Theoretically I guess the Bios could remap the now missing IDE channel to a tertiary IDE channel, but the chipset would have to be able to support it and someone would have had to care about making the bios do it. nobody ever did, AFAIK.

Reply 15 of 19, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
the_ultra_code wrote:

Hm. Okay, another question. Why then do one of the IDE ports become unusable in Compatibility Mode if only one is kept "on" (like the option "[Primary PATA + SATA]")? I am not challenging the validity of your statements - I am just trying to find out how things come together.

Koltoroc wrote:

IIRC the SATA ports are logically mapped to the same resources (IRQ, DMA and I/O port) as the IDE channel that is "replaced" and 2 devices can't occupy the same resources. Theoretically I guess the Bios could remap the now missing IDE channel to a tertiary IDE channel, but the chipset would have to be able to support it and someone would have had to care about making the bios do it. nobody ever did, AFAIK.

This post (which I referenced earlier) explained it. The Enhanced mode actually presents the SATA ports as a tertiary IDE channel at a non-standard address instead of displacing one of the two IDE ports at traditional addresses. However, some drivers (like Windows 98's protected mode disk driver) could not correctly handle non-standard port addresses and will not function properly (resulting in lockup). For that reason, it makes no sense of mapping the missing IDE channel back, as you'll again need a non-standard address space to place the tertiary channel which reintroduces the problem the Compatibility Mode intended to work around.

Reply 16 of 19, by chinny22

User metadata
Rank l33t++
Rank
l33t++

Funny enough I've got the SE version of this motherboard which duel boots 98 and XP, its unfinished project so details a bit hazy till next week wen I can next get to it but I think it was only using SATA drives.
Its definitely in compatibility mode With Windows 98 on what is in affect the Primary IDE drive, and a 2nd data drive.
What I did to though is configure the "RAID" ports and install WinXP here.
Win98 doesn't know about these drives so just ignores it and XP can boot from the RAID from that sata driver mentioned above.

Just as an idea, I guess im not as curious as you I just accepted you cant use all the IDE and SATA ports on face value 😉

Reply 17 of 19, by ultra_code

User metadata
Rank Oldbie
Rank
Oldbie

First of all, sorry to everyone for not responding in a looong time. 😀

Anywho, moving on...

LSS10999 wrote:

This post (which I referenced earlier) explained it. The Enhanced mode actually presents the SATA ports as a tertiary IDE channel at a non-standard address instead of displacing one of the two IDE ports at traditional addresses. However, some drivers (like Windows 98's protected mode disk driver) could not correctly handle non-standard port addresses and will not function properly (resulting in lockup). For that reason, it makes no sense of mapping the missing IDE channel back, as you'll again need a non-standard address space to place the tertiary channel which reintroduces the problem the Compatibility Mode intended to work around.

Ah, I see. That completely answers my question. Thanks! And sorry if I missed your reference!

As of now, I cannot think of any other questions, so for that reason I am "done" with this post. Again, thanks everyone for your responses!

Builds
ttgwnt-6.png
kcxlg9-6.png

Reply 18 of 19, by rloew

User metadata
Rank Newbie
Rank
Newbie

I solved the Enhanced/Native Mode SATA issue for Windows 9x 10 years ago.
I released an AHCI Driver for Windows 9x early last year.
TRIM does not require AHCI. I wrote a TRIM Program for FAT32 that runs in DOS. It only runs in IDE Mode.

Reply 19 of 19, by oohms

User metadata
Rank Member
Rank
Member
rloew wrote:

I solved the Enhanced/Native Mode SATA issue for Windows 9x 10 years ago.
I released an AHCI Driver for Windows 9x early last year.
TRIM does not require AHCI. I wrote a TRIM Program for FAT32 that runs in DOS. It only runs in IDE Mode.

I was going to respond to this thread with 'leave it in legacy mode and just install the regular chipset drivers' but that's incredible!

Do you have any links to these?

DOS/w3.11/w98 | K6-III+ 400ATZ @ 550 | FIC PA2013 | 128mb SDram | Voodoo 3 3000 | Avancelogic ALS100 | Roland SC-55ST
DOS/w98/XP | Core 2 Duo E4600 | Asus P5PE-VM | 512mb DDR400 | Ti4800SE | ForteMedia FM801