VOGONS


VIAFSB - DOS FSB utility for VIA chipsets

Topic actions

First post, by enaiel

User metadata
Rank Member
Rank
Member

VIAFSB is a little DOS utility I wrote for changing the FSB on the couple of VIA motherboards that I own. Why should only owners of 440BX motherboards have all the fun? Sure, 440BX motherboards are faster, more stable, and more cooler... but at least now I can change the FSB on my VIA motherboards in DOS just like they can! Anyway, I thought I'll share it in case it might be useful to someone else. It initially only supported the 2 PLL that I had, but have since added support for more. If you can find the datasheet for your PLL, I can try to add support for it.

CURRENT SUPPORTED

VIA Chipsets: VT82C596A, VT82C596B , VT82C686/A/B, VT8233, VT8233A, VT8235
PLL: ICS94211, ICS94215, ICS94241, ICS950908, ICS9148-37,CY28316, PLL205-03, W124, W156C, W83194BR-39B, W83195R-08

USAGE

VIAFSB pll_name [fsb_freq[/pci_freq]] [-u|--unsafe]

EXAMPLE

Get FSB: VIAFSB ICS94211
Set FSB: VIAFSB ICS94211 100
Set FSB/PCI: VIAFSB ICS94211 100.00/33.33
Set FSB/PCI in UNSAFE MODE: VIAFSB ICS94211 150.00/37.50 -u

DOWNLOADS

Filename
viafsb-0.2.0.zip
File size
86.35 KiB
Downloads
150 downloads
File license
Fair use/fair dealing exception
Filename
viafsb-0.1.9.zip
File size
85.08 KiB
Downloads
57 downloads
File license
Fair use/fair dealing exception
Filename
viafsb-0.1.8.zip
File size
87.17 KiB
Downloads
51 downloads
File license
Fair use/fair dealing exception

(Total downloads of previous versions: 14!)

PARAMETERS

-h|--help: Print the Help screen.
[pll_name]: Select the PLL to use. If not supported, will list all supported PLL.
[fsb_freq]: Select the FSB frequency to set. If not supported by PLL, will list all FSB frequencies supported by the selected PLL.
[pci_freq]: Select the PCI frequency for the selected FSB frequency. Will determine the PCI divider.
-u|--unsafe: Run in UNSAFE MODE and allow FSB frequency changes across all PCI dividers. Otherwise, tool will restrict FSB frequency changes to those within the current PCI divider.

FEATURES

  • Allows change of FSB frequency without requiring a restart.
  • Runs on a 386 or later x86 processor.
  • Compatible with several VIA chipsets.
  • Compatible with DOS, with or without EMM386.
  • Compatible with Windows 95, 98 and ME.
  • Requires CWSDPMI.exe or a compatible DPMI host.
  • Can be run from a batch file, or even from autoexec.bat.

DISCLAIMER

WARNING: USE AT YOUR OWN RISK! This software should not be used for mission critical applications. Author is not responsible for any damage caused to your computer from using this software.

ALTERNATIVES

CPUFSB/SetFSB/SoftFSB for Windows.
RayeR's SMB for Intel chipsets for DOS.

CREDITS

Special thanks to Vogons member @EduBat for help decoding ICS94211 datasheet.
Special thanks to Vogons members @jheronimus, @Zeerex, @elcrys, @havli and @Falcosoft for help testing the program.
Built using DJGPP. You can get your own copy of DJGPP from https://www.delorie.com/djgpp/

SCREENSHOT

viafsb-0.1.8.jpg
Filename
viafsb-0.1.8.jpg
File size
1.56 MiB
Views
2486 views
File license
Fair use/fair dealing exception

TESTED

Motherboard               | Southbridge  | PLL         
--------------------------+--------------+--------------
MSI MS-6369 | VT82C686/A/B | ICS94211
QDI P6V694T/A10T | VT82C686/A/B | CY28316
QDI P6V694T/A10T | VT82C686/A/B | ICS94241
ABIT KT7A | VT82C686/A/B | PLL-205-03
Unbranded MVP4 | VT82C686/A/B | W156C
PCPartner AP133TAS3-T205C | VT82C686/A/B | ICS94211

WARNING: USE AT YOUR OWN RISK!

FAQ
Q. I do not know what PLL is on my motherboard. The util does not support my PLL. Can I use any PLL that has a similar name to mine?
A. You cannot use just any PLL, even if they are similarly named, because each PLL uses different bits to set the FSB. Also, you cannot google for this information as motherboard manufacturers use differnet PLL chips with different board revisions, sometimes with the same revision as well! If the util doesn't support your PLL, please provide me the datasheet for it, and I will try to add support for it. See this post for what the PLL on your motherboard looks like.

Q. Why does my computer crash when I use this utility to change the FSB?
A. Stability when changing FSB depends on your motherboard. If the selected FSB hangs the computer when changed from the BIOS, or using programs like CPUFSB/SetFSB/SoftFSB, it will also hang when changed using this program. Also, FSB that is latched by hardware jumpers are inherently more stable than those that are selected in the BIOS or set using this program, as the latches are not trying to change the FSB on a running CPU.

Q. How do I choose the right FSB frequencies when changing the FSB?
A. With these VIA chipsets, only FSB frequencies that are within the same PCI divider work. Going across PCI dividers crashes the computer, requiring a hard reset. To find the divider, divide the FSB frequency by the PCI frequency. Even within the same PCI divider, the edge values are less stable than center values. The only way to change the PCI divider is to change the boot FSB frequency using hardware jumpers or from the BIOS. Not all motherboards have these jumpers or this ability in their BIOS. VIAFSB will now by default restrict the FSB to only those within the current PCI divider. Use the new UNSAFE MODE to override this behavior.

Q. How do I check if the FSB has actually changed?
Q. I use ChkCPU to confirm FSB changes.

Q. How do I change the multiplier on my CPU?
Q. I use SetMul to change the multiplier on my VIA C3 CPU.

Last edited by enaiel on 2022-04-04, 16:26. Edited 16 times in total.

#1 VIA C3 Ezra-T 1.0GHz / MSI MS-6368 / Voodoo2+ViRGE GX / SBPro2+YMF744+AWE64+SC-7
#2 Pentium III-S Tualatin 1.40GHz / QDI A10T / Voodoo3 3000+GF4 Ti4200 / Audigy+AU8830+SC-50

Reply 1 of 70, by enaiel

User metadata
Rank Member
Rank
Member

Looking for any feedback, but I understand that owning a motherboard with a VIA chipset has a kind of "stigma" associated with it on Vogons - no one wants to willingly admit to owning one! A bit like shopping at Walmart (see this Onion video for reference: https://www.youtube.com/watch?v=repxFQXVsHc) 😀

It's okay, if you want, you can say something like: I don't personally own a VIA motherboard, I'm just testing for a "friend"! I would really like to know if it works on someone else's machines besides my own.

#1 VIA C3 Ezra-T 1.0GHz / MSI MS-6368 / Voodoo2+ViRGE GX / SBPro2+YMF744+AWE64+SC-7
#2 Pentium III-S Tualatin 1.40GHz / QDI A10T / Voodoo3 3000+GF4 Ti4200 / Audigy+AU8830+SC-50

Reply 2 of 70, by Grem Five

User metadata
Rank Member
Rank
Member

Are you sure it is actually changing the FSB or it just telling you that so it doesnt have to say it was secretly shopping Walmart online for a replacement 440BX chipset .

I own a couple of Via boards (yeah I said it) but unclear why someone BX or Via would want to change their FSB in dos. I can give it a try but it will be a bit of time before I get around to it, I'm pretty glacial when it comes to getting anything done with my retro stuff.

Reply 3 of 70, by jheronimus

User metadata
Rank Oldbie
Rank
Oldbie

Tried on my Chaintech 6VIA5T.

It's been able to tell my FSB speed correctly using the ICS94211 option (I'm running Tualatin 1.4 at 133MHz). When I tried to change it to 100, the system froze. Weirdly, when I tried to reset it using the reset button, it didn't give any picture until I manually unplugged the power cable and turned it on again.

I've been using Win98SE boot in DOS mode (so just BootGUI=0 in msdos.sys, not reboot to MS-DOS).

The board uses ICS94211AF PLL if that matters.

That's probably expected behavior as my board doesn't even have an option to change FSB/multiplier in BIOS.

A couple of comments:

1) the tool requires cwsdpmi to run. Maybe bundle a copy. I've attached the one I used (it's from the first Google result, but I'm posting it just for additional details about my test)

Filename
CWSDPMI.EXE
File size
25.31 KiB
Downloads
48 downloads
File license
Public domain

2) seems redundant to use full PLL chip names as actual runtime options. I mean, just viafsb ics 100 would be a lot easier to type 😀

MR BIOS catalog
Unicore catalog

Reply 4 of 70, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Looking good so far, nice work, hope to use it when I get to my next via mobo thing...

Grem Five wrote on 2022-03-22, 21:31:

I can give it a try but it will be a bit of time before I get around to it, I'm pretty glacial when it comes to getting anything done with my retro stuff.

So pretty much this, but slow down ya crazy speed freak you'll get us all killed tearing around like that.
<--- moves at a speed more like continental drift 🤣

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 5 of 70, by enaiel

User metadata
Rank Member
Rank
Member
Grem Five wrote on 2022-03-22, 21:31:

Are you sure it is actually changing the FSB or it just telling you that so it doesnt have to say it was secretly shopping Walmart online for a replacement 440BX chipset .

🤣 🤣 🤣

I own a couple of Via boards (yeah I said it) but unclear why someone BX or Via would want to change their FSB in dos. I can give it a try but it will be a bit of time before I get around to it, I'm pretty glacial when it comes to getting anything done with my retro stuff.

Thanks, no hurry. It's more for downclocking for speed sensitive DOS games, but to be honest, most VIA motherboards are budget boards with no support for overclocking of any kind.

#1 VIA C3 Ezra-T 1.0GHz / MSI MS-6368 / Voodoo2+ViRGE GX / SBPro2+YMF744+AWE64+SC-7
#2 Pentium III-S Tualatin 1.40GHz / QDI A10T / Voodoo3 3000+GF4 Ti4200 / Audigy+AU8830+SC-50

Reply 6 of 70, by enaiel

User metadata
Rank Member
Rank
Member
jheronimus wrote on 2022-03-22, 22:02:

Tried on my Chaintech 6VIA5T.

It's been able to tell my FSB speed correctly using the ICS94211 option (I'm running Tualatin 1.4 at 133MHz).

Awesome, thanks so much for testing it! I had my eye on that same motherboard before I ended up settling on my QDI A10T. It's a great board in a small package!

When I tried to change it to 100, the system froze. Weirdly, when I tried to reset it using the reset button, it didn't give any […]
Show full quote

When I tried to change it to 100, the system froze. Weirdly, when I tried to reset it using the reset button, it didn't give any picture until I manually unplugged the power cable and turned it on again.

I've been using Win98SE boot in DOS mode (so just BootGUI=0 in msdos.sys, not reboot to MS-DOS).

The board uses ICS94211AF PLL if that matters.

That's probably expected behavior as my board doesn't even have an option to change FSB/multiplier in BIOS.

You're right, the motherboard was probably not designed for overclocking. Can you try a minor FSB change like to 126, and then 135? If neither of those work, then one final try to 150? Thanks!

A couple of comments:

1) the tool requires cwsdpmi to run. Maybe bundle a copy. I've attached the one I used (it's from the first Google result, but I'm posting it just for additional details about my test)

Doh! I completely forgot to mention that it needs CWSDPMI to run. I will update the first post. Thanks for bringing it up!

2) seems redundant to use full PLL chip names as actual runtime options. I mean, just viafsb ics 100 would be a lot easier to type 😀

Understood, but Integrated Circuit Systems (ICS) and Cypress (CY) make dozens of different PLL chips, and I do intend to add support for more PLLs, if requested.

Last edited by enaiel on 2022-03-23, 02:30. Edited 1 time in total.

#1 VIA C3 Ezra-T 1.0GHz / MSI MS-6368 / Voodoo2+ViRGE GX / SBPro2+YMF744+AWE64+SC-7
#2 Pentium III-S Tualatin 1.40GHz / QDI A10T / Voodoo3 3000+GF4 Ti4200 / Audigy+AU8830+SC-50

Reply 7 of 70, by enaiel

User metadata
Rank Member
Rank
Member
BitWrangler wrote on 2022-03-22, 22:17:

Looking good so far, nice work, hope to use it when I get to my next via mobo thing...

Thanks, take your time.

So pretty much this, but slow down ya crazy speed freak you'll get us all killed tearing around like that.
<--- moves at a speed more like continental drift 🤣

Okay, may be not that much time. The world may end before the continents drift any further the way things are going 😀

#1 VIA C3 Ezra-T 1.0GHz / MSI MS-6368 / Voodoo2+ViRGE GX / SBPro2+YMF744+AWE64+SC-7
#2 Pentium III-S Tualatin 1.40GHz / QDI A10T / Voodoo3 3000+GF4 Ti4200 / Audigy+AU8830+SC-50

Reply 9 of 70, by enaiel

User metadata
Rank Member
Rank
Member
Zeerex wrote on 2022-03-23, 02:54:

cwsdpmi - it complains about this in DOS however, in Windows it appears to execute without it

Thanks for testing! Yes, I forgot to mention that it needs CWSDPMI.EXE to run. If you don't already have it, it can be downloaded from here: https://www.ibiblio.org/pub/micro/pc-stuff/fr … ml/cwsdpmi.html. I have updated the first post. Did it work for you?

#1 VIA C3 Ezra-T 1.0GHz / MSI MS-6368 / Voodoo2+ViRGE GX / SBPro2+YMF744+AWE64+SC-7
#2 Pentium III-S Tualatin 1.40GHz / QDI A10T / Voodoo3 3000+GF4 Ti4200 / Audigy+AU8830+SC-50

Reply 10 of 70, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie

Awesome!

Can you please add support for the following:

PLL205-03XC (Abit KT7A)
ICS94215AF (Azza KT3-AV)

Thanks

Filename
ICS94215.pdf
File size
147.22 KiB
Downloads
48 downloads
File license
Public domain
Filename
PLL205-03XC.pdf
File size
211.49 KiB
Downloads
53 downloads
File license
Public domain

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 11 of 70, by Zeerex

User metadata
Rank Member
Rank
Member
enaiel wrote on 2022-03-23, 11:56:
Zeerex wrote on 2022-03-23, 02:54:

cwsdpmi - it complains about this in DOS however, in Windows it appears to execute without it

Thanks for testing! Yes, I forgot to mention that it needs CWSDPMI.EXE to run. If you don't already have it, it can be downloaded from here: https://www.ibiblio.org/pub/micro/pc-stuff/fr … ml/cwsdpmi.html. I have updated the first post. Did it work for you?

No, my clock generator is W156H - I have attached the datasheet.

Attachments

  • Filename
    W156H.pdf
    File size
    160.81 KiB
    Downloads
    54 downloads
    File license
    Fair use/fair dealing exception

Reply 12 of 70, by elcrys

User metadata
Rank Newbie
Rank
Newbie

I will try to test the utility on my QDI P6V694T/A10T with ICS94241. This PLL looks very similar to already supported ICS94211. I was trying to compare datasheets, but I don't know what to look for:
https://digchip.com/datasheets/parts/datashee … CS94241-pdf.php

It would be a huge help if this works because my version of the board is very limited in OC via BIOS, as discussed here:
QDI Advance 10T S370 / VIA 694T FSB settings issue

Reply 13 of 70, by enaiel

User metadata
Rank Member
Rank
Member

Released version 0.1.5 with support for additional PLLs ICS94215, ICS94241, PLL205-03, and W156C. I have updated the first post with details. @Zeerex, @mockingbird please let me know if it works with your motherboards.

elcrys wrote on 2022-03-24, 19:45:
I will try to test the utility on my QDI P6V694T/A10T with ICS94241. This PLL looks very similar to already supported ICS94211. […]
Show full quote

I will try to test the utility on my QDI P6V694T/A10T with ICS94241. This PLL looks very similar to already supported ICS94211. I was trying to compare datasheets, but I don't know what to look for:
https://digchip.com/datasheets/parts/datashee … CS94241-pdf.php

It would be a huge help if this works because my version of the board is very limited in OC via BIOS, as discussed here:
QDI Advance 10T S370 / VIA 694T FSB settings issue

Yes the PLL was very similar - only the frequency table was different, so I was able to easily add support for it. Please test and let me know. However, it's not going to expand your OC options beyond what you can already do with CPUFSB, but should be more convenient as it can run from a batch file.

#1 VIA C3 Ezra-T 1.0GHz / MSI MS-6368 / Voodoo2+ViRGE GX / SBPro2+YMF744+AWE64+SC-7
#2 Pentium III-S Tualatin 1.40GHz / QDI A10T / Voodoo3 3000+GF4 Ti4200 / Audigy+AU8830+SC-50

Reply 14 of 70, by enaiel

User metadata
Rank Member
Rank
Member

A note on testing VIAFSB:

Try to use a freq that is known to work with your motherboard. A freq that can be set in your BIOS or using CPUFSB/SetFSB/SoftFSB in Windows, that doesn't hang or restart your PC. Otherwise, start with a freq that is +-10 of your current freq, and move on to standard freqs like 100, 133, 150, etc. To see what freqs are supported by your PLL, select a garbage freq, and VIAFSB will spit out the supported PLL freqs.

If your Southbridge and PLL are supported, and VIAFSB returns the wrong current FSB, or throws an error, or is unable to set the FSB to a value that can be reliably set using the BIOS or using CPUFSB/SetFSB/SoftFSB in Windows, then please run this "undocumented" dump command and send me the output:

VIAFSB pll_name fsb_freq -d > dump.txt

And I will try to fix the issue. Thanks for testing!

Note: The dump command will get the current FSB but it will not actually write to the PLL to set the requested FSB. It will instead print out what it would've have written to the PLL, and always gracefully exits.

Last edited by enaiel on 2022-03-29, 03:36. Edited 1 time in total.

#1 VIA C3 Ezra-T 1.0GHz / MSI MS-6368 / Voodoo2+ViRGE GX / SBPro2+YMF744+AWE64+SC-7
#2 Pentium III-S Tualatin 1.40GHz / QDI A10T / Voodoo3 3000+GF4 Ti4200 / Audigy+AU8830+SC-50

Reply 15 of 70, by havli

User metadata
Rank Oldbie
Rank
Oldbie

Nice utility

I have ITX board with VIA C3 1GHz and CLE266 + VT8235 chipset. The used PLL seems to be ICS 950908 https://www.datasheetarchive.com/pdf/download … term=950908BGLF

Coud you add support for this one? If so, I will test how it works . 😀

HW museum.cz - my collection of PC hardware

Reply 16 of 70, by elcrys

User metadata
Rank Newbie
Rank
Newbie

OK, complete success!
Testing CPU was Intel Celeron 900 MHz SL633 (default voltage) on aforementioned QDI P6V694T/A10T with ICS94241. I was able to get FSB and of course set it. Lowest supported frequency was in my case 90 MHz, highest 120 MHz. Utility works even with EMM386 and can also be used in autoexec.bat for Windows 98. Changed frequency was then detected properly by utilities like HWinfo (DOS and Win), Speedsys and CPU-z.

I have also tried to get the list of supported frequencies - interesting thing is some of them are doubled. Does it have any special meaning?

viafsb_list.jpg
Filename
viafsb_list.jpg
File size
143.46 KiB
Views
2736 views
File license
Public domain

Anyway thanks a lot for this utility!

EDIT: Just checking the datasheet and the reason behind this "doubling" is most likely the spread percentage definition.

Last edited by elcrys on 2022-03-25, 21:11. Edited 2 times in total.

Reply 17 of 70, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Double mention probably indicates alternative PCI/AGP dividers, which may be low or high.... in some instances in the past with other utilities, I have noticed the necessity to set a different base clock setting i.e. a different version of 100 or 133, in order to kick in the alternate dividers, before attempting to increase clock. In other situations this is automagic, but triggered by a high setting, such that to be stable at 145 say, you might have to go to 150 and hope it doesn't crash before you clock down to 145, because if you come up from the bottom it starts giving you PCI/AGP stability probs in the low 140s. However, this is just general background of how some PLLs and boards have worked in the past and may or may not apply to this util or your board.

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 18 of 70, by enaiel

User metadata
Rank Member
Rank
Member
elcrys wrote on 2022-03-25, 20:52:

OK, complete success!
Testing CPU was Intel Celeron 900 MHz SL633 (default voltage) on aforementioned QDI P6V694T/A10T with ICS94241. I was able to get FSB and of course set it. Lowest supported frequency was in my case 90 MHz, highest 120 MHz. Utility works even with EMM386 and can also be used in autoexec.bat for Windows 98. Changed frequency was then detected properly by utilities like HWinfo (DOS and Win), Speedsys and CPU-z.

Awesome news! Glad it worked for you!

I have also tried to get the list of supported frequencies - interesting thing is some of them are doubled. Does it have any special meaning?
Anyway thanks a lot for this utility!
EDIT: Just checking the datasheet and the reason behind this "doubling" is most likely the spread percentage definition.

@BitWrangler is absolutely right - the "doubling" is because of alternate PCI/AGP dividers. Unfortunately, this utility isn't very smart - it just uses the first freq that matches in the freq table, regardless of the dividers. Probably need to take the dividers into account to make more frequencies stable.

EDIT: I checked your datasheet again, and actually you are right - the doubling in your case is because of alternate spread percentage definitions. They have the same PCI dividers.

Last edited by enaiel on 2022-03-29, 13:37. Edited 1 time in total.

#1 VIA C3 Ezra-T 1.0GHz / MSI MS-6368 / Voodoo2+ViRGE GX / SBPro2+YMF744+AWE64+SC-7
#2 Pentium III-S Tualatin 1.40GHz / QDI A10T / Voodoo3 3000+GF4 Ti4200 / Audigy+AU8830+SC-50

Reply 19 of 70, by enaiel

User metadata
Rank Member
Rank
Member
Zeerex wrote on 2022-03-23, 19:04:

No, my clock generator is W156H - I have attached the datasheet.

I thought I saw a reply from you, but it seems to be deleted now. Did you try using the dump command?

VIAFSB pll_name fsb_freq -d > dump.txt

I think I know what the issue is. I just re-read the datasheet and I had somehow completely missed this line:

The serial interface is write-only (to the clock chip) and is the dedicated function of device pins SDATA and SCLOCK.

Who in their right mind would make a PLL with a write-only serial interface??? Anyway, I would need to fix this as I always get the FSB before trying to change it. Will post an updated version.

#1 VIA C3 Ezra-T 1.0GHz / MSI MS-6368 / Voodoo2+ViRGE GX / SBPro2+YMF744+AWE64+SC-7
#2 Pentium III-S Tualatin 1.40GHz / QDI A10T / Voodoo3 3000+GF4 Ti4200 / Audigy+AU8830+SC-50