Nokiamies Posted April 14 Posted April 14 I have been playing with old Silicon Image SI680 PCI ATA 133 controller (card bios flashed as ide not raid) on my Compaq Presario 7479 due Compaq wonderful auto configuration bios that causes issues with some IDE drives. It does load bios extension and works fine 98 and up, but there is no official driver for the Windows 95 OSR2. I have already tried installing 98 one but it just gives "device cannot start code 10, device files are not present". I also tried to install CMD 649 that is chip predecessor drivers but they just cause blue screen about 32bit driver having conflicting entries, I do not have anything driver related on config.sys or autoexec.bat so it is not that. Same happens if I try to use generic pci ide driver included with Windows 95. And after I got bsods I did remove HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\IOS\NoIDE registry key to reset compatibility mode that bsod causes so that is not messing stuff. I also tried pretty much failsafe esdi/ide controller, it does not show error, but it does not detect either channel and hard drive is still stuck at 16bit transfer mode that is slow. I cannot get hard drives attached to controller to work on 32bit mode no matter what I try. Anyone here had experience with using unsupported IDE controllers with Windows 95B? Is there some more universal generic driver I could try to make it work?
SweetLow Posted April 14 Posted April 14 3 hours ago, Nokiamies said: Silicon Image SI680 PCI ATA 133 controller 3 hours ago, Nokiamies said: Same happens if I try to use generic pci ide driver included with Windows 95. Real PCI ATA controllers work in PCI Native mode so usual ESDI_506.PDR will not work. You need something like RLoew's "SATA" patch but IDK does it work for 95.
Nokiamies Posted April 14 Author Posted April 14 26 minutes ago, SweetLow said: Real PCI ATA controllers work in PCI Native mode so usual ESDI_506.PDR will not work. It is dual channel ide bus control card in pci slot i put on presario 7479 since I highly dislike the onboard via controller/or compaq bios hdd size limit bug. Using that external controller as boot device can use large drives no issues. I disabled onboard controller channels too so there is no too many devices. I did not not know that pci native mode is not supported by stock ESDI_506.PDR file.. 1 hour ago, SweetLow said: You need something like RLoew's "SATA" patch but IDK does it work for 95. There seems to be 95 version: https://www.rloewelectronics.com/distribute/SATA/95/ I need to try it tomorrow when got time. Controller does not by default advertise itself as PCI ata controller just pci device but it can be used for booting just fine and it own bios loads. There is driver for it but not for the Windows 95, just 98SE and above. If I want make it work then I should try install it as PCI ATA controller after applying the patch and see if works?
SweetLow Posted April 14 Posted April 14 3 hours ago, Nokiamies said: If I want make it work then I should try install it as PCI ATA controller after applying the patch and see if works? There are special .INFs from RLoew or me for ATA controllers in PCI Native Mode or non-RAID mode of SiI controllers (check what you really have BTW). Sometimes it works without them but it is better with.
Nokiamies Posted April 15 Author Posted April 15 9 hours ago, SweetLow said: There are special .INFs from RLoew or me for ATA controllers in PCI Native Mode or non-RAID mode of SiI controllers (check what you really have BTW). Sometimes it works without them but it is better with. Card chip says: Silicon Image SIL680AC. It is real PCI card hooked up to to one of the slots in my presario. It has also it own bios that inits during boot and shows same chip revision and it is booting Windows just fine, just lacking native 95 driver therefore it is falling back to 16bit compatibility. It would nice to have special INF for Silicon Image Controller if one exists to get it work properly. 16bit fallback mode makes whole system slow down to crawl. If can get DMA mode would be even nicer.
SweetLow Posted April 15 Posted April 15 1 hour ago, Nokiamies said: Card chip says: Silicon Image SIL680AC PCI IDs, including Class, Subclass and Protocol like this --- Bus 01, Device 0B, Function 00 - Silicon Image, Inc. RAID Controller --- PCI\VEN_1095&DEV_3112&REV_02&CC_010400
Nokiamies Posted April 15 Author Posted April 15 11 minutes ago, SweetLow said: PCI IDs, including Class, Subclass and Protocol like this --- Bus 01, Device 0B, Function 00 - Silicon Image, Inc. RAID Controller --- PCI\VEN_1095&DEV_3112&REV_02&CC_010400 Mine is running on IDE mode using IDE bios not raid mode. It can run on both ide and raid mode depending on the bios
SweetLow Posted April 15 Posted April 15 40 minutes ago, Nokiamies said: Mine is running on IDE mode using IDE bios not raid mode. It can run on both ide and raid mode depending on the bios 1. SiI controllers have 3 modes - pure ATA, non RAID and RAID. 2. I assume it simpler to see the data than post on forum.
Nokiamies Posted April 15 Author Posted April 15 18 minutes ago, SweetLow said: 1. SiI controllers have 3 modes - pure ATA, non RAID and RAID. 2. I assume it simpler to see the data than post on forum. How do I confirm mode? Via hardware ID? I got sii0680-3400.zip IDE BIOS v 3.4.00 on it at the moment. On Windows 98 it works with Sil680 ide driver but it does not support Windows 95
SweetLow Posted April 15 Posted April 15 2 hours ago, Nokiamies said: How do I confirm mode? 3 hours ago, SweetLow said: PCI IDs, including Class, Subclass and Protocol like this
Nokiamies Posted April 15 Author Posted April 15 (edited) 18 minutes ago, SweetLow said: Windows 9x lacks built in tool for testing it so I used UDK and here is result: Detected Chip Vendor - Silicon Image Inc (Was: CMD Technology Inc) * Detected Chip Device - SiI 0680 (Was: PCI-0680) Ultra ATA133 EIDE Controller Hardware ID: PCI\VEN_1095&DEV_0680\BUS_00&DEV_0B&FUNC_00 Edited April 15 by Nokiamies
SweetLow Posted April 16 Posted April 16 20 hours ago, Nokiamies said: Windows 9x lacks built in tool for testing it MSINFO32, REGEDIT On 4/15/2026 at 9:13 AM, SweetLow said: PCI IDs, including Class, Subclass and Protocol like this --- Bus 01, Device 0B, Function 00 - Silicon Image, Inc. RAID Controller --- PCI\VEN_1095&DEV_3112&REV_02&CC_010400 Be careful, you can not get simple information after third iteration and ignores some data for unknown reason. It is not smart behaviour.
Nokiamies Posted April 16 Author Posted April 16 2 hours ago, SweetLow said: MSINFO32, REGEDIT Be careful, you can not get simple information after third iteration and ignores some data for unknown reason. It is not smart behaviour. Sorry for mixup, I have not dealt too much with this part of Windows 9x. Anyway I got it via registry: Quote --- Bus 00, Device 0B, Function 00 - Silicon Image SiI 0680 ATA/133 Controller --- PCI\VEN_1095&DEV_0680&REV_02&CC_010600 Subsystem was: Quote SUBSYS_06801095 I looked it up and it is ATA/133 controller not raid like though as it worked fine with Windows 98 using Silicon Image ATA driver. My Windows 95 just happen to be crawling since 16bit disk access so took some time to get those.
SweetLow Posted April 19 Posted April 19 (edited) On 4/16/2026 at 1:03 PM, Nokiamies said: SUBSYS_06801095 SUBSYS (subsystem) and CC (class code) are definitely different things. Looks like it will be endless with SUCH approach. Ok, get: https://github.com/LordOfMice/Tools/blob/master/devtree.zip run devtree.exe /vv /p > devtree.txt in console and put result (devtree.txt file with size ~ few tens of kilobytes) somewhere to download Edited April 19 by SweetLow
Nokiamies Posted April 20 Author Posted April 20 (edited) 13 hours ago, SweetLow said: SUBSYS (subsystem) and CC (class code) are definitely different things. Looks like it will be endless with SUCH approach. Ok, get: I had Class Code (cc) in top one and I just added subsystem just in case you needed it too. I formed it way you instructed with class code being the last: On 4/16/2026 at 1:03 PM, Nokiamies said: --- Bus 00, Device 0B, Function 00 - Silicon Image SiI 0680 ATA/133 Controller --- PCI\VEN_1095&DEV_0680&REV_02&CC_010600 <<<------- cc=class code in the end Edited April 20 by Nokiamies
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now