VOGONS


First post, by totoro

User metadata
Rank Newbie
Rank
Newbie

Hello,

This is my first post in this forum. I like to tinker with computer hardware and lately been bitten by the retro-bug. It is fun to build some common or high end systems from back in the day and experience their glory once again. I find this forum to be a great resource in this en-devour.

I have encountered many motherboards with VIA Chipsets in my early days of computing and, as as they were common then, so they are commonly available now as well. At least where I live. My experience with VIA Chipsets always has always been a mixed bag tough. I find them to be quite finicky, but with decent potential. Depending on the BIOS implementation and finding the right drivers, they can perform pretty well and also can be very flexible. Last, but not least, motherboards with VIA Chipsets tend to cost less.

That said, the main and most troublesome issue I had with them 15-20 years ago and now is their IDE performance! The DMA never seemed to work right with VIA for some obscure reason! For me this is evident both on Windows 98 and 2k/XP systems. If I use normal spinning hard drive either with IDE interface or SATA drive through any sort of adapter, I can enable DMA mode on Win98 (and on 2k/XP it is enabled automatically or so it seems), however, the actual desktop experience is not great. Startup is choppy, the system is laggy when installing software of doing any light to moderate Drive IO involved tasks. If I use any sort of sata ssd drive via adapters, then I was never able to enable DMA at all! I check the DMA checkbox, then system reboots as normal, but after reboot I find the DMA unchecked again and the same poor and choppy desktop experience. It does not seem to matter what kind of drivers I use.

For the longest time this drove me nuts and made me to prefer systems with Intel Chipsets, as they Just Work (TM)!

And now, after 20 years, the mistery is solved!

Turns out, when the Chipset driver is installed, only the main (father/root) PCI IDE Controler driver is updated to use the VIA driver. Both Primary and Secondary controllers remain using generic Microsoft driver and thus ruining the system compatibility and performance! Once I've figured to actually try and manually force these to use Bus Master IDE controller drivers from VIA I was left amazed! The DMA mode started to work properly and the performance both with spinning disks and SSD's is now AMAZING! No more laggy, choppy stuff happening, all is smooth and overall, very fast!

So there you have it, hope this helps some one out!

Attachments

Last edited by totoro on 2022-09-28, 21:21. Edited 1 time in total.

Penguin Workshop
https://viekelis.lt

Reply 1 of 14, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

I appreciate it. I just wish you could have made this discovery 25 years ago to spare me the headaches.

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 2 of 14, by igna78

User metadata
Rank Member
Rank
Member

Very interesting. 😄
Could you explain in detail (step by step) how you did it?
Sorry but I don't have much experience with VIA chipset motherboards. Thank you for your time 😉

Reply 3 of 14, by totoro

User metadata
Rank Newbie
Rank
Newbie

Sure, I would like to prepare a more comprehensive howto, hopefully I can post it later today. Just wondering, is this a known issue or not. On many occasions I've tried to google this problem out, but in the best case was left with advice to try out different drivers... Well, turns out it was a driver issue after all. 😀

Anyhow, basically you just right click on the primary/secondary controller, open Driver tab, verify if it's microsoft driver. If it is, then select update driver, say that you would pick the driver from the list, point to the extracted via 4in1 package, select VIAVSD.INF file in the WIN9X sub-directory of the archive and then select "Bus Master IDE controller". Might have to tell it to show all drivers, not just compatible ones. After reboot check again the driver tab (should say it is a VIA driver) and the DMA checkbox on the hard drive.

And yeah, it kind of sucks to find this stuff out after so many years! Still, better late than never I guess...

Penguin Workshop
https://viekelis.lt

Reply 4 of 14, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

Hi,
I do not want to be a party killer, but I have just checked this on my Win98SE/VIA KT133a PC. It's worth mentioning that I did not have DMA enabling problems even with the original config, just a little high CPU usage/low transfer speed during disk operations.
The starting situation was the same, both the primary and secondary disk controllers used MS drivers, only the Master had explicit VIA driver provider. And the names of the controllers were Primary IDE controller (dual fifo) and Secondary IDE controller (dual fifo) respectively.

ide_old.png
Filename
ide_old.png
File size
6.87 KiB
Views
1208 views
File license
Public domain

After forcing the VIA driver on both controllers they really changed the name and driver vendor. The controllers became Primary Bus Master IDE controller (dual fifo) and Secondary Bus Master IDE controller (dual fifo) respectively and the driver Provider became Via Technologies, Inc. instead of Microsoft.

ide_new2.png
Filename
ide_new2.png
File size
25.16 KiB
Views
1208 views
File license
Public domain

But the important thing is that the used drivers remained the same. Both the old Microsoft and the new VIA controller drivers really use the exact same 2 Microsoft driver files. Namely ESDI_506.pdr and IOS.vxd. And in my case nothing has changed in terms of performance/behavior when tested with disk benchmarks and games.
Looking at VIAVSD.INF has revealed that the setup inf file really does not contain any separate driver for the controllers, only the VIA BUS Master PCI IDE Controller has a real VIA driver that was already installed originally (vatapi.vxd). So on my side these changes seem to be only cosmetic.
I do not say that for others these changes cannot do miracles, but maybe ones who have only some performance problems like me should be careful about too high expectations.
Bye.

content of my VIAVSD.INF:

;VIA Technologies, INC
;VIA VT82C580 Bus Master IDE
;Copyright 1993 Microsoft Corporation

[version]
signature="$CHICAGO$"
Class=hdc
ClassGUID={4d36e96a-e325-11ce-bfc1-08002be10318}
Provider=%VIA%
CatalogFile=viadsk.cat
DriverVer=03/26/2001,2.0.950.2110

[ClassInstall]
AddReg=HDC_Class

[HDC_Class]
HKR,,,,%HDCClassName%

[Manufacturer]
%VIA-Drivers%=VIATECH_HDC

[VIATECH_HDC]
%PCI\VEN_1106&DEV_0571.DeviceDesc%= DUAL_VIAIDE, PCI\VEN_1106&DEV_0571 ;Generic bus master PCI IDE
%MF\VIAPRIMARY.DeviceDesc% = VIAIDE, MF\GOODPRIMARY
%MF\VIASECONDARY.DeviceDesc% = VIAIDE, MF\GOODSECONDARY

[DUAL_VIAIDE]
Include=mshdc.inf
Needs=DUAL_GOOD_IDE
CopyFiles= MoveVSD

[VIAIDE]
Include=mshdc.inf
Needs=GOOD_IDE

[VIAIDE.PosDup]
Include=mshdc.inf
Needs=DUAL_GOOD_IDE.PosDup

[DUAL_VIAIDE.HW]
Include=mshdc.inf
Needs=DUAL_GOOD_IDE.HW

[DestinationDirs]
DefaultDestDir = 12 ; IOSubsys directory

[SourceDisksFiles]
vatapi.vxd = 1

[MoveVSD]
vatapi.vxd

[SourceDisksNames]
1 = %VIA_DiskNames%,,

[Strings]
VIA ="VIA Technologies, Inc."
VIA_DiskNames = ""
HDCClassName = "Hard disk controllers"
VIA-Drivers = "VIA Technologies, Inc."
PCI\VEN_1106&DEV_0571.DeviceDesc= "VIA Bus Master PCI IDE Controller"
MF\VIAPRIMARY.DeviceDesc= "Primary Bus Master IDE controller (dual fifo)"
MF\VIASECONDARY.DeviceDesc= "Secondary Bus Master IDE controller (dual fifo)"

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 5 of 14, by totoro

User metadata
Rank Newbie
Rank
Newbie

Very interesting! Indeed the actual driver files remain Microsoft ESDI_506.pdr and IOS.vxd just as in your case, so indeed this seems to be cosmetic change. As it is not my intention to offer snake oils, I have tried to reproduce the effect once again, thus reinstalled fresh Windows 98SE.

The Chipset I am using right now is VIA KLE133 and I'm working with VIA 4 in 1 driver version 4.35 package. I am using a Samsung EVO 850 250GB Sata SSD drive connected via cheap Gembird IDE to Sata bi-directional adapter like This One

Right after the installation, without any driver updates, I've noticed that Primary IDE controler has stock ESDI_506.pdr version 4.10.2222 and IOS.vxd also 4.10.2222.

stock_drv.png
Filename
stock_drv.png
File size
5.66 KiB
Views
1157 views
File license
Fair use/fair dealing exception

I have proceeded to install the 4 in 1 driver pack and after installation ESDI_506.pdr file remained version 4.10.2222, but IOS.vxd was upgraded to version 4.10.225. And now I've tried to enable DMA mode for an SSD drive and, to my demise, it worked out fine indeed! That has literally NEVER EVER happened to me before! Very very strange. So I've took a disk speed benchmark and it seemed to perform really well!

diskspeed_with4in1_stock_dma.png
Filename
diskspeed_with4in1_stock_dma.png
File size
8.43 KiB
Views
1157 views
File license
Fair use/fair dealing exception

Then I have proceeded to manually update Primary and Secondary IDE drivers as described in the original post. Then ran the disk test again. And it does seem to have a slight effect on disk performance somehow, but overall it looks to be a slightly negative one now...

diskspeed_with4in1_fullvia_dma.png
Filename
diskspeed_with4in1_fullvia_dma.png
File size
9.29 KiB
Views
1157 views
File license
Fair use/fair dealing exception

So ain't this a bombshell, eh? Now I'm really confused. I have not touched the BIOS settings or the rest of the system hardware, yet I have really never been able to get DMA mode to work with any SSD drive ever until messing with this yesterday. I'll definitely keep an eye on this stuff when I'll have different board to play with. Until then this would remain one of the things to try when dealing with DMA mode issues on VIA Chipsets, I suppose it may or may not help.

Penguin Workshop
https://viekelis.lt

Reply 6 of 14, by totoro

User metadata
Rank Newbie
Rank
Newbie

This is just a little guide for those who would like to experiment.

It is all very simple really. If DMA mode is working fine for you, then, I suppose, there is no benefit in doing this. However, If, after installing VIA 4 in 1 Chipset driver pack, there is trouble enabling DMA mode, or the disk performance is still sub-optimal, it may be worth to try this.

NOTE: I was unable to revert this, for some reason, Microsoft's driver cease to exit in the driver list!

Basically one need to go to the Device Manager and find Primary IDE Controller (dual fifo) device.:

1. Right click on it and select properties
Select Driver tab and click on Update Driver button:

step1.png
Filename
step1.png
File size
5.27 KiB
Views
1126 views
File license
Fair use/fair dealing exception

2. Choose to Display a list of all drivers:

step2.png
Filename
step2.png
File size
5.86 KiB
Views
1126 views
File license
Fair use/fair dealing exception

3. Find VIA Technologies, Inc in the manufacturers list and select Primary Bus Master IDE Controller (dual fifo) and click next.

step3.png
Filename
step3.png
File size
6.09 KiB
Views
1126 views
File license
Fair use/fair dealing exception

4. If asked for viadsk.cat file, point installer to the location of your extracted VIA 4 in 1 Chipset driver pack, select WIN9X subdirectory

step4.png
Filename
step4.png
File size
6.25 KiB
Views
1126 views
File license
Fair use/fair dealing exception

Windows will ask for reboot, decline, repeat the same steps for Secondary controller, then reboot and test. Hopefully this will help to enable DMA mode, or at least it should not do any harm.

Last edited by totoro on 2022-09-28, 18:32. Edited 1 time in total.

Penguin Workshop
https://viekelis.lt

Reply 7 of 14, by AlexZ

User metadata
Rank Member
Rank
Member
totoro wrote on 2022-09-28, 15:01:

So ain't this a bombshell, eh? Now I'm really confused. I have not touched the BIOS settings

Most BIOS settings shouldn't matter in Windows as Windows drivers don't use BIOS to access hard drives. That also goes for any drives configured in BIOS. That is only necessary to be able to boot.

VIA is infamous for poor performance and instability. It only managed to fix its image late in the Athlon XP era before fading into obscurity. Always use Intel, Sis or ALi chipset whenever possible except for Athlon XP / 64.

Pentium III 900E, ECS P6BXT-A+, 384MB RAM, NVIDIA GeForce FX 5600 128MB, Voodoo 2 12MB, 80GB HDD, Yamaha SM718 ISA, 19" AOC 9GlrA
Athlon 64 3400+, MSI K8T Neo V, 1GB RAM, NVIDIA GeForce 7600GT 512MB, 250GB HDD, Sound Blaster Audigy 2 ZS

Reply 8 of 14, by totoro

User metadata
Rank Newbie
Rank
Newbie
AlexZ wrote on 2022-09-28, 18:21:

VIA is infamous for poor performance and instability.

You don't say... I've just found another motherboard, this time featuring VIA Apollo Pro 133T Chipset, for which Via 4 in 1 driver version 4.43 generally is more appropriate, and to no surprise, the DMA just does not work. Same classic issue, I check the Chekcbox, reboot and... no DMA.

I've tried this trick with manual driver update and... it did not work this time. So, I have tried older driver, the same I was using previously, version 4.35, then the trick worked, however, the actual performance is dismal... It seems that only disk cache is working at the proper speed, but the disk itself performs worse than when using PIO mode.

Noticed that after using driver version 4.43 Primary IDE Controller has Microsoft ESDI_506.pdr version 4.10.2230 and IOS.vxd is 4.10.2225

Tried to use a better ide -> m.2 sata adapter, which features 80 conductor cable and all. But no go.

Last edited by totoro on 2022-09-28, 21:25. Edited 2 times in total.

Penguin Workshop
https://viekelis.lt

Reply 9 of 14, by Joseph_Joestar

User metadata
Rank l33t
Rank
l33t

On some VIA chipsets like the KT133A it helps to use a SATA to IDE adapter which is based on a Marvell chip. They are more expensive but tend to work more reliably in such cases, compared to the adapters based on a JMicron chip.

Phil recently made a video on one of those Marvell based adapters.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Athlon64 3400+ / Asus K8V-MX / 5900XT / Audigy2
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi

Reply 10 of 14, by darry

User metadata
Rank l33t++
Rank
l33t++
Joseph_Joestar wrote on 2022-09-28, 19:13:

On some VIA chipsets like the KT133A it helps to use a SATA to IDE adapter which is based on a Marvell chip. They are more expensive but tend to work more reliably in such cases, compared to the adapters based on a JMicron chip.

Phil recently made a video on one of those Marvell based adapters.

I concur. There were several threads on this. Here are some of them .

EDIT: Especially this [SOLVED] SSD on TUV4X...impossible [IDE2SAT2 Startech adapter or nothing]

Windows 98 SE on SSD 128 GB
Re: Master/Slave option for modern storage
Re: Planning to install SSD in my Windows 98 machine. Help, advice, suggestions, etc.?
Re: Gigabyte 6bxc with PCI SATA HBA

Reply 11 of 14, by totoro

User metadata
Rank Newbie
Rank
Newbie

Thanks! I'll sure read through them. Meanwhile, another crazy discovery.

I have two different ssd's with two different adapters. EVO+Gembird and m.2 one. Now on this setup, the m.2 adapter does not use the DMA, but performance is OK-ish (feels like PIO4 or simmilar). I seem to be able to use EVO+Gembird in DMA mode. I have identical Windows 98 installed on both.

And here is the strange thing, if I boot from the EVO in primary channel, then DMA is enabled and performance is beyond dismal. If I switch them (EVO goes to secondary IDE, and M.2 to primary), then boot from M.2 and then EVO also use the DMA mode, but now performance is Excellent! It's very snappy, it saturates whole udma bandwith nicely and pushes well over 60MB/sec while testing. Basically it works as it should. Really funny.

So, now I disconnect the M.2 SSD from the system, and leave EVO connected to the secondary IDE port, boot from it and the performance is still Excellent! It's really fast and proper. And then if I return it to the primary channel, then it's dismal again. Really, what chore 👎

Penguin Workshop
https://viekelis.lt

Reply 12 of 14, by darry

User metadata
Rank l33t++
Rank
l33t++

I gave up on the 686B's IDE controllers decades ago. Thanks for adding to my list of reasons 😉

Also, ESDI506.PDR has its share of quirks, even on Intel platforms. Did VIA ever release a Windows 9x IDE driver implemention not based on ESDI506.PDR in whole or in part ?

EDIT: Looks like they might have. See https://www.techspot.com/drivers/driver/file/ … formation/1158/

Reply 13 of 14, by igna78

User metadata
Rank Member
Rank
Member
totoro wrote on 2022-09-28, 19:56:
Thanks! I'll sure read through them. Meanwhile, another crazy discovery. […]
Show full quote

Thanks! I'll sure read through them. Meanwhile, another crazy discovery.

I have two different ssd's with two different adapters. EVO+Gembird and m.2 one. Now on this setup, the m.2 adapter does not use the DMA, but performance is OK-ish (feels like PIO4 or simmilar). I seem to be able to use EVO+Gembird in DMA mode. I have identical Windows 98 installed on both.

And here is the strange thing, if I boot from the EVO in primary channel, then DMA is enabled and performance is beyond dismal. If I switch them (EVO goes to secondary IDE, and M.2 to primary), then boot from M.2 and then EVO also use the DMA mode, but now performance is Excellent! It's very snappy, it saturates whole udma bandwith nicely and pushes well over 60MB/sec while testing. Basically it works as it should. Really funny.

So, now I disconnect the M.2 SSD from the system, and leave EVO connected to the secondary IDE port, boot from it and the performance is still Excellent! It's really fast and proper. And then if I return it to the primary channel, then it's dismal again. Really, what chore 👎

I have read all the updates and anyway thank you for opening this thread: it's nice to keep learning new things about the old hardware / software even after all these years 😄

Reply 14 of 14, by totoro

User metadata
Rank Newbie
Rank
Newbie

Well, at least it was fun 😃 I still have some VIA boards laying around, but I'll be back to using boards with Intel Chipsets now. At least until I can get my hands on some decent adapter with a Marvel chip. It would be interesting to try all those VIA boards again then.

Penguin Workshop
https://viekelis.lt