jakethompson1 wrote on 2025-05-18, 17:07:
The PCI speed is 25 MHz because, as you posted in another thread, the 2/3 output is is misshapen, as if it has a duty cycle that is not 50%.
Exactly. Maybe I can find a PCI graphics card that doesn't care about the wrong duty cycle, and use the 2/3 divider.
jakethompson1 wrote on 2025-05-18, 17:07:
Could the PCI clock be provided in some other way with additional circuitry to try and supply a 33 MHz one, or there would be no way to control the chipset's clock source in that case?
I'm afraid that likely the PCI clock is hardwired to the output of the programmable divider, and possibly the design on the 8881 relies on a strict phase relationship between the FSB clock and the PCI clock, so injecting 33MHz from a free-running clock source is possibly problematic, even if it were possible. OTOH, what is likely possible: As the PCI bus specification only cares about the rising edge of the PCI clock, you could use a PLL locked to the 33% duty cycle PCI clock output and have it generate a 50% duty cycle clock signal for the PCI bus, which essentially just shifts the irrelevant edge of the PCI clock.
As one example, the CY2305 clock buffer chip can be used to generate up to 5 PCI clock outputs at 50% duty from an input with "any" duty cycle. The datasheet doesn't seem clear on what duty cycles are supported, but it is clearly specifying that the PLL locks on the rising edges. The output voltage of that 3.3V chips is suitable for the "5V" PCI specification, but you need a 3.3V supply for that chip, possibly just a LM1117 (or clone). You might also be able to find zero-delay clock buffers for 5V operation.
jakethompson1 wrote on 2025-05-18, 17:07:
with that divider being usable, is it worth revisiting the 496?
I guess this is personal preference. One advantage of the 496 is that the PCI divider is jumper selected instead of being software controlled, which helps with picky cards (like the Matrox Millenium G450 PCI) during early boot. UM8881 boards usually start up at 1:2, then auto-set 1:1 or 1:2 during the main part of the post depending on the detected FSB clock (1:1 up to 33, 1:2 higher), and only switch to the PCI divider specified in the CMOS RAM when the POST is finished. As the Matrox Millenium G450 is not working properly at PCI@20MHz, having 1:2 during POST at FSB40 ist bad.