VOGONS


List of VLB IDE Controllers

Topic actions

Reply 60 of 257, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
mkarcher wrote on 2023-04-25, 20:36:
jakethompson1 wrote on 2023-04-25, 20:27:

The read ahead mode is the Achilles heel of the infamous CMD640/RZ1000, right?

Yes. Those chips used a single FIFO (possibly just 2 words) for read-ahead for both IDE channels. This means that in the case of an IDE data transfer on the primary channel getting interrupted by a different task that tries to issue a command on the second channel will mess up the FIFO state. Do you remember the generic Windows 95 PCI IDE driver calling the the supported PCI IDE interface chips "dual FIFO"? This basically means: "Not like the CMD640/RZ1000". The usual workarounds to deal with the CMD640 or RZ1000 chips was to either make sure that only one IDE channel is ever in use at the same time, or possibly just making sure an REP INSW/INSD not getting interrupted.

Do you think those problems (since Intel got burned by those on their own boards using those chips) played any role in Intel developing the PIIX as the "IDE chip to end all other IDE chips" or would it have already been well under development by the time those issues surfaced?
It does seem that it puts all the PCI/VLB IDE chips that came before it to shame and in particular erodes any performance advantage of SCSI over IDE once bus mastering is working and the OS takes advantage of it, right?

Reply 61 of 257, by mkarcher

User metadata
Rank l33t
Rank
l33t
jakethompson1 wrote on 2023-04-25, 20:50:

Do you think those problems (since Intel got burned by those on their own boards using those chips) played any role in Intel developing the PIIX as the "IDE chip to end all other IDE chips" or would it have already been well under development by the time those issues surfaced?

I assume the PIIX was already in development, but maybe the issues with the first-generation PCI IDE interface chips pushed the development of the PIIX, which I would call a second-generation chip. It's interesting that the PIIX programming interface for bus mastering got a generic PCI programming interface code (but as Intel being the most important member of the PCI consortium, it's also not that surprising). The PIIX is "IDE interface to PCI done right". The older chips are like "IDE interface as we did it on VL, now with PCI interface".

jakethompson1 wrote on 2023-04-25, 20:50:

It does seem that it puts all the PCI/VLB IDE chips that came before it to shame and in particular erodes any performance advantage of SCSI over IDE once bus mastering is working and the OS takes advantage of it, right?

It's not that easy. SCSI vs. IDE has a lot of facets. Bus mastering is only one of them. There are other important features on SCSI you don't find on IDE, in my oppinion most importantly disconnects. You can not execute overlapping commands on the master and the slave drive of the same IDE channel without violating the specification. That's not surprising, as the idea of IDE is to emulate a single WD-1003A controller that interfaces with up to two drives, and that single controller can't execute concurrent commands. This is the main reason why burning CDs from IDE drives with the CD writer and the source drive on the same channel is usually not working well. Furthermore, in the early days IDE was targeted to the price sensitive consumer market, whereas SCSI was targeted to performance-critical workstation and server market. This means that SCSI technology could be built using more expensive technology.

One of the key points of the decline of SCSI in low-end consumer markets is that most of the technology in the driver controllers that made SCSI drives fast got cheap enough to be also used on IDE drives. The Quantum Fireball series is quite interesting here: The IDE edition is actually faster than the SCSI drives with the same mechanism. There are rumors that the SCSI Fireball drives contain the ATA logic and an IDE/SCSI converter, at least logically, but I don't know whether this is true, or the more complex SCSI protocol and a slow processor on the drive is the root cause of the performance difference.

Reply 62 of 257, by pshipkov

User metadata
Rank Oldbie
Rank
Oldbie

Atronics IDEC-2020L does not need software drivers. It is all in the on-board BIOS.

Attached are drivers for:
Atronics IDE-2015PL
SIS 83C411
Tekram ST300ALI
VIA AV150
Winbond W83759F
Winbond W83759AF

Attachments

  • Filename
    drivers.zip
    File size
    1.76 MiB
    Downloads
    44 downloads
    File license
    Public domain

retro bits and bytes

Reply 63 of 257, by rasz_pl

User metadata
Rank l33t
Rank
l33t
mkarcher wrote on 2023-04-25, 19:46:

So I really don't mean ST-506. I do mean the IBM AT BIOS, which included BIOS support for the AT variant of the WD MFM/RLL controllers in the mainboard bios. I not aware that these calls were ever used in mainstream software, though.

Isnt ST506 the "AT variant of the WD MFM/RLL controllers"?
AT was released in 1984, 506 is all there was up to 1986-7. IDE was specifically designed to be compatible with 506 https://d1yx3ys82bpsa0.cloudfront.net/groups/ … e-ata-drive.pdf so whatever was in IBM Bios must have been meant for stepper motor ST506 drives with huge seek times.

mkarcher wrote on 2023-04-24, 15:21:

This FAQ conflates two different concepts: 32-bit I/O (which is a thing between the CPU and the IDE interface chip) and read/write multiple (which is a thing between the IDE driver and the hard disk)

in same document they know those are two different things:
Q. Does Windows NT support multiple sector disk transfers for hard drives and
removable media devices such as Ez-Drive, ATAPI Jaz, or ATAPI Zip drives?
A. Windows NT 4.0 supports multi-sector transfers for hard drives, CD-ROM drives,
and for removable media.

I found Q141591 mentioned at https://www.techarp.com/bios-guide/multi-sector-transfers/

mkarcher wrote on 2023-04-25, 20:36:
jakethompson1 wrote on 2023-04-25, 20:27:

CMD640/RZ1000

Yes. Those chips used a single FIFO (possibly just 2 words) for read-ahead for both IDE channels. This means that in the case of an IDE data transfer on the primary channel getting interrupted by a different task that tries to issue a command on the second channel will mess up the FIFO state.

Oh, that doesnt sound that terrible. I always assumed it was some hardware defect, not a simplified design and driver oversight.

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 64 of 257, by douglar

User metadata
Rank Oldbie
Rank
Oldbie
mkarcher wrote on 2023-04-25, 20:36:
jakethompson1 wrote on 2023-04-25, 20:27:

CMD640/RZ1000

Yes. Those chips used a single FIFO (possibly just 2 words) for read-ahead for both IDE channels. This means that in the case of an IDE data transfer on the primary channel getting interrupted by a different task that tries to issue a command on the second channel will mess up the FIFO state.

I noticed that some of the vlb drivers have notes saying not to use ATAPI devices on these controllers but they can work along side sound cards that have an IDE interface with a provided driver.

Is that a similar issue?

Reply 65 of 257, by douglar

User metadata
Rank Oldbie
Rank
Oldbie

The notes for the UM8672.SYS device driver read:

https://contents.driverguide.com/content.php? … 265&path=README

IV. UM82C863, UM8663, UM8668 & UM8672 Software Switch Function
En/Disable Hot-key (F10):

You can press F10 to get such a picture (power on default):

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 1. FDC En/Disable : Enable ³
³ FDC Port Select : 3F1 => 3F7 ³
³ 2. Primary Serial Port : Enable ³
³ Primary Serial Port Select : COM1 (3F8) ³
³ 3. Secondary Serial Port : Enable ³
³ Secondary Serial Port Select : COM2 (2F8) ³
³ 4. Parallel Port : Enable ³
³ Parallel Port Select : 3F8 => 37F ³
³ 5. Primary IDE En/Disable : Enable ³
³ Secondary IDE En/Disable : Disable ³
³ 6. Game Port En/Disable : Enable ³
³ 7. Partition table write protected En/Disable : Disable ³
³ ³
³ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³
³ ºPress <Escape> Key to Quit setup º ³
³ º <Enter> Key to Set status & Quit º ³
³ º <Arrow Up> Key to Select item up º ³
³ º <Arrow Down> Key to Select item down º ³
³ º <Space> Key to Toggle status º ³
³ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

The user should consider the system environment to change
the setup.

Does that suggest that these drivers could work with UM82C863, UM8663,& UM8668 as well as UM8672 ?

Reply 66 of 257, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
douglar wrote on 2023-04-26, 02:17:

Does that suggest that these drivers could work with UM82C863, UM8663,& UM8668 as well as UM8672 ?

I've got a VLB I/O card that uses those chips. Only the UM8672 is a VLB IDE chip. The others are just super I/O chips for serial/parallel/game. That menu, I believe, lets you soft-configure the Super I/O chip on boot to override the jumper settings but it breaks things (see: Ctmouse issue when loading drivers for UMC 8672 VLB I/O card) so I don't recommend it.

Reply 67 of 257, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie

This is also a good time to mention that in c:\windows\ios.ini you can list drivers that are allowed to hook Int 13h without forcing Windows 95 to use 16-bit disk access.
In fact, there are already drivers for some VLB cards listed in there. That may also be a good way to line up any VLB IDE controllers you haven't already thought of...
This may be of use if the config.sys driver for your chip programs speed settings into the chip (making it faster) and doesn't allow you to not hook Int 13h, and the chip either doesn't have a Windows 95 driver or you don't wish to use it.

Reply 68 of 257, by mkarcher

User metadata
Rank l33t
Rank
l33t
rasz_pl wrote on 2023-04-25, 22:58:
mkarcher wrote on 2023-04-25, 19:46:

So I really don't mean ST-506. I do mean the IBM AT BIOS, which included BIOS support for the AT variant of the WD MFM/RLL controllers in the mainboard bios. I not aware that these calls were ever used in mainstream software, though.

Isnt ST506 the "AT variant of the WD MFM/RLL controllers"?

No, ST506 is a full-height 5MB MFM drive by Seagate. It's the first drive that had the 34pin / 20pin combination interface for use with an external MFM controller. That's why this interface is often called ST506, too. ST506 does not refer to any specific kind of controller, and is not tied to PC-like computers. The "AT variante of the WD MFM/RLL controllers" do implement the ST506 interface, but also do all the usual XT HDD controllers. ST506 does not refer to the host side interface, just to the drive side interface!

rasz_pl wrote on 2023-04-25, 22:58:

IDE was specifically designed to be compatible with 506 https://d1yx3ys82bpsa0.cloudfront.net/groups/ … e-ata-drive.pdf so whatever was in IBM Bios must have been meant for stepper motor ST506 drives with huge seek times.

IDE was specifically designed to be compatible to WD AT MFM/RLL controllers, the WD1003-WA2. I searched the document you cite for "ST506", and the only mention of ST506 is that WD delivered a hard disk controller board that can be mounted to a hard drive, having the ST506 to interface with the drive electronics and the IDE interface to interface with the host. This is basically an WD1003-WA2 without the floppy part and the ISA address decoder.

rasz_pl wrote on 2023-04-25, 22:58:
in same document they know those are two different things: Q. Does Windows NT support multiple sector disk transfers for hard dr […]
Show full quote
mkarcher wrote on 2023-04-24, 15:21:

This FAQ conflates two different concepts: 32-bit I/O (which is a thing between the CPU and the IDE interface chip) and read/write multiple (which is a thing between the IDE driver and the hard disk)

in same document they know those are two different things:
Q. Does Windows NT support multiple sector disk transfers for hard drives and
removable media devices such as Ez-Drive, ATAPI Jaz, or ATAPI Zip drives?
A. Windows NT 4.0 supports multi-sector transfers for hard drives, CD-ROM drives,
and for removable media.

That's not necessarily the same. "multiple sector transfers" could mean that they run the READ SECTORS command (0x20) on the IDE interface with a sector count of more than 1. This would still cause one IRQ per sector and a transfer of 512 bytes per IRQ, it just avoids sending subsequent read commands, and if the hard drive is able to to read the next sector to the internal sector buffer, while the previous one is transferred to the host, allows decent performance at 1:1 interleave even without drive-internal automatic read-ahead.

rasz_pl wrote on 2023-04-25, 22:58:
mkarcher wrote on 2023-04-25, 20:36:
jakethompson1 wrote on 2023-04-25, 20:27:

CMD640/RZ1000

Yes. Those chips used a single FIFO (possibly just 2 words) for read-ahead for both IDE channels. This means that in the case of an IDE data transfer on the primary channel getting interrupted by a different task that tries to issue a command on the second channel will mess up the FIFO state.

Oh, that doesnt sound that terrible. I always assumed it was some hardware defect, not a simplified design and driver oversight.

The terrible part is that the design limitation and the consequences and required driver measures were not known or widely communicated until there were lots of reports of customers getting corrupt data.

Reply 69 of 257, by mkarcher

User metadata
Rank l33t
Rank
l33t
douglar wrote on 2023-04-25, 23:27:

I noticed that some of the vlb drivers have notes saying not to use ATAPI devices on these controllers but they can work along side sound cards that have an IDE interface with a provided driver.

Is that a similar issue?

Possibly yes, although you might also have read this in conjuntion with the Tekram DC-6x0 series (DC600 for ISA, DC620 for EISA, DC660 for Opti Local Bus, DC680 for VESA local bus). Those are caching IDE controllers. The host communicates with a virtual IDE hard drive implemented in the controller firmware. The implementation of the virtual hard drive then reads/writes from the cache and/or the backing IDE drive as required. As the host does no longer directly communicate with the IDE device, it can not use any IDE-like protocol, but only those instructions implemented in the controller firmware. This excludes the use of ATAPI devices. The same is true for other true caching IDE controllers, too. OTOH, the Hornet VL-200 will work perfectly with ATAPI drives...

Reply 70 of 257, by douglar

User metadata
Rank Oldbie
Rank
Oldbie

Anyone know what chip is used in the DTC controllers? Looks like they just put a sticker on someone else's chip.

I looked through the driver files and didn't see any obvious clues.

I don't see any controllers in my collection that have the two pins soldered together like that.

DTC2278E.jpg
Filename
DTC2278E.jpg
File size
299.59 KiB
Views
869 views
File license
Fair use/fair dealing exception
DTC2278E zoom.jpg
Filename
DTC2278E zoom.jpg
File size
53.19 KiB
Views
869 views
File license
Fair use/fair dealing exception
Last edited by douglar on 2023-04-27, 12:20. Edited 1 time in total.

Reply 71 of 257, by douglar

User metadata
Rank Oldbie
Rank
Oldbie

Looking through source code, I see that some chipsets are tagged as not having IORdy. Is that good or bad?

Brand     Chip         MaxPIO Width IORdy XUB DosDrv ExampleBoard  Notes
------------------------------------------------------------------------
Appian ADI/2 16bit? Found CLPD7220 Reported to be the same as the AIC-25VLxxx
Adaptec AIC-25VL01Q Found VL-300
Adaptec AIC-3410-P Found AHA-2840-A
Atronics IDE-2015PL Found IDE-2015PL
Atronics IDEC-2020L Bios CPDC200BRC
Chips 82C711 Rebranded as GoldStar GM82C711
Chips 82C712 PIO-3 CLT14B31293 Rebranded as GoldStar GM82C712 / CompassLab CL3202
CMD PCI0640B Found Became Silcon Image
DTC DTC2278E PIO-4 Found J8Y2278VL Looks like a re-labeld chip
Holtek HT6560A PIO-2 No Found
Holtek HT6560B PIO-4 No Found VIO3B-V1.1
Lion Lion 3+ PIO-3 Found AYCOMP-9401 https://www.vogons.org/viewtopic.php?p=293802
OPTI 82C611A PIO-3
OPTI 82C46X PIO-3
PiC 12885A-125 VLMIOv1.6
Promise PDC-20230 PIO-2 32bit No Yes? Found DC-4000
Promise PDC-20430 32bit Found DC440
Promise PDC-20630 PIO-4 32bit Yes? Found EIDE2300Plus
QDI Vision 6500 PIO-2 32bit No Yes Found QD6500 qdi_port
QDI Vision 6580 PIO-4 32bit No Yes Found QD6580 qdi_port
SIS 83C411 PIO-3 Found TyanS1342
Tans TS8310 TS2015VLTVB.1
UMC UM82C863F
UMC UM82C871F TK82C863587
UMC UM8672 Found
UMC UM8672F PIO-3 Found SST-2946-X PIO-4 with Modded Driver
VIA AV150
VIC HAOI-0221 VSI-PV1 VLB
VIDE VIDE-1 VLMIOV1.4
Winbond W83759F Found UN1082
Winbond W83759AF PIO-4 32bit No Found WBIDE-D winbond_port
Tekram T300ALI Found DC-680T Raid Support
Last edited by douglar on 2023-04-27, 17:12. Edited 2 times in total.

Reply 72 of 257, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

I have a ST3660A which has a problem with IORDY.
So it runs on my Tekram DC-680T but not on my other IDE controllers.

I guess that Tekram does not care about IORDY

Reply 73 of 257, by Nexxen

User metadata
Rank Oldbie
Rank
Oldbie

Appian ADI/2
I've been looking for drivers to make it work at its best (manual's claim).
Manual states it's a 32bit card.

Anyone have them?

PC#1 Pentium 233 MMX - 98SE
PC#2 PIII-1Ghz - 98SE/W2K

Reply 74 of 257, by Warlord

User metadata
Rank l33t
Rank
l33t

As far as I'm aware Appian ADI/2 Is the same as the 25VL adaptec chip. The adaptec drivers will also scan for ADI/2 and if detected will install the driver. The adaptec drivers are the latest, last time I checked you can still download them from there.

I've personally tested this.

Reply 75 of 257, by mkarcher

User metadata
Rank l33t
Rank
l33t
Nexxen wrote on 2023-04-27, 15:19:

Appian ADI/2
I've been looking for drivers to make it work at its best (manual's claim).
Manual states it's a 32bit card.

Warlord wrote on 2023-04-27, 16:47:

As far as I'm aware Appian ADI/2 Is the same as the 25VL adaptec chip. The adaptec drivers will also scan for ADI/2 and if detected will install the driver.

That's correct. It seems Adaptec just licensed the ADI/2 design and produced it under their own brand. Because it's the same chip, the driver will work with either chip.

You can use the Hornet VL-200 drivers posted here. They include INITADI2.SYS which will set up the likely optimal PIO mode on ADI/2 (or Adaptec) chips, and HVLCACHE.SYS which (despite its name) is not a cache, but just an IDE BIOS implementation with 32-bit I/O support.

Reply 76 of 257, by mkarcher

User metadata
Rank l33t
Rank
l33t
douglar wrote on 2023-04-27, 11:56:

Looking through source code, I see that some chipsets are tagged as not having IORdy. Is that good or bad?

IORDY is a way for the hard drive to request slow-down of the transfer. An ATA-compliant host interface board is required to lengthen cycles if the hard drive requests it in PIO modes 3 and 4. A hard drive must not rely on IORDY support in PIO modes 0,1,2, but it may require not to be used in PIO mode 2 without IORDY. Starting at some revision of the ATA standard, the maximum PIO mode is specified explicitly for "host interface respects IORDY" and "host interface ignores IORDY". So "no IORDY support" is usually a bad thing, because not supporting IORDY might force you to downgrade the PIO mode, and it is generally non-compliant for PIO3 and up. On the other hand, if you have a broken drive like Disruptor does, that permanently requests infinitely long cycles (by pulling IORDY low all the time), "no IORDY support" might a way to still use the drive (you might also interrupt the IORDY line in the IDE cable or break the IORDY pin at the drive IDE connector).

Reply 77 of 257, by Nexxen

User metadata
Rank Oldbie
Rank
Oldbie
mkarcher wrote on 2023-04-27, 17:35:
That's correct. It seems Adaptec just licensed the ADI/2 design and produced it under their own brand. Because it's the same chi […]
Show full quote
Nexxen wrote on 2023-04-27, 15:19:

Appian ADI/2
I've been looking for drivers to make it work at its best (manual's claim).
Manual states it's a 32bit card.

Warlord wrote on 2023-04-27, 16:47:

As far as I'm aware Appian ADI/2 Is the same as the 25VL adaptec chip. The adaptec drivers will also scan for ADI/2 and if detected will install the driver.

That's correct. It seems Adaptec just licensed the ADI/2 design and produced it under their own brand. Because it's the same chip, the driver will work with either chip.

You can use the Hornet VL-200 drivers posted here. They include INITADI2.SYS which will set up the likely optimal PIO mode on ADI/2 (or Adaptec) chips, and HVLCACHE.SYS which (despite its name) is not a cache, but just an IDE BIOS implementation with 32-bit I/O support.

DI-600 VLB Controller

I had been looking for these and thought it was a lost cause.
Will try this asap with my 486 😀

PC#1 Pentium 233 MMX - 98SE
PC#2 PIII-1Ghz - 98SE/W2K

Reply 78 of 257, by douglar

User metadata
Rank Oldbie
Rank
Oldbie
Warlord wrote on 2023-04-27, 16:47:

The adaptec drivers are the latest, last time I checked you can still download them from there.

All of the VLB IDE drivers seem to link to this download: https://adaptec.com/en-us/downloads/ms/ms_dos … =ide-32000.html

They really read you the riot act on the copyright stuff.

Here's the version string from the DOS driver:
PowerIDE! Fixed Disk Device Driver Version 2.2
Copyright (C) 1994-95 Future Domain Corporation. All Rights Reserved.

Reply 79 of 257, by Nexxen

User metadata
Rank Oldbie
Rank
Oldbie
douglar wrote on 2023-04-27, 18:37:
All of the VLB IDE drivers seem to link to this download: https://adaptec.com/en-us/downloads/ms/ms_dos … =ide-32000.html […]
Show full quote
Warlord wrote on 2023-04-27, 16:47:

The adaptec drivers are the latest, last time I checked you can still download them from there.

All of the VLB IDE drivers seem to link to this download: https://adaptec.com/en-us/downloads/ms/ms_dos … =ide-32000.html

They really read you the riot act on the copyright stuff.

Here's the version string from the DOS driver:
PowerIDE! Fixed Disk Device Driver Version 2.2
Copyright (C) 1994-95 Future Domain Corporation. All Rights Reserved.

You should be happy they aren't asking you to summarize the whole thing to convince them you "actually really truly" got it. 🤣
And it's even written in small size...

PC#1 Pentium 233 MMX - 98SE
PC#2 PIII-1Ghz - 98SE/W2K