VOGONS


VIAFSB - DOS FSB utility for VIA chipsets

Topic actions

Reply 60 of 88, by havli

User metadata
Rank Oldbie
Rank
Oldbie
enaiel wrote on 2022-04-02, 01:27:

We're able to actually communicate with the PLL now and get back the FSB, so that's much better. Made some minor changes to the last few bytes we're sending based on default values from the datasheet. If that doesn't work, then I'm officially out of ideas as everything looks exactly like in the datasheet.
Please try to set the FSB to 130 first, and if that works, then try 111.

Thanks for testing!

Tried the version 0.2.0 and unfortunately not much luck. This time there are not artifacts, just good old freeze 😁 when trying to set the new FSB value. Tried the 130 MHz as you suggested. Well, I guess we can just leave it. The range of available FSB would be pretty limited anyway (originally I hoped for 66 MHz, so CPU az 266 MHz)... which is not possible. And there are other ways of reducing the speed if needed.

Btw - before I started testing, I was able to reach around 1GB/s memory copy bandwidth in Aida64. Now it maxes out at 700 or so MB/s. Perhaps some bit changed by accident in the cmos memory that alters memory settings? Many restarts and shutdows cycles didn't help. Not evel loading optimized defaults in BIOS. I will open the case and do clear cmos, that should definitely restore factory settings and the corect bandwidth.

Not that it matters anyway (for DOS gaming), but it bugs me that I remember the performance used to be better and now I can't reach it again. 😁

HW museum.cz - my collection of PC hardware

Reply 61 of 88, by Grem Five

User metadata
Rank Member
Rank
Member
enaiel wrote on 2022-04-06, 03:49:
Can you please run VIAFSB with the dump option? […]
Show full quote
Grem Five wrote on 2022-04-06, 02:08:

I have not had any luck with the winbond machines

As you can see from pics viafsb isnt showing right FSB just loading the pll

I noticed on this one it says Detected VT82C596A southbridge when its actually a VT82C596B I dont know if that has anything to do with the error or not.

Can you please run VIAFSB with the dump option?

VIAFSB [pll_name] [fsb_freq] -d > dump.txt

The dump file will tell me what it's actually reading. Thanks for testing!

Reply 62 of 88, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie
enaiel wrote on 2022-04-04, 20:08:
Maybe there is someone on Vogons who can figure out what I'm doing wrong? […]
Show full quote
GigAHerZ wrote on 2022-04-04, 18:29:
Here it is. Getting the fsb as you suggested, did lock up the machine and the dump file is empty. […]
Show full quote

Here it is.
Getting the fsb as you suggested, did lock up the machine and the dump file is empty.

Uploaded the dump of trying to set fsb to 75 with correct pll.
Hope it helps, let me know, if i can add anything.

Maybe there is someone on Vogons who can figure out what I'm doing wrong?

Here's the PLL W124 datasheet: https://www.datasheets360.com/pdf/-4213003440200208478

Here's what I'm writing to the PLL:
W124: Writing FSB_BYTE(3) (hex bin): 18 00011000
W124: Writing 7 bytes (hex): 00 00 00 18 45 EF 23

Based on the datasheet:

  • The PLL is write-only
  • Need to write 7 data bytes
  • First 3 data bytes are ignored
  • The 3rd data byte (starting from 0) is the FSB_BYTE
  • In the FSB_BYTE, Bit 3 (starting from 0) is the FS_SEL bit, needs to set indicating that the FSB is being set by software.
  • In the FSB_BYTE, Bits 4, 5, 6 need to be set as (0 0 1) to set the FSB to 75 as per the FSB frequency table in the datasheet.

The other possibility is maybe that W124G is actually different from W124? Can you try using SetFSB, SoftFSB, or CPUFSB in Windows and see if they support it? They may provide some additional information.

At last i got to this. I didn't have any windows setup for that yet, so i made a fresh win98 install for it.

Using CPUFSB and manually selecting "W124 A" (Because there was no "G") and setting fsb to 75MHz worked and is confirmed by CPU-Z. So it should be software controllable... somehow...

EDIT: "W124 B" works identically - 75MHz and 83MHz options work and are confirmed by CPU-Z.

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 63 of 88, by Socket3

User metadata
Rank Oldbie
Rank
Oldbie

I tried VIAFSB on my K6-2+ system witch uses an Aopen AX59 PRO motherboard with the MVP3 + 82C586B southbridge. Got "ERROR - Unknown Southbridge".

It would be awesome if you could get the utility to work with MVP3 motherboards - we could change the FSB from 100 to 66Mhz or maybe lower on the fly, without having to open up the computer...

Reply 64 of 88, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie

Can you please add support for ICS9248AF-127?

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 65 of 88, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie

Can you please add support for W230-03H (Biostar M7VKD)?

The attachment W230-03H.pdf is no longer available

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 66 of 88, by rollandcg

User metadata
Rank Newbie
Rank
Newbie

Can you please add support for Cypress W230-03H (QDI KinetiZ 7E 2.0 (S2.3))?

Reply 67 of 88, by enaiel

User metadata
Rank Member
Rank
Member

Sorry for not responding earlier, Real Life got in the way, unfortunately. I am going to upload the code to Github so that anyone can continue to add support for new PLL chips. I am refactoring the code to make it easier to do this by following some Linux code, so I would have to make the license GPL. I will update when the Github project is ready.

#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 68 of 88, by e8root

User metadata
Rank Newbie
Rank
Newbie

I just tested this utility on this fabulous machine
847518_1683272558100.png

VIA C3 Nehemiah 800MHz
I wanted to be able to decrease its performance to around 386 levels for older games and more flexibility for 486 and 586 levels.
SetMul utility allowed me to disable caches, branch prediction and drop multiplier to 4x but it was still more like 486 than 386

ViaFSB allowed me do go down to 66MHz FSB bus and get performance similar to 386DX40
FSBs can be controlled from 66MHz to 166MHz giving much needed performance granularity.

Big thanks for this amazing utility!

Reply 69 of 88, by Bruno128

User metadata
Rank Member
Rank
Member

Hi could you please add support for ICS950405AF. Thank you!
P.S. I can't find a GitHub that you mentioned.

SBEMU compatibility reports list | Navigation thread


Now playing:
Gold Rush: My VLB 486 (now with SC-55)
Baldur's Gate: Bridging compatibility gap in this year 2000 build
Arcanum: Acrylic 2003 build (January 2024)

Reply 70 of 88, by tauro

User metadata
Rank Member
Rank
Member

Amazing project! 🥳

I've tried it on an EPIA TC 10000, which has an ICS950908BF.
VIA C3 1GHz CPU, and CLE266+VT8235M
The default FSB is 133MHz and there's no way to change it on the BIOS menu.

Unfortunately VIAFSB didn't work. All possible clocks freeze the computer.
I attach one log here https://pastebin.com/4ZL48sVV

Hopefully you can fix it.

Thanks for your efforts 🙌

Reply 71 of 88, by enaiel

User metadata
Rank Member
Rank
Member

I'm back on Vogons after a long break due to issues with work, health, etc. Made some long overdue updates to VIAFSB and published the code to Github: https://github.com/enaiel/viafsb.

v0.2.1
* Improved performance by decreasing delay when waiting for SMBus response.
* Sorted FSB table to make it easier to select FSB frequencies.
* Updated command bytes for all PLLs.
* Improved handling of read-only PLLs.
* Improved handling of same FSB frequencies with different PCI values.
* Added initial support for VIA chipsets VT8231 VT8233C VT8237/R VT8237A VT8237S VT8251.
* Added initial support for PPLs ICS9248-127 ICS950405 W230-03H.

v0.3.0
* Initial Github release.

#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 72 of 88, by enaiel

User metadata
Rank Member
Rank
Member
mockingbird wrote on 2022-05-09, 03:12:

Can you please add support for ICS9248AF-127?

mockingbird wrote on 2022-05-18, 04:14:

Can you please add support for W230-03H (Biostar M7VKD)?

rollandcg wrote on 2022-08-24, 07:30:

Can you please add support for Cypress W230-03H (QDI KinetiZ 7E 2.0 (S2.3))?

Bruno128 wrote on 2023-08-18, 12:36:

Hi could you please add support for ICS950405AF. Thank you!
P.S. I can't find a GitHub that you mentioned.

I added initial support for PLLs ICS9248, W230-03H and ICS950405. Please test and let me know if it works for you.

e8root wrote on 2023-05-06, 07:24:
I just tested this utility on this fabulous machine https://cdn.hardforum.com/data/attachment-files/2023/05/847518_1683272558100 […]
Show full quote

I just tested this utility on this fabulous machine
847518_1683272558100.png

VIA C3 Nehemiah 800MHz
I wanted to be able to decrease its performance to around 386 levels for older games and more flexibility for 486 and 586 levels.
SetMul utility allowed me to disable caches, branch prediction and drop multiplier to 4x but it was still more like 486 than 386

ViaFSB allowed me do go down to 66MHz FSB bus and get performance similar to 386DX40
FSBs can be controlled from 66MHz to 166MHz giving much needed performance granularity.

Big thanks for this amazing utility!

You're welcome, but you are one of the lucky few! Please test the latest version and confirm I haven't broken anything.

#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 73 of 88, by enaiel

User metadata
Rank Member
Rank
Member
havli wrote on 2022-04-07, 20:23:

Tried the version 0.2.0 and unfortunately not much luck. This time there are not artifacts, just good old freeze 😁 when trying to set the new FSB value. Tried the 130 MHz as you suggested. Well, I guess we can just leave it. The range of available FSB would be pretty limited anyway (originally I hoped for 66 MHz, so CPU az 266 MHz)... which is not possible. And there are other ways of reducing the speed if needed.

Btw - before I started testing, I was able to reach around 1GB/s memory copy bandwidth in Aida64. Now it maxes out at 700 or so MB/s. Perhaps some bit changed by accident in the cmos memory that alters memory settings? Many restarts and shutdows cycles didn't help. Not evel loading optimized defaults in BIOS. I will open the case and do clear cmos, that should definitely restore factory settings and the corect bandwidth.

Not that it matters anyway (for DOS gaming), but it bugs me that I remember the performance used to be better and now I can't reach it again. 😁

I'm sorry to hear that, but anything set by my tool should have reset when the power was disconnected (hard boot). But these old VIA southbridges and PLLs are so buggy, anything is possible. I hope you were able to get back to your old performance.

#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 74 of 88, by enaiel

User metadata
Rank Member
Rank
Member
Socket3 wrote on 2022-05-05, 23:24:

I tried VIAFSB on my K6-2+ system witch uses an Aopen AX59 PRO motherboard with the MVP3 + 82C586B southbridge. Got "ERROR - Unknown Southbridge".

It would be awesome if you could get the utility to work with MVP3 motherboards - we could change the FSB from 100 to 66Mhz or maybe lower on the fly, without having to open up the computer...

Sorry, my code modifies the FSB by communicating with the PLL over the SMBus. This feature from the Intel chipsets was only implemented by VIA from their Apollo Pro chipsets onwards. I have no idea how to program the 82C586B southbridge.

#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 75 of 88, by enaiel

User metadata
Rank Member
Rank
Member
tauro wrote on 2023-11-01, 11:14:
Amazing project! :partying_face: […]
Show full quote

Amazing project! 🥳

I've tried it on an EPIA TC 10000, which has an ICS950908BF.
VIA C3 1GHz CPU, and CLE266+VT8235M
The default FSB is 133MHz and there's no way to change it on the BIOS menu.

Unfortunately VIAFSB didn't work. All possible clocks freeze the computer.
I attach one log here https://pastebin.com/4ZL48sVV

Hopefully you can fix it.

Thanks for your efforts 🙌

I don't see any errors in the dump, but I did fix a lot of bugs in the latest release. Maybe it fixes your issue?

#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 76 of 88, by tauro

User metadata
Rank Member
Rank
Member
enaiel wrote on 2024-07-31, 23:20:
tauro wrote on 2023-11-01, 11:14:
Amazing project! :partying_face: […]
Show full quote

Amazing project! 🥳

I've tried it on an EPIA TC 10000, which has an ICS950908BF.
VIA C3 1GHz CPU, and CLE266+VT8235M
The default FSB is 133MHz and there's no way to change it on the BIOS menu.

Unfortunately VIAFSB didn't work. All possible clocks freeze the computer.
I attach one log here https://pastebin.com/4ZL48sVV

Hopefully you can fix it.

Thanks for your efforts 🙌

I don't see any errors in the dump, but I did fix a lot of bugs in the latest release. Maybe it fixes your issue?

Nice to see you are back with this project! I'm sorry about your health issues. I'm glad you are doing better!

So I tried your new version and unfortunately it didn't change anything.

I suppose that my board is designed in such a way that even if the ICS 950908 is capable of doing different frequencies, it can't cope with them and that's why it hangs. It supports 133 MHz only. In fact, I edited the BIOS and enabled most hidden options. There was one to tweak the BUS frequency. Now there's two options: 133 and 133. They aren't exactly the same, one is closer to 132. I guess that's as far as it can go.

Reply 77 of 88, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I alluded to it in post on the first page, but maybe can spell it out clearer....

Older, only just barely software settable clock chips/PLLs, only have certain ranges you can adjust them in. I think this is because they cannot adjust PCI/AGP dividers on the fly and crash from attempting to change that at any time other than boot/in-bios which does some kind of reset/reboot to new one. Mostly from a "normal" FSB value, like 66, 100, 133 etc, you can go up quite a bit, but only backwards a few mhz. This I have seen under other FSB utilities in windows like H. Oda's SoftFSB, and a couple more that were around in early noughts.

From your log, it tried to set 130/36.... from that it appears that that is trying to get it to switch from it's 1/4 PCI divider which gives 133/33.. to another, not entirely sure from those numbers and the quantisation (could be a mhz lower or higher) whether it's going for 1/3 or 2/7 or something. What matters is it is different from the one the machine is booted onto. This does seem a bit unusual compared to the KT133 and KT133A boards I was used to doing this on, as those would switch over between 124 and 125 if I remember correctly. Though some overclocking BIOS may have extended the "from 100 upward" range to go to 150, yet keep the PCI at an eyewatering 50mhz on a 1/3 divider. Anyway, from a stock BIOS you'd usually expect a 66 setting to go from 60 or maybe 50 to 95, the 100 setting from 95-124, and the 133 setting to go from 125 to 143-150ish, if it had another divider, but potentially up to 170 if it doesn't, not that that might be useful.

But whatever is normal and usual, your log appears to indicate it can't set that from 133/33, but it's possible if you set 100/33 in BIOS or by jumper that you could go UP to 130/36 from there.

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 78 of 88, by tauro

User metadata
Rank Member
Rank
Member
BitWrangler wrote on 2024-08-01, 12:33:
I alluded to it in post on the first page, but maybe can spell it out clearer.... […]
Show full quote

I alluded to it in post on the first page, but maybe can spell it out clearer....

Older, only just barely software settable clock chips/PLLs, only have certain ranges you can adjust them in. I think this is because they cannot adjust PCI/AGP dividers on the fly and crash from attempting to change that at any time other than boot/in-bios which does some kind of reset/reboot to new one. Mostly from a "normal" FSB value, like 66, 100, 133 etc, you can go up quite a bit, but only backwards a few mhz. This I have seen under other FSB utilities in windows like H. Oda's SoftFSB, and a couple more that were around in early noughts.

From your log, it tried to set 130/36.... from that it appears that that is trying to get it to switch from it's 1/4 PCI divider which gives 133/33.. to another, not entirely sure from those numbers and the quantisation (could be a mhz lower or higher) whether it's going for 1/3 or 2/7 or something. What matters is it is different from the one the machine is booted onto. This does seem a bit unusual compared to the KT133 and KT133A boards I was used to doing this on, as those would switch over between 124 and 125 if I remember correctly. Though some overclocking BIOS may have extended the "from 100 upward" range to go to 150, yet keep the PCI at an eyewatering 50mhz on a 1/3 divider. Anyway, from a stock BIOS you'd usually expect a 66 setting to go from 60 or maybe 50 to 95, the 100 setting from 95-124, and the 133 setting to go from 125 to 143-150ish, if it had another divider, but potentially up to 170 if it doesn't, not that that might be useful.

But whatever is normal and usual, your log appears to indicate it can't set that from 133/33, but it's possible if you set 100/33 in BIOS or by jumper that you could go UP to 130/36 from there.

That's quite interesting actually! Thanks for explaining more about the process.

Unfortunately the board doesn't have any jumpers or settings to set the bus speed to anything different from 133, other than the hidden 133 option.

I recently explored this previously hidden option and found out that it is useless. It's always reset to the second option. I thought it changed the BUS speed but I think I was wrong.

The DRAM speed can be changed to 100MHz but that doesn't help.

When I modded this BIOS, I also enabled the option to change the multiplier in the BIOS for a faster boot. This chip supports 1333MHz quite easily (10x). Factory setting is 1GHz (7.5x).

So sometimes when I changed the multiplier in the BIOS I noticed that the values on the POST screen showed a slightly off value, by some MHz. I don't remember the numbers exactly and I couldn't reproduce it now.

Long story short, there's no way to change the BUS speed. Maybe there's a way to force VIAFSB to use the current dividers and force an overclock on the PCI bus?

FWIF this is what some programs report:

CPUCHK 1328.9 / 132.8
CPU-Z 1329 / 132.9
CrystalCPUID 1329.55 / 132.95

Reply 79 of 88, by Bruno128

User metadata
Rank Member
Rank
Member

It's nice to see you back
Testing version 0.3.0 with W83194BR-39B / SL-65FVB

The attachment viafsb 03 detection winbond w83194br-39b.jpg is no longer available
The attachment viafsb 03 winbond w83194br-39b no change 1.jpg is no longer available

Also tried other values nothing happens.

SBEMU compatibility reports list | Navigation thread


Now playing:
Gold Rush: My VLB 486 (now with SC-55)
Baldur's Gate: Bridging compatibility gap in this year 2000 build
Arcanum: Acrylic 2003 build (January 2024)