First I have a warning.
On at least two Computer, I observed that Disk I/O is corrupted when running on a Computer with AHCI enabled and an odd Start Address is requested while in Virtual Mode. I have not seen corruption but the risk is there.
IOS.VXD does two Reads in Virtual Mode. One to check it's Safe List and one while loading DRVSPACX.VXD. These occur during Boot.
EMM386 cannot be used with AHCI Enabled as COMMAND.COM will crash.
I have written a small mitigation Program to correct this issue.
There are a number of possible AHCI scenarios which I have listed as follows:
1. AHCI Only Controller with Direct Protected Memory Interface.
The Marvell based HighPoint card, I previously posted about, falls into this category.
As is, no Windows 9x recognizeable Drives can be present. Windows 9x will crash before it even has a chance to load Drivers.
If the BIOS or Card can be modified to use Interrupt 15 or other supported Method then it may be more useable. See Scenario #2.
The HighPoint Card had a Patchable Option ROM so I could modify it.
Otherwise a compatable MBR or DOS DDO AHCI Driver is needed to allow Windows to Boot. I do not know if any exist.
2. AHCI Only Controller with Compatable Protected Memory Interface.
An AHCI Controller of this type can boot Windows 9x, but see Warning above.
I know of no AHCI Driver for Windows 9x so it will run in Compatability Mode at best
Also, I have noticed that some of the earlier AHCI Drivers miscompute the size of the Hard Drive if it is larger than 2TiB and can lockout parts of the Drive well below the 2TiB limit.
3. Switchable AHCI Controller with Direct Protected Memory Interface.
As in Scenario #1, Windows will not boot using this Mode as is. Otherwise read Scenario #4.
4. Switchable AHCI Controller with Compatable Protected Memory Interface.
If the BIOS allows you to switch to Native Mode and you can do so without causing unresolvable issues with other OSes, do so, it will make things much easier and safer.
Many newer Motherboards use AHCI when in RAID Mode so this may not help.
If there is no BIOS Option or you will mess up another OS continue reading.
This is the Scenario for my Warning above.
If your Computer is not at risk, or you use my mitigation program, you may be able to run Windows 9x in Compatability Mode.
I have developed a DOS DDO that switches the Controller to Native Mode and replaces the BIOS Driver. I am still running tests so I have not published it yet.
In conjunction with my SATA Patch and a modified INF File, I have been able to run Windows 98SE in Protected Mode from a Motherboard started in AHCI Mode.
5. Switchable AHCI Controller with Native Mode Default.
If it correctly reports the Native Mode Class Code then it can be treated like any other SATA Controller.
If it reports the AHCI Class Code, as at least one JMicron PCI-E SATA Card does, a modified INF File will be needed.
Either way, my SATA Patch will be needed for proper operation with Windows 9x unless a specific Driver is available.
EDIT: I have reduced the severity of my Warning as the serious corruption issue I originally warned about was traced to a TeraByte Plus Patch I was using for my 6TB Test Drive. I have corrected the Patch and haven't seen corruption even without mitigation.
Edited by rloew, Today, 07:37 PM.