Reply 60 of 85, by Kahenraz
- Rank
- l33t
I agree with douglar. If you're not seeing any improvement then it's probably missing some kind of storage driver.
I agree with douglar. If you're not seeing any improvement then it's probably missing some kind of storage driver.
douglar wrote on 2022-03-06, 01:41:Do those fast adapters come with option roms that replace your motherboard int 13 bios call?
Of course, like the DC4030VL.
Kahenraz wrote on 2022-03-06, 01:49:I agree with douglar. If you're not seeing any improvement then it's probably missing some kind of storage driver.
I checked - the driver (DOSDRV.SYS v3.33) does not affect the speed, but a secondary channel appears.
"You will need this driver in the following situations:
1. You have more than two IDE drives attached to the EIDE4030PLUS
VESA-IDE channel
2. You have the EIDE4030PLUS VESA-IDE channel acting as a secondary
disk controller"
led178 wrote on 2022-03-06, 09:49:douglar wrote on 2022-03-06, 01:41:Do those fast adapters come with option roms that replace your motherboard int 13 bios call?
Of course, like the DC4030VL.
OK, great. Glad we can agree on that. And when speedsys is accessing the disks under DOS, it is using those real mode, 16 bit int13 calls from the option ROMs, yes?
I think you will find that there are controllers that there is a rare group of BIOS that spent time optimizing the real mode DOS calls but most focused on compatibility in the BIOS and worried about performance in their Windows & OS/2 drivers.
When you complain that a controller is stuck at 9.5MB/s, it really sounds like the BIOS calls don't enable UDMA.
I find that the easiest way is to enable UDMA for Speedsys is to run it under windows 98 with bus mastering enabled.
But if you can find a UDMA.SYS or XHDD.SYS that works with your board, that can do it too.
Also, do you have the shadow ram turned on for the option rom memory range?
Judging by the inscriptions on the microcircuits, this is a 1992-1993 controller, windows 3.1-3.11 was also released in 92-93. windows nt appeared in 93. Can we say that this controller was optimized for windows? 😀
Ultra DMA first appeared in 1997.
Shadow ram enabled.
led178 wrote on 2022-03-07, 23:44:Judging by the inscriptions on the microcircuits, this is a 1992-1993 controller, windows 3.1-3.11 was also released in 92-93. windows nt appeared in 93. Can we say that this controller was optimized for windows? 😀
Ultra DMA first appeared in 1997.Shadow ram enabled.
Good point. I wasn’t careful with my terms.
Can you check to see if you are doing single word dma or multi word dma?
What for?
ps: I upgraded my Win98 system to C2D E7500/775i65g (865G/AGP) :E
I've got some Roms posted:
Buslogic BT-410a BIOS v2.05 JAN-17-1995: https://www.vogonsdrivers.com/getfile.php?fileid=2154
Promise DC-420 BIOS - https://www.vogonsdrivers.com/getfile.php?fileid=2155
Promise EIDE4030 BIOS - https://www.vogonsdrivers.com/getfile.php?fileid=1817
douglar wrote on 2024-02-07, 02:59:I've got some Roms posted: […]
I've got some Roms posted:
Buslogic BT-410a BIOS v2.05 JAN-17-1995: https://www.vogonsdrivers.com/getfile.php?fileid=2154
Promise DC-420 BIOS - https://www.vogonsdrivers.com/getfile.php?fileid=2155
Promise EIDE4030 BIOS - https://www.vogonsdrivers.com/getfile.php?fileid=1817
Looks like the Buslogic BT-410a is the same as a Tekram DC-680C. Do we know which came first? The Buslogic 2.05 rom contains the string "(C) Copyright 1993 Tekram Technology Co., Ltd. All rights reserved"
Does anyone have any benchmarks comparing the DIP based Promise DC-400 or DC-420 and the SIM based Promise DC-4030 or Promise EIDE4030Plus ?
Looks like the 4030's can do LBA if you get the latest BIOS. I'm not sure that the DC-4x0 series even has an int13 handler on board.
Any of you still rocking a VLB IDE card in your retro machines? I am thinking about moving to this Promise EIDE4030 Plus I have had sitting in a box for a few years. Tweaking a 486DX2-66 build with a "standard VLB" I/O card and a mix of a period hard drive and some compact flash. Was going to do a fresh DOS 6.22/Win 3.11 install and thought about switching out that I/O card for the Promise one.
CkRtech wrote on 2025-05-02, 01:05:Any of you still rocking a VLB IDE card in your retro machines? I am thinking about moving to this Promise EIDE4030 Plus I have had sitting in a box for a few years. Tweaking a 486DX2-66 build with a "standard VLB" I/O card and a mix of a period hard drive and some compact flash. Was going to do a fresh DOS 6.22/Win 3.11 install and thought about switching out that I/O card for the Promise one.
I might have used one or two in my day. Those big fat caching controllers certainly give your rig some retro flair and can move data out of their cache using memory mapped transfers much more quickly than PIO transfers. For example, expect 16-20MB/s transfers on a 33Mhz bus, compared with ~10MB/s for PIO4, ~7 MB/s for PIO3, ~5MB for PIO2 or ~1.7MB/s for PIO0.
However a fast non-caching Promise or QDI controller paired with solid state storage operating at PIO4 is likely to be very competitive for most tasks, because the non-caching controllers can get the first sector off the storage device with lower latency and smartdrv.exe might be a more efficient caching for DOS.
Quick note: It's worth while to get the LBA BIOS for your card
I also ran some tests and got interesting results. Originally, I tested the controllers using the Core3 DOS benchmark and was very disappointed with the performance of the Promise DC4030-2. Eventually, I installed it in my late 1993 DX2-66 setup. When I used this rig, I really enjoyed how responsive the system was, even without using SMARTDRV.
I was curious to see how it would perform in my primary VLB configuration with the DX4. I also used a period-correct WD Caviar 2540 hard drive. I expected it to perform well with small files and poorly with medium and larger files. Surprisingly, it outperformed every other controller in all tests—sometimes even beating the fastest controller with SMARTDRV.
The unzip test, in particular, is a great example of the advantages of having a dedicated CPU for I/O tasks, as it offloads the processing burden from the main CPU.
https://docs.google.com/spreadsheets/d/1eXksI … dit?usp=sharing
douglar wrote on 2024-02-11, 22:42:Looks like the Buslogic BT-410a is the same as a Tekram DC-680C. Do we know which came first? The Buslogic 2.05 rom contains the string "(C) Copyright 1993 Tekram Technology Co., Ltd. All rights reserved"
Very likely the DC-680C was first. The complete Tekram DC-6xx series (likely all Tekram DC-xxx) are rooted in the company Data Care (hence "DC") which has been acquired by Tekram. There are significant technological changes between the DC-680C and its predecessor, the DC-680T, like upgrading from an 80186 to an 80286. Nevertheless, the firmware of the 680C is clearly a derivative work of the firmware of the 680T, so there is little reason to believe, that BusLogic developed a clean-room clone of the 680T. Furthermore, I found a photo of a BT-410a that clearly has a sticker on the main ASIC. The sticker reads "BusLogic BA69C10". The DC-680C has an un-stickered chip called "Tekram TRM680C".
Given all these facts, it is extremely likely that the BusLogic is the rebadged variant, and the Tekram the original one.
arncht wrote on 2025-05-02, 13:23:I also ran some tests and got interesting results. Originally, I tested the controllers using the Core3 DOS benchmark and was ve […]
I also ran some tests and got interesting results. Originally, I tested the controllers using the Core3 DOS benchmark and was very disappointed with the performance of the Promise DC4030-2. Eventually, I installed it in my late 1993 DX2-66 setup. When I used this rig, I really enjoyed how responsive the system was, even without using SMARTDRV.
I was curious to see how it would perform in my primary VLB configuration with the DX4. I also used a period-correct WD Caviar 2540 hard drive. I expected it to perform well with small files and poorly with medium and larger files. Surprisingly, it outperformed every other controller in all tests—sometimes even beating the fastest controller with SMARTDRV.
The unzip test, in particular, is a great example of the advantages of having a dedicated CPU for I/O tasks, as it offloads the processing burden from the main CPU.
https://docs.google.com/spreadsheets/d/1eXksI … dit?usp=sharing
Tnx for your test and table! Very interesting will be combination of IDE CACHE CARD 4MB (faster HDD operations) plus SMARTDRV with 128KB (faster file system operations).
Need help? Begin with photo and model of your hardware 😉
Babasha wrote on 2025-05-02, 15:11:arncht wrote on 2025-05-02, 13:23:I also ran some tests and got interesting results. Originally, I tested the controllers using the Core3 DOS benchmark and was ve […]
I also ran some tests and got interesting results. Originally, I tested the controllers using the Core3 DOS benchmark and was very disappointed with the performance of the Promise DC4030-2. Eventually, I installed it in my late 1993 DX2-66 setup. When I used this rig, I really enjoyed how responsive the system was, even without using SMARTDRV.
I was curious to see how it would perform in my primary VLB configuration with the DX4. I also used a period-correct WD Caviar 2540 hard drive. I expected it to perform well with small files and poorly with medium and larger files. Surprisingly, it outperformed every other controller in all tests—sometimes even beating the fastest controller with SMARTDRV.
The unzip test, in particular, is a great example of the advantages of having a dedicated CPU for I/O tasks, as it offloads the processing burden from the main CPU.
https://docs.google.com/spreadsheets/d/1eXksI … dit?usp=sharing
Tnx for your test and table! Very interesting will be combination of IDE CACHE CARD 4MB (faster HDD operations) plus SMARTDRV with 128KB (faster file system operations).
You are welcome. In real mode the smartdrv uses too much ram.
arncht wrote on 2025-05-02, 13:23:I also ran some tests and got interesting results. Originally, I tested the controllers using the Core3 DOS benchmark and was ve […]
I also ran some tests and got interesting results. Originally, I tested the controllers using the Core3 DOS benchmark and was very disappointed with the performance of the Promise DC4030-2. Eventually, I installed it in my late 1993 DX2-66 setup. When I used this rig, I really enjoyed how responsive the system was, even without using SMARTDRV.
I was curious to see how it would perform in my primary VLB configuration with the DX4. I also used a period-correct WD Caviar 2540 hard drive. I expected it to perform well with small files and poorly with medium and larger files. Surprisingly, it outperformed every other controller in all tests—sometimes even beating the fastest controller with SMARTDRV.
The unzip test, in particular, is a great example of the advantages of having a dedicated CPU for I/O tasks, as it offloads the processing burden from the main CPU.
https://docs.google.com/spreadsheets/d/1eXksI … dit?usp=sharing
Nice testing.
A couple notes:
Do you guys have a consensus on hdd benchmarking apps for DOS? It seems like the needle has pointed in several directions over the years.
Re: DOS Zip - are those benchmarks timed manually, or is that a function of some sort of benchmarking software? Only ever used pkzip/unzip.
I saw the Descent zip, and that made me think of “real world” benchmarking as well. (Timing the press of Enter on executing Descent.exe and reaching Parallax/Title screen)
douglar wrote on 2025-05-02, 19:44:Nice testing. […]
arncht wrote on 2025-05-02, 13:23:I also ran some tests and got interesting results. Originally, I tested the controllers using the Core3 DOS benchmark and was ve […]
I also ran some tests and got interesting results. Originally, I tested the controllers using the Core3 DOS benchmark and was very disappointed with the performance of the Promise DC4030-2. Eventually, I installed it in my late 1993 DX2-66 setup. When I used this rig, I really enjoyed how responsive the system was, even without using SMARTDRV.
I was curious to see how it would perform in my primary VLB configuration with the DX4. I also used a period-correct WD Caviar 2540 hard drive. I expected it to perform well with small files and poorly with medium and larger files. Surprisingly, it outperformed every other controller in all tests—sometimes even beating the fastest controller with SMARTDRV.
The unzip test, in particular, is a great example of the advantages of having a dedicated CPU for I/O tasks, as it offloads the processing burden from the main CPU.
https://docs.google.com/spreadsheets/d/1eXksI … dit?usp=sharing
Nice testing.
A couple notes:
- The PIO speed for most Promise 20230B cards is determined by jumper, not by driver. How do you have JP6 configured? Speed 2 (turbo) Pins 2 & 3, 5 & 6 closed?
- Even though the WD Caviar 2540 is only PIO3, it should support multi-sector transfers. While most PATA solid state solutions report support for multi-sector transfer commands, very few actually support M.S.T. values > 1. M.S.T. should give the Caviar drive an edge on tasks that do sequential reads & writes, like file compression. Less chatter and less latency between sectors. Do you have it enabled in the BIOS or Drivers?
- DOS zip is single threaded so IO transfers are going to stop the 486 main CPU, DC4030 or no. Maybe there there is some sort of read-ahead caching going on in the DC4030? It is sequential reads, after all. That could be handy if that's the case.
Yes, I’ve configured every card for the highest possible speed via jumpers — I went through all of them to find the optimal settings. The UMC controller can theoretically be faster, but it becomes unstable and starts corrupting the drive with bad sectors — I’ve had that happen once already.
Multiword transfers are enabled in the BIOS, but I never use DOS drivers — even though some later models could support DMA transfers, which would significantly boost performance.
Under DOS, without any software caching, the size of the HDD’s onboard cache and the seek time are both critical. For example, in my DX4 system, I use a more modern drive (silver label, from 1995), which feels noticeably faster when it comes to head movement. The black WD 2540, on the other hand, is based on an older design — the first of the series (31000, maybe even 31200 as well). I chose it because it lacks LBA support and fits the era of these controllers better.
While the '95 Quantum Fireball is significantly faster in benchmarks, under pure DOS it feels more stuttery. Its higher sequential write speed doesn’t really shine here — the WD drive feels smoother in use.
I tested the controllers with the exact same procedure every time, so that the drive would write to the same area. During ZIP operations, there was no sign of caching, while for file copies (writing back the extracted content), there was.
From what I observed, the controller handles write operations completely asynchronously — the CPU is already doing something else by the time the controller finishes writing. That could make a big difference, especially if it can handle larger blocks at once with fewer head movements.
To me, this seems like the most plausible explanation. It’s probably no coincidence that this controller was so popular at the time — and then disappeared quickly once Windows and software caching became the norm.
CkRtech wrote on 2025-05-03, 02:49:Do you guys have a consensus on hdd benchmarking apps for DOS? It seems like the needle has pointed in several directions over the years.
Re: DOS Zip - are those benchmarks timed manually, or is that a function of some sort of benchmarking software? Only ever used pkzip/unzip.
I saw the Descent zip, and that made me think of “real world” benchmarking as well. (Timing the press of Enter on executing Descent.exe and reaching Parallax/Title screen)
Of course not... that’s what synthetic benchmarks are for. I’ve been meaning to revisit the ZD benchmarks — back in the early ‘90s, they were among the very first tools I used for HDD benchmarking.
In this particular case, I created a test scenario based on what typically takes the most time for me and where I actually notice the wait. I store most games in compressed form, and when I want to play one or plan to play several, I extract them first — that’s where the idea came from. File copying is another case where delays are noticeable.
Launching a game with GUS patches might take a bit longer, but on a DX4 system, pretty much everything loads fast, with no significant perceived difference. That said, the 1995 version of Cubic Player already supported playing modules directly from ZIP files — and even there, you could feel the benefits of a good cache controller.
But these are all personal use cases — everyone uses their retro setup differently.
That said, I think low-level benchmarks mostly focus on raw hardware throughput and low-level I/O operations. Once you introduce any kind of caching layer, the results stop reflecting what the user actually experiences. Of course, something similar happens even with SMARTDRV — so the usefulness of these tests can already be questioned.
Especially since caching brings its own set of issues: you might need to update the BIOS to support LBA (though there is a driver patch for that — I’ll have a look at it), there are often no available I/O ports, you might need an extra card, or the controller might not support ATAPI CD-ROMs — neither as slave nor on a separate channel.
I’m planning to try pairing it with an ISA controller, since I absolutely need CD-ROM support. My 1993 DX2 machine didn’t have one, but for the 1994/95 DX4 build, it’s essential. In the 1993 setup, I used a simple I/O card to avoid controller overlap, but with a multi-function ISA controller, I’ll need to be careful not to cause conflicts between the floppy and IDE sections, and make sure the system remains bootable. If that doesn’t work out, I’ll just go back to using a standard VLB controller.
Do you know how to reset a 4030VL-2 card? I changed its setting to secondary, and now it seems to cause a conflict — since then, I can’t access the BIOS anymore, the system freezes before it gets that far. I’ve removed the card from the machine hoping it would clear the setting. Any ideas on how to fully reset or clear the configuration?
Damn… nothing works - maybe if i put to another mainboard. Currently the card bricked, the Asus board supports EIDE, and i can see the controller as second channel (drive e - irq15), and guess the controller does not support that, and freezes at the bios. Nobody had similar issue?