• Please review our updated Terms and Rules here

Enabling UDMA on system that supports it but no option in BIOS

geiger9

Member
Joined
Feb 10, 2022
Messages
10
The southbridge in this machine is a VT8231. According to the datasheet there are registers there that can be flipped on to enable UDMA. My storage solution supports UDMA. I have verified this using another machine.

Thanks to some VERY nice Discord users, I now have a modded BIOS for my machine that someone programmed an ISA Expansion/Option ROM for and that ROM flips the necessary bits to enable UDMA. I can confirm this works by using WPCREDIT and viewing the bits on the appropriate registers. However, UDMA is still not enabled. On my working UDMA system I can simply use the old DOS program Spinrite to go look at the details of the drive and it confirms whether or not UDMA is in use. When I try that on this problem machine, it says it is not being used. I also have tried viewing in device manager (Both WinXP and Win2k) if UDMA is enabled but it is not.

What else could we try here?
 
In 2k/XP you should be able to right-click on the 'Primary IDE Channel' in the device manager to bring up a properties window with DMA settings. Maybe you need the Via chipset drivers installed?

If you want UDMA under DOS you could try Jack Ellis drivers.
 
In 2k/XP you should be able to right-click on the 'Primary IDE Channel' in the device manager to bring up a properties window with DMA settings. Maybe you need the Via chipset drivers installed?

If you want UDMA under DOS you could try Jack Ellis drivers.

You're right, that's where the option SHOULD be. I go in there and it says it's only operating in DMA Mode. I have confirmed using another system with a VT8327R chipset (which DOES support UDMA) that I can go in to that area in the device manager and it says my storage device is operating in UDMA mode 2.

Does flipping these bits for UDMA have to be done earlier in the BIOS process? Is the ISA Expansion/Option ROM being run too late? I can't understand why the manufacturer would remove the option in BIOS to enable UDMA when the southbridge is perfectly capable of it. It's not like they had to add in custom code. They DID however had to take the trouble to find the code referencing these options and remove them from the stock BIOS rather than leaving them in place. Weird.
 
I can't understand why the manufacturer would remove the option in BIOS to enable UDMA when the southbridge is perfectly capable of it. It's not like they had to add in custom code. They DID however had to take the trouble to find the code referencing these options and remove them from the stock BIOS rather than leaving them in place. Weird.

If you weren't around in that era, you wouldn't know about VIA having terrible problems with their IDE controllers. Their 82C686B Southbridge was infamous for its hard drive corruption problems, especially when paired with a Sound Blaster Live! sound card. The SB Live! wasn't an incompatibility, but it exposed a bug with the 82C686B where it couldn't deal with heavy PCI bus contention and the bus became corrupted.

The VT8231 was supposed to be the fix, it created a separate proprietary "VT Link" bus for communication with the North Bridge, thus reducing the PCI bus load. But they still continued to have problems long after that.

The motherboard manufacturer completely disabling UDMA could have been them trying to reduce the potential of massive disk corruption by preventing the disk controller from going into higher speed modes. If the BIOS was shared with other boards during that time, it could have just been a bandaid that they applied to everything. It wouldn't be the first or last time a motherboard manufacturer killed off advertised functionality to try and fix some hardware fault.

The VT8237(R) was another hot garbage chipset for a different reason. VIA didn't implement their integrated SATA150 controllers properly, which results in broken forwards compatibility. SATA300/600 drives will not be detected on a VT8237(R) chipset and won't work. The only "fix" is if your SATA drive has a "downshift" mode, where it can force itself into SATA150 operation. Most SATA300 mechanical hard drives had this via a jumper, but no optical drive did. SSDs most certainly don't. By the time SATA600 drives came around, the backwards compatibility downshift mode almost entirely vanished.
 
Back
Top