Jump to content

AHCI and Windows 9x


rloew

Recommended Posts

rloew said:

> There is no "Emulated" Mode. SATA uses a superset of the PATA Protocols.

When you set the bios to IDE/Legacy for the SATA controller, aren't you telling the controller to cause SATA drives to appear to the installed OS as an IDE/PATA drives? Aren't you telling the SATA controller to pretend that it's an IDE controller? Does none of that qualify as a form of emulation?

> You cannot choose between PATA and SATA. They use separate connectors and Controllers.

Do you really think I don't understand that SATA and PATA are physically different? Did I really have to explain what I keep on saying about the bios EMULATING an IDE/PATA controller/drive?

> Unmodified Windows 9x will use ESDI_506.PDR for all drives in IDE Mode.

If a SATA drive is not in "IDE Mode" (and it is not in Raid mode) - then what mode is it in?

Is it in AHCI mode?

Does Native/Sata mode = AHCI? That's all I'm trying to get an answer to.

If my win-98 system is not using ESDI_506 to access my SATA drives, and if I know the drives are not in DOS/compatibility mode, then I must be accessing the drives through AHCI - yes? Which nobody running win-98 should have any problems doing if the controller is SIL3112 or 3114 or potentially any SATA-1 type controller.

If (as I suspect) anyone can run win-98 with Sata drives under AHCI if the controller is Sata-1 type (because I believe there are win-98 drivers for all SATA-1 controllers) then I suspect your AHCI project is for people with SATA-2 or SATA-3 controllers. If this is true, then I would submit that anyone with a SATA-2 or SATA-3 controller on their motherboard would also have many other aspects of the system that win-98 is not compatible with at the driver level.

Link to comment
Share on other sites


You are running in Compatability Mode. This is useable but performance is reduced.

Apparently your BIOS does not have the bug that corrupted my Hard Drive.

Can you provide an application (runnable in true DOS) to identify that bug?

There's a lot of users nowadays running in Compatability Mode.

Unfortunately not at this time.

I have not been able to reproduce the problem in DOS. I know it has to do with DMA Writes to odd addresses because it goes away if I guarantee even byte access. I will have to setup a special Drive to run further tests as I have to reload Windows after each attempt.

The problem appears to be limited to only a few BIOSes at most as no one seems aware of it.

Anyone running in Compatability Mode does not have the bug as it trashes the system immediately. I posted the warning in case someone who was running their system in IDE Mode decided to try using AHCI.

Link to comment
Share on other sites

When you set the bios to IDE/Legacy for the SATA controller, aren't you telling the controller to cause SATA drives to appear to the installed OS as an IDE/PATA drives? Aren't you telling the SATA controller to pretend that it's an IDE controller? Does none of that qualify as a form of emulation?

You are telling a SATA (Native) IDE controller to limit its functions to only those functions available to a PATA (Legacy) IDE controller. Both SATA and PATA are IDE. SATA is Native, PATA is Legacy. Legacy vs. Native are the key terms of importance here, not IDE vs. SATA. SATA is IDE, but a more advanced type not supported by the original ESDI_506.PDR. This is why rloew said that terms used in various BIOS'es are ambiguous - they don't clearly establish Legacy vs. Native and don't always use the same standard terminology for a given mode setting.

 

If a SATA drive is not in "IDE Mode" (and it is not in Raid mode) - then what mode is it in?

Again SATA is IDE - Native IDE. I assume when you say IDE mode you mean Legacy PATA mode.

 

Most likely Native Mode. Possibly AHCI depending on BIOS settings and whether or not an AHCI controller is even present. A board can have PATA/SATA connectors and NOT have any AHCI capability at all.

 

Is it in AHCI mode?

Most likely not. See above.

 

Does Native/Sata mode = AHCI? That's all I'm trying to get an answer to.

No.

Edited by LoneCrusader
Link to comment
Share on other sites

rloew said:

> There is no "Emulated" Mode. SATA uses a superset of the PATA Protocols.

When you set the bios to IDE/Legacy for the SATA controller, aren't you telling the controller to cause SATA drives to appear to the installed OS as an IDE/PATA drives? Aren't you telling the SATA controller to pretend that it's an IDE controller? Does none of that qualify as a form of emulation?

No to all. Windows 9x may not know the difference between PATA and Legacy/SATA but a more advanced Driver as in newer Windows still can use the additional features.

> You cannot choose between PATA and SATA. They use separate connectors and Controllers.

Do you really think I don't understand that SATA and PATA are physically different? Did I really have to explain what I keep on saying about the bios EMULATING an IDE/PATA controller/drive?

You kept comparing them as if they were interchangeable.

> Unmodified Windows 9x will use ESDI_506.PDR for all drives in IDE Mode.

If a SATA drive is not in "IDE Mode" (and it is not in Raid mode) - then what mode is it in?

Is it in AHCI mode?

Yes for conventional Controllers. There is also SCSI, USB, Firewire etc.

Does Native/Sata mode = AHCI? That's all I'm trying to get an answer to.

No. It is in "IDE Mode".

If my win-98 system is not using ESDI_506 to access my SATA drives, and if I know the drives are not in DOS/compatibility mode, then I must be accessing the drives through AHCI - yes?

No. This is impossible without additional Drivers.

Which nobody running win-98 should have any problems doing if the controller is SIL3112 or 3114 or potentially any SATA-1 type controller.

I'm not sure about the SIL3112 or 3114 Controllers but the SIL 3512 Controller runs in IDE Mode but reports a SCSI Class Code. A SCSI to IDE Driver is required and is provided.

If (as I suspect) anyone can run win-98 with Sata drives under AHCI if the controller is Sata-1 type (because I believe there are win-98 drivers for all SATA-1 controllers) then I suspect your AHCI project is for people with SATA-2 or SATA-3 controllers. If this is true, then I would submit that anyone with a SATA-2 or SATA-3 controller on their motherboard would also have many other aspects of the system that win-98 is not compatible with at the driver level.

No. The SATA-1 Controllers you refer to most likely run in IDE Mode but do not report the IDE Class Code so that the ESDI_506.PDR Driver is not used. The Drivers are Controller specific and use the PCI Device ID to match the Controller. Anyone who has a Controller specific Driver does not need my AHCI Program or my SATA Patch, but I doubt that they are getting AHCI. Edited by rloew
Link to comment
Share on other sites

@Dencorso

I tested a hunch I had. The bug occurs in Virtual Mode.

The easiest way to test for the bug is to run EMM386.EXE from your C:\CONFIG.SYS File.

DOS should crash when it tries to run AUTOEXEC.BAT if the bug is present and the C: Drive is connected to an AHCI mode Controller.

Link to comment
Share on other sites

You mean that there's no risk in running true DOS from a drive in AHCI mode as long as one runs in Real Mode only?

That's good news, indeed! OTOH, on going to Virtual Mode, the bug, if present, should trash DOS at once, and may result in damages to the FAT FS on any connected drive, right?

Link to comment
Share on other sites

You are safe from this bug in Real Mode. An even more poorly written AHCI BIOS is another story.

I discovered the nature of this flaw because I corrupted my experimental Windows with a Driver Replacement I was working on. Then I noticed that DEBUG would not run.

I was not aware that many DOS and Windows Disk I/O Calls were on odd boundaries.

On my system, with EMM386 loaded, DOS crashed before any damage could be done. There is no guarantee that damage cannot occur.

If the Boot Drive is not in AHCI Mode, then DOS and probably Windows will run and damage could occur to AHCI Mode Drives.

Edited by rloew
Link to comment
Share on other sites

Would the program "HD Sentinel" (hdsdos.exe) found here: http://www.hdsentinel.com/hard_disk_sentinel_dos.phpbe of any use in exploring these AHCI issues?

I ran it on my system and for my sata drives it reported both drives as:

Interface: S-ATA II

ATA Information

ATA Revision: 7

Maximum UDMA Mode: 150 MB/s (6)

Active UDMA Mode: 150 MB/s (6)

ATA Control Byte: Valid

Serial ATA Features

S-ATA Compliance: Yes

S-ATA I Signaling Speed (1.5 Gps): Supported

S-ATA II Signaling Speed (3 Gps): Supported

There is nothing in the lengthy report indicating AHCI status (unless it goes by another name) so I don't know if that can be determined by anything in the report generated by this program.

The SATA controller on this win-98 system appears in Device Manager under the heading "SCSI Controllers" as Silicon Image Sil 3512 SATARaid controller. There's nothing obvious in the properties of that object, nor for the properties of the SATA disk drives themselves, that indicates AHCI status.

I have a "Silicon Image SATA Controllers" control panel applet, which again says nothing about AHCI status - but it does tell me that the current transfer mode is "Ultra DMA mode 6" and the ATA version is "ATA/ATAPI-8".

The BIOS on the SATA PCI card (accessible by pressing control-S or F4 during boot) only seems to give the ability to configure RAID sets, with no option to set operating mode (IDE/legacy/native etc).

Link to comment
Share on other sites

HDSDOS appears to be written to obtain Hard Drive information. Apparently it has been updated to be able to do so through an AHCI Controller.

SATA cards with Windows 9x Drivers generally use the SCSI Interface, probably to avoid any issues with ESDI_506.PDR.

None of the Cards I have tested offer any option to change Mode nor do they identify the Mode they are in.

If they are providing a Driver then there is no reason to support different Modes.

I did some more research and determined that the Odd Address Writes that caused the Corruption I saw were in one of my TeraByte Plus Patches. This may be another reason why others haven't reported Corruption.

There are still at least two Odd Address Reads in Virtual Mode that may cause problems in some cases and EMM386 still doesn't work, without my workaround, due to Odd Address Read issues.

Link to comment
Share on other sites

  • 5 weeks later...

HDSDOS appears to be written to obtain Hard Drive information. Apparently it has been updated to be able to do so through an AHCI Controller.

SATA cards with Windows 9x Drivers generally use the SCSI Interface, probably to avoid any issues with ESDI_506.PDR.

None of the Cards I have tested offer any option to change Mode nor do they identify the Mode they are in.

If they are providing a Driver then there is no reason to support different Modes.

I did some more research and determined that the Odd Address Writes that caused the Corruption I saw were in one of my TeraByte Plus Patches. This may be another reason why others haven't reported Corruption.

There are still at least two Odd Address Reads in Virtual Mode that may cause problems in some cases and EMM386 still doesn't work, without my workaround, due to Odd Address Read issues.

quick question but can windows 95 also use sata drives like ide devices the same way that you would do in windows 98 if you simply select the ide compatibility / legacy mode option in the bios? i dont care if the drives are limited in performance, as long as they appear in device manager as one detected dvd burner and one hard drive without any issues, that is all i need. 

Link to comment
Share on other sites

HDSDOS appears to be written to obtain Hard Drive information. Apparently it has been updated to be able to do so through an AHCI Controller.

SATA cards with Windows 9x Drivers generally use the SCSI Interface, probably to avoid any issues with ESDI_506.PDR.

None of the Cards I have tested offer any option to change Mode nor do they identify the Mode they are in.

If they are providing a Driver then there is no reason to support different Modes.

I did some more research and determined that the Odd Address Writes that caused the Corruption I saw were in one of my TeraByte Plus Patches. This may be another reason why others haven't reported Corruption.

There are still at least two Odd Address Reads in Virtual Mode that may cause problems in some cases and EMM386 still doesn't work, without my workaround, due to Odd Address Read issues.

quick question but can windows 95 also use sata drives like ide devices the same way that you would do in windows 98 if you simply select the ide compatibility / legacy mode option in the bios? i dont care if the drives are limited in performance, as long as they appear in device manager as one detected dvd burner and one hard drive without any issues, that is all i need.
If you can select Legacy Mode rather than Native Mode for your SATA Drives, Windows 95 will not know they are SATA Drives and will work fine.

If not, you will need my SATA Patch.

When I said "limited in performance" in my earlier posts, I meant "Compatability Mode" which means "Device Manager will show it as Uninstalled" and Optical Drives will not be detected.

I haven't tested Windows 95 with AHCI yet, but I dion't think it will be any more of a problem than Windows 98.

Edited by rloew
Link to comment
Share on other sites

> > quick question but can windows 95 also use sata drives like

> > ide devices the same way that you would do in windows 98

> > if you simply select the ide compatibility / legacy mode

> > option in the bios?

So let's consider this question. Is this person running win-95 "natively" - directly on the hardware in question and not in a VM? The answer would have to be yes, since we're talking about storage devices visible through hardware drivers to win-95.

So what sort of hardware would someone running win-95 have? Must be old, probably does not have SATA controller on-board. But there are many motherboards made between 2002 and 2006 that have full win-9x/me support and have on-board sata controllers with 9x drivers.

So if the OP has a motherboard that does not have SATA controller, then OP is using add-on PCI card. PCI cards, we believe, do not seem to have bios user interface that allows selection of Legacy IDE vs Sata (AHCI) mode operation. But many PCI cards use SIL SATA-1 controller chip for which 9x drivers are readily available. So someone running win-95 with PCI sata card will not be able to select IDE controller mode (but SATA drives will be accessible in DOS and will work in DOS compatibility mode when running win-9x) or SIL drivers can be found that allow proper Native/SATA/AHCI mode operation under 9x.

> If you can select Legacy Mode rather than Native Mode

> for your SATA Drives, Windows 95 will not know they

> are SATA Drives and will work fine.

If he has PCI SATA card, he most likely will not have the option to set working mode. But he will most likely be able to find 9x drivers for the card, and be able to use the SATA interface just fine with any hard drives up to at least 1 tb.

If he has onboard integrated SATA controller, then again we presume that the OP is satisfied with the motherboard in terms of 9x driver availability, which again would mean that 9x drivers are almost certainly available for the SATA controller.

> If not, you will need my SATA Patch.

After typing all my various explanations above, I fail to see any reason why someone running 9x would need your SATA patch, because I can't see a use-case where OEM-supplied SATA drivers would not be available to them given the hardware that they *probably* have.

Link to comment
Share on other sites

> > quick question but can windows 95 also use sata drives like

> > ide devices the same way that you would do in windows 98

> > if you simply select the ide compatibility / legacy mode

> > option in the bios?

So let's consider this question. Is this person running win-95 "natively" - directly on the hardware in question and not in a VM? The answer would have to be yes, since we're talking about storage devices visible through hardware drivers to win-95.

So what sort of hardware would someone running win-95 have? Must be old, probably does not have SATA controller on-board. But there are many motherboards made between 2002 and 2006 that have full win-9x/me support and have on-board sata controllers with 9x drivers.

So if the OP has a motherboard that does not have SATA controller, then OP is using add-on PCI card. PCI cards, we believe, do not seem to have bios user interface that allows selection of Legacy IDE vs Sata (AHCI) mode operation. But many PCI cards use SIL SATA-1 controller chip for which 9x drivers are readily available. So someone running win-95 with PCI sata card will not be able to select IDE controller mode (but SATA drives will be accessible in DOS and will work in DOS compatibility mode when running win-9x) or SIL drivers can be found that allow proper Native/SATA/AHCI mode operation under 9x.

> If you can select Legacy Mode rather than Native Mode

> for your SATA Drives, Windows 95 will not know they

> are SATA Drives and will work fine.

If he has PCI SATA card, he most likely will not have the option to set working mode. But he will most likely be able to find 9x drivers for the card, and be able to use the SATA interface just fine with any hard drives up to at least 1 tb.

If he has onboard integrated SATA controller, then again we presume that the OP is satisfied with the motherboard in terms of 9x driver availability, which again would mean that 9x drivers are almost certainly available for the SATA controller.

> If not, you will need my SATA Patch.

After typing all my various explanations above, I fail to see any reason why someone running 9x would need your SATA patch, because I can't see a use-case where OEM-supplied SATA drivers would not be available to them given the hardware that they *probably* have.

Probably have?

If you have ancient hardware, you probably don't need my SATA Patch.

You can always use an IDE to SATA Adapter.

If you have a newer Motherboard with Native Mode SATA, it's likely there is no 9x driver for it.

If you want to buy an Add-on Card for it, you can. But they are more expensive, take up vauable PCI slot space, and waste the Motherboard Controllers.

I heard the same kinds of arguments about my High Capacity Disk Patch and RAM Limitation Patch.

My customers clearly do not agree with you.

Link to comment
Share on other sites

> If you have a newer Motherboard with Native Mode SATA, it's likely there is no 9x driver for it.

Again I ask just how far you can go running win-9x on a motherboard made after 2006 or 2007?

If we are talking single-boot OS, running win-9x natively on any system, why would you want to struggle with many drivers missing, ethernet, sound, video, usb - when there are many older boards available on ebay for almost nothing and you can build a system with pre-2007 hardware.

If we are talking dual-boot OS (say, win-7 / win-9x) then you run 9x in a VM and no need to bother about driver issues (but you will have poor performance, possibly poor video resolution, but you obviously have some dire reason to run 9x so you have little choice here).

> If you want to buy an Add-on Card for it, you can. But they are more expensive, take up vauable PCI slot space,

> and waste the Motherboard Controllers.

Many boards have many PCI slots. PCI slots are not "valuable" the way I see it.

Any motherboard that has on-board SATA controller that you can't find 9x drivers for will be a motherboard that will be an absolute pain to run 9x on and certainly not worth the effort when you will almost certainly not have drivers for many other important motherboard sub-systems.

> I heard the same kinds of arguments about my High Capacity Disk Patch and RAM Limitation Patch.

Again, win-9x is very happy to run with 512 mb ram, and you can push that to 1024 mb very easily almost all the time without needing special patches.

I don't know what the high capacity disk patch is or why someone would need it, but sata hard drives between 160 gb to 1 tb are very common, cheap, and most likely would meet the needs of 99.999% of people running win-9x today.

> My customers clearly do not agree with you.

I'm a win-98 "power user" and I certainly can get by very easily without any of your patches. Anyone investigating the use of win-9x should be aware of what their options are, and some of those options involve setting up systems that don't need your patches.

Link to comment
Share on other sites

@Nomen

>> If you have a newer Motherboard with Native Mode SATA, it's likely there is no 9x driver for it.

> Again I ask just how far you can go running win-9x on a motherboard made after 2006 or 2007?

Quite far. See my Computer descriptions in Dencorso's >1GB Thread.

>If we are talking single-boot OS, running win-9x natively on any system, why would you want to struggle with many drivers missing, ethernet, sound, video, usb - when there are many older boards available on ebay for almost nothing and you can build a system with pre-2007 hardware.

Performance. I am currently running a Program that will take five months to complete. Based on smaller runs, it would have taken 40 years to run on 2004 Hardware.

USB works in every Computer I have tried. So does Firewire if provided.

Ethernet was fine until at least 2010. I did find a Driver that worked with 2014 hardware but at limited speed. USB Ethernet is an option.

USB Audio is a fairly simple solution to Sound if you do not want to use a Card.

Video was the first to go but PCI-E Cards can be used.

>If we are talking dual-boot OS (say, win-7 / win-9x) then you run 9x in a VM and no need to bother about driver issues (but you will have poor performance, possibly poor video resolution, but you obviously have some dire reason to run 9x so you have little choice here).

I run Multiboot 95/98/ME/XP/7/8/Linux. I have never used a VM.

>> If you want to buy an Add-on Card for it, you can. But they are more expensive, take up vauable PCI slot space,

>> and waste the Motherboard Controllers.

>Many boards have many PCI slots. PCI slots are not "valuable" the way I see it.

Apparently you haven't looked at a newer Motherboard. They are mostly or entirely PCI-E.

No AGP. Two PCI if you are lucky.

>Any motherboard that has on-board SATA controller that you can't find 9x drivers for will be a motherboard that will be an absolute pain to run 9x on and certainly not worth the effort when you will almost certainly not have drivers for many other important motherboard sub-systems.

Motherboard SATA goes back to 2003 or earlier. I don't think there were 9x Drivers for them back then either.

>> I heard the same kinds of arguments about my High Capacity Disk Patch and RAM Limitation Patch.

>Again, win-9x is very happy to run with 512 mb ram, and you can push that to 1024 mb very easily almost all the time without needing special patches.

Depends upon what you use it for. If you just browse the Intenet, you don't need much.

My RAM Limitation Patch is my biggest selling product.

>I don't know what the high capacity disk patch is or why someone would need it, but sata hard drives between 160 gb to 1 tb are very common, cheap, and most likely would meet the needs of 99.999% of people running win-9x today.

Without my High Capacity Disk Patch, you were limited to 137GB so none of the Drives you mentioned would work. Only years later did LLXX give away her version. So you need my Patch or hers.

>> My customers clearly do not agree with you.

>I'm a win-98 "power user" and I certainly can get by very easily without any of your patches. Anyone investigating the use of win-9x should be aware of what their options are, and some of those options involve setting up systems that don't need your patches.

Power is relative. You an easily build a limited system without patches. I never said you can't.

You will have a Computer that runs slower, has less RAM, little or no RAM DISK space, only one useable core and a moderate sized Hard Drive at best.

I have already filled my 4TB Hard Drive and am experimenting with 6TB Drives.

Edited by rloew
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...