BigDumbDinosaur wrote:
One other thing...the 6551's operation is slaved to the Ø2 clock, with the 1.8432 MHz clock being used only for baud rate generation. I think driving Ø0 of the 6502 from the XTAL2 output of the 6551 will cause obscure timing issues and might even cause internal errors in the 6551. I would expect that the XTAL2 output would slightly lag the 1.8432 MHz clock signal due to propagation delays within the 6551.
I don't think this will cause a problem. The baud-rate clock can be driven from a seperate oscilator to phase-2 and not cause any problems, even when the two oscilators are not synchronised. With unsynchronised clocks, worst-case timing clashes are bound to occur sooner or later, and since the 6551 doesn't suffer from this problem, I think we can assume that there are no timing requirements between the baud-rate clock and the phase-2 clock. As long as the 6551's phase 2 input is connected to the 6502's phase 2 output, it should work.
Dr Jefyll wrote:
There are specifications for clock pulse width low, clock pulse width high, and for the overall cycle time. If you need to operate the chip at its maximum frequency (shortest possible cycle time), the numbers usually are such that the low and high times will be equal, incidentally yielding 50% duty cycle. But AFAIK none of the 65xx processors -- NMOS or CMOS -- directly specifies what the duty cycle must be. IOW, if maximum operating frequency is not required then you have leeway to deviate from 50% -- perhaps very drastically.
Very true. The Oric-1 computer used a 2MHz 6502 with a 1MHz clock with a 2-1 duty cycle. The video system performed 2 memory accesses when phase 2 was low, then the CPU had access to memory when phase 2 was high. This required a 2MHz 6502 and a 2MHz 6522 even though the clock frequency was 1MHz because the phase 2 high time - a third of a cycle - wasn't long enough for 1MHz devices, but it didn't cause any problems either with the CPU or the VIA.