VOGONS


First post, by acl

User metadata
Rank Oldbie
Rank
Oldbie

Hi

That's probably a silly question but is there a risk to change the CPU mult / fsb while the system is running (on a Socket 7 Pentium for example).

I'm asking because i'm tempted to add dip-switches on a bracket on the back of my case to change the settings between a fast and a slow preset.

If you ever tried that, i'm interested about the outcome.

"Hello, my friend. Stay awhile and listen..."
My collection (not up to date)

Reply 1 of 19, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

I haven't tried it with multi yet, but that settings should be setup just after power up.
But I have had success with FSB change on an ASUS PVI-486SP3 with a VT8228 clock generator. I seems to work because the clock generator changes clock frequency slowly enough.
Changing FSB clock frequency on the fly

Reply 2 of 19, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

Nothing catastrophic will not happen. Tried with many motherboards. Many stuff changes settings on the fly. Some stuff just hangs the computer and needs a restart.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.
PS. If I upload RAR, it is a 16-bit DOS RAR Version 2.50.

Reply 3 of 19, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

You can corrupt the L1, best way to do it is when nothing is happening, then use a util to flush cache after so there's no spurious info in there.

Most deturbo implementations have a mechanism for enforcing this, they stretch pulses and do cache flush, and add idle cycles I think to ease transition. Some do a fixed ref clock, some do it off sysclock/4 or something. Anyway, while it's deturboed it might not be coupled to fsb change, but multiplier change might still glitch it, so deturbo, change bus speed, returbo might work to stabilise clock transitions. Some multi changes need a reset to initialise though, maybe just CPU reset. Anyway, by cobbling up some logic to switch things at the same time, you might be able to do multi switch while deturbo-ing, force reset, then returbo and be on new multi. That's if it's not protected mode software that crashes when you hit the deturbo (Seen that happen but not sure whether it's a quick and dirty turbo transition at fault or software is that tweaky even with a "polite" turbo transition supported by clockchip and chipset.)

This is really my barebones prior to deep dig to implement something like this with an atmel or promini arduino board, so I do not have thorough details, will take poring over chipset, clockchip and CPU datasheets to get all the timing perfect.

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 4 of 19, by Dorunkāku

User metadata
Rank Newbie
Rank
Newbie

On a 486 system I used a external circuit that switched the FSB between 4 and 40Mhz in the order of 15.000 times a second for about 10 hours without issues while doom was running.

Reply 5 of 19, by debs3759

User metadata
Rank Oldbie
Rank
Oldbie
Dorunkāku wrote on 2024-01-06, 10:52:

On a 486 system I used a external circuit that switched the FSB between 4 and 40Mhz in the order of 15.000 times a second for about 10 hours without issues while doom was running.

Why? Just because you could, or was there some method to it?

See my graphics card database at www.gpuzoo.com
Constantly being worked on. Feel free to message me with any corrections or details of cards you would like me to research and add.

Reply 6 of 19, by Dorunkāku

User metadata
Rank Newbie
Rank
Newbie

I want to make system on the 486 VLB platform capable of running from 4Mhz to 100Mhz with smooth realtime speed control. By:
-Wiring up the turbo button to the Pentium Overdrive fanspeed sensor. Giving me the choice of 1x and 2,5x multiplier.
-Rapidly switching between 4MHz and 40MHz FSB to emulate inbetween steps.
-Replace the keyboard lock mechanism and fill the hole with a potentiometer knob to control the FSB smoothly from 100% at 4MHz and 0% at 40MHz all the way to 100% at 40MHz.
-Have a realtime average FSB readout on 3 digit display.
I am currently stuck on the last step.

Last edited by Dorunkāku on 2024-01-06, 15:31. Edited 1 time in total.

Reply 7 of 19, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

you might have to have an R C circuit with a time constant set such that it only receives full charge at lowest clock then use the inverse of that voltage to show on a DVM module, unless you wanna do software averaging on an ATTiny and SDI display or something.

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 8 of 19, by PD2JK

User metadata
Rank Oldbie
Rank
Oldbie

Not to hijack this thread, but similar, what happens if you remove a crystal oscillator (on a 486 for example) momentarily?
Stop and go?

i386 16 ⇒ i486 DX4 100 ⇒ Pentium MMX 200 ⇒ Athlon Orion 700 | TB 1000 ⇒ AthlonXP 1700+ ⇒ Opteron 165 ⇒ Dual Opteron 856

Reply 9 of 19, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
PD2JK wrote on 2024-01-06, 15:45:

Not to hijack this thread, but similar, what happens if you remove a crystal oscillator (on a 486 for example) momentarily?
Stop and go?

Probably the speed of clock change is too fast and the system will halt until reset.

Reply 10 of 19, by acl

User metadata
Rank Oldbie
Rank
Oldbie
BitWrangler wrote on 2024-01-06, 03:36:

You can corrupt the L1, best way to do it is when nothing is happening, then use a util to flush cache after so there's no spurious info in there.

Most deturbo implementations have a mechanism for enforcing this, they stretch pulses and do cache flush, and add idle cycles I think to ease transition. Some do a fixed ref clock, some do it off sysclock/4 or something. Anyway, while it's deturboed it might not be coupled to fsb change, but multiplier change might still glitch it, so deturbo, change bus speed, returbo might work to stabilise clock transitions. Some multi changes need a reset to initialise though, maybe just CPU reset. Anyway, by cobbling up some logic to switch things at the same time, you might be able to do multi switch while deturbo-ing, force reset, then returbo and be on new multi. That's if it's not protected mode software that crashes when you hit the deturbo (Seen that happen but not sure whether it's a quick and dirty turbo transition at fault or software is that tweaky even with a "polite" turbo transition supported by clockchip and chipset.)

This is really my barebones prior to deep dig to implement something like this with an atmel or promini arduino board, so I do not have thorough details, will take poring over chipset, clockchip and CPU datasheets to get all the timing perfect.

The dip switch purpose i had in mind was initially to use it with tje system powered off.

I will definitely give it a try with the system on and will have a look at the software tricks suggested to make it more reliable. Can instructions like HALT help to "freeze" the CPU while doing the change ?
(Also i'm not sure how i can clear the cache besides exhausting it with random memory reads...)

"Hello, my friend. Stay awhile and listen..."
My collection (not up to date)

Reply 11 of 19, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I only really have the broad strokes outline in my head, like I say, barebones prior to making a project of it sometime. It's easy with SL enhanced because you can just poke the CPU state SMM registers, and some of those modes do auto flush on return. CPU dependent though the exact details.

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 12 of 19, by dionb

User metadata
Rank l33t++
Rank
l33t++

One of my projects never completed is to make a SuperSo7 system with knobs on the front to change FSB and multiplier on the fly (and toggle switches for voltage). Never got around to finishing it (due to not finding the knobs I wanted), but tested it with an MVP3 board with K6-3+ by mucking around with jumpers while it was running. Seemed to work fine when I did it, although I never tried to do it while under full load.

Reply 13 of 19, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

One thing you don't seem to be able to change on the fly is the ISA or PCI dividers though, even with a clockchip that supports soft FSB control at least with super7 to early socket A era boards. You are kinda stuck in the 50-83 range or the 95-124 range or whatever, because maybe it's the peripherals glitching out when you try pushing them past the low 40s PCI clock or dropping them too low. Likewise with ISA if you don't have it set to fixed (ref/2 usual half of that 14.3..... whatever it is) but sysclock by 6 or something and try going to 83, you're going past the 12.5mhz wall which a lot of ISA cards barf at without a lot of cherrypicking in card selection. When set with power off, usually POST catches this, sets it to something sensible and prompts you to save settings and reboot. Just need some extra awareness of which clocks are tied together so you're not surprised when you ask it to do a clock that the CPU is fine with, but because dividers set for a lower clock, other clocks go too high and crash things.

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 14 of 19, by Bancho

User metadata
Rank Oldbie
Rank
Oldbie

I modded my case with a little DIP switch to control my 233MMX. I can change multi and FSB. FSB is 50mhz using the Turbo button and 60-66 are on one of the switches. The other two switches control the multi.

FSB can be changed on the fly, Multi needs the system to be reset for it to apply. Works really well. Motherboard is a Gigabyte HX

MK3iPTEh.jpg

Reply 15 of 19, by Horun

User metadata
Rank l33t++
Rank
l33t++
Bancho wrote on 2024-01-10, 22:38:

I modded my case with a little DIP switch to control my 233MMX. I can change multi and FSB. FSB is 50mhz using the Turbo button and 60-66 are on one of the switches. The other two switches control the multi.

FSB can be changed on the fly, Multi needs the system to be reset for it to apply. Works really well. Motherboard is a Gigabyte HX

Nice ! I can see having a way to switch to lowest possible FSB and multiplier but what purpose is there for having such a range of external control ? Just curious....

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 16 of 19, by acl

User metadata
Rank Oldbie
Rank
Oldbie
Horun wrote on 2024-01-11, 04:37:
Bancho wrote on 2024-01-10, 22:38:

I modded my case with a little DIP switch to control my 233MMX. I can change multi and FSB. FSB is 50mhz using the Turbo button and 60-66 are on one of the switches. The other two switches control the multi.

FSB can be changed on the fly, Multi needs the system to be reset for it to apply. Works really well. Motherboard is a Gigabyte HX

Nice ! I can see having a way to switch to lowest possible FSB and multiplier but what purpose is there for having such a range of external control ? Just curious....

Not answering for @Bancho but in my case, i only have one DOS gaming system. (96-97 is on the very beginning of my period of interest. I'm more into the 3d era)
With a MMX233 + Voodoo + ET6100 it's perfect for late DOS games, but too fast for others.

I generally have it running at 150Mhz because it's a "middle" point :

  • Fast enough to run TombRaider, Duke3D, Quake, Screamer Rally
  • Slow enough to run Monkey Island (with help of setmul)

I've tried the stock 233Mhz + setmul and it is not slow enough.
On the other hand, 150 is sometimes a bit slow for some games. 233 would be great, but i would have to open the case to switch from 150 to 233.

"Hello, my friend. Stay awhile and listen..."
My collection (not up to date)

Reply 17 of 19, by Dorunkāku

User metadata
Rank Newbie
Rank
Newbie

I just found out: A Gigabyte GA 586HX can switch FSB while it is running. The key combo Crtl+ALT+Numpad[-] switches to 50Mhz FSB. Ctrl+ALT+Numpad[+] switches back to the jumpered FSB.

Reply 18 of 19, by acl

User metadata
Rank Oldbie
Rank
Oldbie
Dorunkāku wrote on 2024-02-07, 10:41:

I just found out: A Gigabyte GA 586HX can switch FSB while it is running. The key combo Crtl+ALT+Numpad[-] switches to 50Mhz FSB. Ctrl+ALT+Numpad[+] switches back to the jumpered FSB.

Nice ! Not sure if it is a widespread feature but i will try that just i case 😀

"Hello, my friend. Stay awhile and listen..."
My collection (not up to date)

Reply 19 of 19, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I believe that has also been noted as a not very large change turbo feature in some 440LX slot 1 boards.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.