Skip to main content
Home▸ Forums▸ 68kMLA▸ SCSI, PCI and Bus errors. — #12
Post #12 by coius
Source Forum68kMLA
CategoryTroubleshooting
Post DateFri, 20 Jun 2008 - 06:10
Original URLhttps://68kmla.org/bb/threads/scsi-pci-and-bus-errors.13609/
Post
From an old email I sent to the SuperMacs list:
The XLR8 instructions list integer and integer + .6 MHz bus speeds. However, it appears that the Carrier ZIF is settable in .2 MHz increments.

Switches 1 - 4 control the fine speed settings. If you imagine them as the digits of a binary number, with 1 most significant and 4 least significant, you can set any bus speed multiple of .2 MHz from 0 to 3 MHz (15 X .2) + the coarse speed setting.

So for example OFF, OFF, OFF, OFF (all OFF) is 0 X .2 = 0 MHz plus the coarse speed setting (switches 5 - 8) .

OFF, ON, OFF, ON (2,4 ON) = 0101 binary = 3 decimal. 3 X .2 = .6 MHz plus the coarse speed setting.

ON, OFF, OFF, ON (1,4 ON) = 1001 = 9 => 1.8 MHz + Coarse Setting.

Etc.

The coarse speed settings (switches 5 - 8) seem to be in 3.2 MHz increments.

OFF, ON, OFF, ON (6, 8 on) = 41 0101

OFF, ON, ON, OFF (6, 7 on) = 44.2 0110

OFF, ON, ON, ON (6,7,8 on) = 47.4 0111

ON, OFF, OFF, OFF (5 on) = 50.6 1000

etc.

=========================================

That's the gist. The stuff below is examples that drag on for a bit.

In equation form: 25 + 3.2 * (5 - 8) + .2 * (1 - 4) = bus speed;

where (5 - 8) and (1 - 4) are four digit binary numbers represented by the corresponding switches, where a switch set to 'ON' is a 1 and a switch set to 'OFF' is a 0.

So, for example, if you wanted 54.8 you solve the above equation (or read the XLR8 table and adjust your switches up or down a couple of binary values). 54.8 - 25 = 29.8. 29.8 / 3.2 = 9 + a remainder so set switches(5 - 8) to 9. This is 1001 or switches 5 & 8 ON. That's our coarse setting. 25 + 3.2 * 9 = 53.8 so we still have 1 MHz to go. 1 / .2 = 5 so switches (1 - 4) need to be set to 5 or 0101 which is 2 & 4 ON.

So 2, 4, 5, 8 should yield 54.8 MHz. Filling in the equation above just to expand the example we have 25 + 3.2 * (1001) + .2 * (0101) =

25 + 3.2 * (9) + .2 * (5) = 25 + 28.8 + 1 =

54.8.

One could more easily arrive at this conclusion by noting that 54.6 on the XLR8 table is switches 2,5,8. Adding 1 to the value of the fine settings simply means turning switch 4 on, so 2,5,8 => 54.6 and 2,4,5,8 => 54.6 + .2 = 54.8 MHz.

I imagine that speeds below 40 and above 66 are accessible and predictable using this system, though not very useful. :-)

When I first looked at this I expected to find some bizarre system because the method of setting the ICD2051 chip is truly bizarre, but it turned out simple. I imagine that's why there's a PIC microcontroller on the card. It probably runs the program that translates the simple binary switch settings into the crazy math the ICD2051 uses.

Jeff Walther
8-o

Wait... so is it possible to get a 300Mhz CPU w/ a 50Mhz FSB? or is there a setting for that?

The reason i ask that, is because I don't quite understand how that works (you are talking to a math idiot here) and I understand some binary, and I understand certain switch combos = certain multipliers. But is there a way to do a 50Mhz bus with a 6x Multiplier?