VOGONS


List of VLB IDE Controllers

Topic actions

Reply 320 of 334, by douglar

User metadata
Rank l33t
Rank
l33t

Here is the result of the UMC Testing. Curiously, the UM82C871F with the manual timing settings got the fastest scores, even though it's older. I just did benchmarks, I didn't do any long term reliability tests to see if I could run at the selected speeds without corrupting the data.

The attachment Untitled.png is no longer available

Here are my test cards--
UM82C871F - https://theretroweb.com/expansioncards/s/sili … nc-old-name-abi
UM85C418F -- https://theretroweb.com/expansioncards/s/gain … d-cardex-vl-1av
UM8672F - https://theretroweb.com/expansioncards/s/unkn … 3295umv-a-ver-1

Notes:

  • I had to increase the timing on the UM85C418F to get the SD-IDE bridge to work reliably
  • Even on the most relaxed timings, the UM85C418F would constantly return an incorrect geometry in some cases.
  • The UM85C418F driver, XUB & MrBios (when enabled) supported block mode transfers with the LiteOn Msata device and showed performance improvements
  • When using XUB with no additional drivers, speedsys would skip the write test on the bridged msata device, no info message given
  • I dropped the UMC bios testing. It wasn't producing very interesting results and it was making the result chart confusing

Reply 321 of 334, by Yoghoo

User metadata
Rank Member
Rank
Member
douglar wrote on 2023-05-10, 00:12:

I uploaded a bunch more drivers today--

Winbond W83759AF Config Utility with Source Code -- Anytime there is source code, it gets interesting

Looking in the source code I see only W83757AF mentioned. Not W83759AF. As far as I know those chips are not compatible so the source code will probably not work on a W83759AF.

I see them on The Retro Web as well: https://theretroweb.com/chips/6574 but even the file name says W83757AF not W83759AF.

Reply 322 of 334, by douglar

User metadata
Rank l33t
Rank
l33t
Yoghoo wrote on 2026-01-04, 10:21:

Looking in the source code I see only W83757AF mentioned. Not W83759AF. As far as I know those chips are not compatible so the source code will probably not work on a W83759AF.

I see them on The Retro Web as well: https://theretroweb.com/chips/6574 but even the file name says W83757AF not W83759AF.

Thanks for pointing that out. I adjusted things to make more sense

Reply 323 of 334, by douglar

User metadata
Rank l33t
Rank
l33t

I saw a number of failures in my last set of benchmarks when I tried to push the IDE timing to the limit. I started researching what & why is going on when VLB IDE transfers go wrong and I found things I didn't expect.

I had always assumed that faster PIO modes were just faster PIO modes. It seems that it was pretty much true for PIO0-->PIO1-->PIO2 but beginning with PIO3 and definitely with PIO4, things changed. The ATA2 PIO modes have complicating factors.

Here's what I learned-- Please let me know if I'm off base here--

  • The timing for PIO3 on VLB is tight and for PIO4 it is very tight. Some VLB chips have internal strobes to generate their own PATA clocks. Some VLB chips have internal buffers. Chips with internal strobes & buffers tend to be more reliable as the timing gets tighter.
  • Sometimes faster 486 computers ( > 66Mhz ) have increased difficulty with faster PIO modes compared to slower 486 chips (<=66Mhz ) because the slower CPUs ran the driver code more slowly, and introduce extra waits that help when signals from an IDE device arrive little slow. When > 100 Mhz chips came out in 1994, not all systems that were validated at 33Mhz continued to work, because the CPU started sampling before the controller had the data ready.
  • A properly implemented IORDY (IOCHRDY) signal allows the faster CPUs to be reliable because it allows the IDE device to tell the controller that the data will be arriving a few ns late, but not all vendors implemented IORDY the same way.
  • Some VLB IDE controllers don't provide IORDY in a way that slower 486 CPUs can handle with 100% reliability, and in this edge case, the slower CPU's were less reliable. Perhaps this is why so many cards provide a way to disable IORDY.
  • The actual performance of PIO4 operation is very often only marginally better than PIO3 because the IDE device asserts a lot of IORDY waits or the driver is slower because of how IORDY was implemented.
  • As far as I know, all solid state storage expects a functioning IORDY, even though they are usually able to handle PIO3 without it. I guess there is a chance that cheap PATA-SATA bridges could fumble the IORDY signal.

Now trying to figure out which chip did what is harder, because there's not a lot of documentation.

These chips seem to have PIO4 support

Reply 324 of 334, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Interesting stuff, I was always wondering why PIO mode 2 drives seem to behave nicer than "better" PIO mode 2 and 4 drives on high clocked VLB controllers.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 325 of 334, by Babasha

User metadata
Rank Oldbie
Rank
Oldbie
douglar wrote on 2026-01-02, 13:58:
Here is the result of the UMC Testing. Curiously, the UM82C871F with the manual timing settings got the fastest scores, even th […]
Show full quote

Here is the result of the UMC Testing. Curiously, the UM82C871F with the manual timing settings got the fastest scores, even though it's older. I just did benchmarks, I didn't do any long term reliability tests to see if I could run at the selected speeds without corrupting the data.

The attachment Untitled.png is no longer available

Here are my test cards--
UM82C871F - https://theretroweb.com/expansioncards/s/sili … nc-old-name-abi
UM85C418F -- https://theretroweb.com/expansioncards/s/gain … d-cardex-vl-1av
UM8672F - https://theretroweb.com/expansioncards/s/unkn … 3295umv-a-ver-1

Notes:

  • I had to increase the timing on the UM85C418F to get the SD-IDE bridge to work reliably
  • Even on the most relaxed timings, the UM85C418F would constantly return an incorrect geometry in some cases.
  • The UM85C418F driver, XUB & MrBios (when enabled) supported block mode transfers with the LiteOn Msata device and showed performance improvements
  • When using XUB with no additional drivers, speedsys would skip the write test on the bridged msata device, no info message given
  • I dropped the UMC bios testing. It wasn't producing very interesting results and it was making the result chart confusing

Today i test my UM8672F VLB with 40MHz VLB bus speed and get up to 5100 KB/s in SPEEDSYS

Need help? Begin with photo and model of your hardware 😉

Reply 326 of 334, by douglar

User metadata
Rank l33t
Rank
l33t
Babasha wrote on 2026-01-06, 20:34:

Today i test my UM8672F VLB with 40MHz VLB bus speed and get up to 5100 KB/s in SPEEDSYS

Nice!

Any reason why you are not looking at pci solutions that support DMA? It does make Windows more pleasant.

Reply 327 of 334, by Babasha

User metadata
Rank Oldbie
Rank
Oldbie
douglar wrote on 2026-01-07, 02:11:
Babasha wrote on 2026-01-06, 20:34:

Today i test my UM8672F VLB with 40MHz VLB bus speed and get up to 5100 KB/s in SPEEDSYS

Nice!

Any reason why you are not looking at pci solutions that support DMA? It does make Windows more pleasant.

Yeap! There is ONE BIG REASON)))
I love strange, unknown, unbelivable hardware with lost manuals, drivers, info

Need help? Begin with photo and model of your hardware 😉

Reply 328 of 334, by douglar

User metadata
Rank l33t
Rank
l33t
Babasha wrote on 2026-01-07, 05:38:

Yeap! There is ONE BIG REASON)))
I love strange, unknown, unbelivable hardware with lost manuals, drivers, info

Then you are on target here. If you are looking for a lack of documentation, UMC is the way to go!

Here is the source code to the Legacy Linux driver if you want to go a-hackin'.

https://chromium.googlesource.com/chromiumos/ … s/ide/umc8672.c

Edit -- Looking through that source code, I see that author assumed that Speed 11 = PIO4. Didn't match my testing. Speed 11 matched PIO2 in my testing and according to the driver, speed 11 uses the smallest possible values in the timing registers: 1 / 1 / 0

I saw hints that there was a modded driver that allows PIO4. Not sure how to get there unless the dos driver I'm using has different values in it's speed table. Something to check out later today.

Reply 329 of 334, by Beerfloat

User metadata
Rank Newbie
Rank
Newbie

About the Promise VLB Win9x driver;

There's a couple of distributions that get referenced here and there. Let's call them VG4 and EIDE2300 (the filename of your actual download may differ). I took a closer look.

VG4\README.TXT is 14KB, lists a date of 1995/6/14 and says:

 Device Driver Diskette...............................(Version 3.30)

VG4\WIN95\README.TXT is 4KB and has this to say:

    +================================================================+
| EIDE2300plus Windows 95 MiniPort ATAPI Driver (Testing Only) |
+================================================================+

This driver is a BETA version for Windows 95 PRE-RELEASE Final, not a final
release version. Promise Technology will release the final version
as soon as Microsoft releases Windows 95 Final version.

On the other hand:
EIDE2300\README.TXT file is 15KB, does not list a date, and says:

  Device Driver Diskette...............................(Version 3.31)

EIDE2300\WIN95\README.TXT from EIDE2300 is 6KB, has some more detail on installing the driver, and the caveat about being a BETA version is gone.

VG4\WIN95\PTIVGAPI.INF file names the device "Promise EIDE2300+ ATAPI IDE MiniPort Adapter PTIVGAPI", while
EIDE2300\WIN95\PTIVGAPI.INF names the device "Promise EIDE2300+ Enhance IDE Adapter"

Both .INF files have the same version number: "InfVersion=0.9".
The actual driver file PTIVGAPI.MPD is identical between VG4 and EIDE2300.

Ok, so it looks like the BETA ended up becoming the final version. Nothing new, I think that was established earlier.

Then I was Waybacking around the Promise website and found some old filenames and defunct links, which led to a file called EIDEW95B.ZIP (attached).

EIDEW95B \PTIVGAPI.INF names the device "Promise EIDE2300+ Enhance IDE Adapter" just like EIDE2300, but:
EIDEW95B\PTIVGAPI.INF: InfVersion=1.0
EIDEW95B\PTIVGAPI.MPD is a hefty 42KB instead of the 23KB file from VG4 and EIDE2300.

The EIDEW95B\README.95 is 7KB and has some additions to the EIDE2300\WIN95\README.TXT, including this choice bit:

       PROMISE EIDE2300plus Disk Controller Win95 Driver Readme file

Changes made -
1. Supports DMA mode transfers
2. Fixed bug where a CD-ROM disk change was not recognized

Notes on this driver -

1. The driver will automatically detect the drive(s) attached
to the controller and set up the respective speed setting
(for drives on the primary VESA channel only). There are no
manual speed settings for this driver.

2. Software eject and Autoplay does not work for CD-ROMs. (If you
wish to use these features, then use the Standard IDE/ESDI driver
for the controller that the CD-ROM is attached to).

I'm gonna play around with this one on my TMC PCI54PV Pentium VLB board.
It's been problematic with the VG4/EIDE2300 version of the Win95 driver, which seems limited to PIO 2 mode and led me to search around in the first place.

Anybody have experience with the 1.0 version of the driver? Is it any different/faster on regular 486 VLB systems?

Reply 330 of 334, by Beerfloat

User metadata
Rank Newbie
Rank
Newbie

The newer driver shows a noticeable improvement in Windows 98SE disk performance on this Pentium VLB system.
For lack of any installed proper Windows I/O benchmark I'm just using Speedsys here in a Win98 command prompt window.

As you can see in the pictures the score for the same 8GB Transcend Industrial CF card went up from 1853KB/s to 3368KB/s.
While that isn't as good as its DOS + EIDE2300.SYS /M0:8 score of about 7309KB/s, it's still well into VLB controller territory.

More importantly though, this driver has so far not shredded my C: drive.
Which is something the VG4 Win95 driver reliably does on this VLB motherboard after I installed a Pentium 200MMX.
The older driver did work fine with a Pentium 100, although it only got up to 2062KB/s.

It's hard to say what EIDE mode the Windows driver picks as it is automatic and no control is provided.
Amusingly, after this one warm boot it looks like the Windows settings stuck and the DOS driver would not override it (and JP4 was actually set to SPD 2 here).
That was just the once though, usually the DOS driver will set /M0:8 fine.

Reply 331 of 334, by douglar

User metadata
Rank l33t
Rank
l33t
Beerfloat wrote on 2026-02-26, 04:59:
The newer driver shows a noticeable improvement in Windows 98SE disk performance on this Pentium VLB system. For lack of any ins […]
Show full quote

The newer driver shows a noticeable improvement in Windows 98SE disk performance on this Pentium VLB system.
For lack of any installed proper Windows I/O benchmark I'm just using Speedsys here in a Win98 command prompt window.

As you can see in the pictures the score for the same 8GB Transcend Industrial CF card went up from 1853KB/s to 3368KB/s.
While that isn't as good as its DOS + EIDE2300.SYS /M0:8 score of about 7309KB/s, it's still well into VLB controller territory.

More importantly though, this driver has so far not shredded my C: drive.
Which is something the VG4 Win95 driver reliably does on this VLB motherboard after I installed a Pentium 200MMX.
The older driver did work fine with a Pentium 100, although it only got up to 2062KB/s.

It's hard to say what EIDE mode the Windows driver picks as it is automatic and no control is provided.
Amusingly, after this one warm boot it looks like the Windows settings stuck and the DOS driver would not override it (and JP4 was actually set to SPD 2 here).
That was just the once though, usually the DOS driver will set /M0:8 fine.

Digging through some old pages on archive.org, I learned that:

For the drivers, my understanding was that the VG4 driver was for OEM 20630 cards, while the EIDE 2300 driver was for Promise's own 20630 cards.

If you check out the links, you can see that:

  • 20230C looks similar to the 20630 from a programming standpoint
  • The speed numbers 1-8 look like they are fed directly into the chip, they are not a reference to a lookup table used for software based timing.

On a lot of Win drivers from that period accepted the same parameters as the DOS driver. Have you tried looking for the driver in system.ini and adding parameters after the driver?

Reply 332 of 334, by Beerfloat

User metadata
Rank Newbie
Rank
Newbie
douglar wrote on 2026-02-28, 00:27:
Digging through some old pages on archive.org, I learned that: […]
Show full quote

Digging through some old pages on archive.org, I learned that:

For the drivers, my understanding was that the VG4 driver was for OEM 20630 cards, while the EIDE 2300 driver was for Promise's own 20630 cards.

If you check out the links, you can see that:

  • 20230C looks similar to the 20630 from a programming standpoint
  • The speed numbers 1-8 look like they are fed directly into the chip, they are not a reference to a lookup table used for software based timing.

On a lot of Win drivers from that period accepted the same parameters as the DOS driver. Have you tried looking for the driver in system.ini and adding parameters after the driver?

Interesting find, that. I don't believe I have any 20230 adapters but would be interested to see if b and c behave differently between these drivers.

But this being specifically about the Win95 driver, neither of them touch the system.ini (or win.ini) files at all. I don't think a manual entry works for .MPD drivers.

Meanwhile, now on the Spring Circle SF586 Socket 5 board instead of the TMC, a newly installed K6-III is taking the Promise VLB adapter with EIDEW95B driver to new heights.. (screenshot with Samsung SSD but the previously tested CF card is also fast)
But then at the same time the DOS driver on this config takes it up to more than 12000KB/s buffered and linear (using M0:8 or the highest speed mode with DMA for sure).

Reply 333 of 334, by Babasha

User metadata
Rank Oldbie
Rank
Oldbie
Beerfloat wrote on 2026-02-28, 10:16:
Interesting find, that. I don't believe I have any 20230 adapters but would be interested to see if b and c behave differently b […]
Show full quote
douglar wrote on 2026-02-28, 00:27:
Digging through some old pages on archive.org, I learned that: […]
Show full quote

Digging through some old pages on archive.org, I learned that:

For the drivers, my understanding was that the VG4 driver was for OEM 20630 cards, while the EIDE 2300 driver was for Promise's own 20630 cards.

If you check out the links, you can see that:

  • 20230C looks similar to the 20630 from a programming standpoint
  • The speed numbers 1-8 look like they are fed directly into the chip, they are not a reference to a lookup table used for software based timing.

On a lot of Win drivers from that period accepted the same parameters as the DOS driver. Have you tried looking for the driver in system.ini and adding parameters after the driver?

Interesting find, that. I don't believe I have any 20230 adapters but would be interested to see if b and c behave differently between these drivers.

But this being specifically about the Win95 driver, neither of them touch the system.ini (or win.ini) files at all. I don't think a manual entry works for .MPD drivers.

Meanwhile, now on the Spring Circle SF586 Socket 5 board instead of the TMC, a newly installed K6-III is taking the Promise VLB adapter with EIDEW95B driver to new heights.. (screenshot with Samsung SSD but the previously tested CF card is also fast)
But then at the same time the DOS driver on this config takes it up to more than 12000KB/s buffered and linear (using M0:8 or the highest speed mode with DMA for sure).

Ha! Is it stock or modified BIOS with K6-3 support?

Need help? Begin with photo and model of your hardware 😉