GARTHWILSON wrote:
> They were going to use the 6522's internal serial port to do this, because
> it offered performances that could easily match IEEE-488 in practice.
IEEE-488 allowed one megabyte (not megabit) per second max, and 250-500 kilobytes per second with a typical setup with quite a few cables connected. You'd have to have a phase-2 rate of over 10MHz to do this with the 6522's serial port. IIRC, 488.2, which came out at about the end of the time I was using IEEE-488, had a way to go much faster.
Not back in the late 70s, it didn't. The timing diagrams I had had signal widths measured in integral microseconds. The fastest practical speeds you could get out of it THEN was around 100KBps -- almost exactly what you'd get from a 1Mbps serial link.
Quote:
> Anyway, that sounds like a good tip. But does this really solve anything?
Sure. You're just making sure that CB1's input signal can only transition near phase-2's rising edge, and thus keeping it away from those bad few ns each side of phase-2's falling edge. Delaying the CB1 edge even an entire phase-2 cycle is no problem. You can't work the serial port as fast as one bit every other phase-2 cycle anyway. Without taking a lot of time looking at the details in the timing diagrams, I can say that as long as your phase-2 is at least 6 times the shift clock frequency and the shift clock signal sent from the other device is symmetrical, you'll never lose a bit if you use the flip-flop.
OK, so we're talking about a severe impact on transmission speeds, the factors of which are almost precisely identical to Commodore's software bit-bang solution anyway.
Quote:
How fast? Bill Mensch of WDC told me that although the VIAs aren't tested any faster than 10MHz, he suspects they'll go much faster.
Well, my initial designs call for a 4MHz 65816, which is well within the range of the 6522s. But eventually, in a future design, a 16MHz 65816 isn't outside the realm of possibility.
As far as what people say the 6522 *can* do, I'm not one to take bets. The 6522 is tested up to 10MHz, then that's as fast as it'll go as far as I'm concerned. (Which is news to me, because I'm only aware of it being tested up to 5MHz, but time marches on, I guess). This is why, despite knowing that the 65816 can do 20MHz, I won't drive it faster than what's on my datasheet. When the datasheet gets updated, then I'll feel confident about driving it at those speeds.
Quote:
though one end always controls the shift clock. This would be the solution in the Commodore disc drive issue you raised.
Burst mode on the IEC bus is supported using 6526 CIA chips; the serial port bug has been fixed in those chips. They don't have a flip-flop in the circuit. Also, as far as I know, the C64 and C128 both let the slave device control the clock when it was transmitting in burst mode (and, for that matter, in slow-mode too).