To elaborate a little on what I said in .2: In the VIC-20, and probably lots of similar machines, the video chip is really a CPU of sorts, and it generates the timing used by the real CPU. On alternate half-cycles, the VIC chip and the 6502 access the same RAM (namely the video memory). Tri-state buffers are used to keep them from clashing on the bus. The CPU runs at 1 Mhz, but they used a 6502A (2 Mhz chip), presumably to provide enough timing margin while the bus is being switched, etc.
Meanwhile, despite what I said in .2, it occurs to me that dual-6800's could easily do the alternate-cycle approach, too: the 6800 has a "Tri-State Enable" pin, which can (I think) be used to tri-state the buses *without* halting the CPU. So, it would be simple to have the 2 CPUs alternately using the memory, without any extra 3-state buffers.
BUT, as Garth said/hinted, it's hard to imagine the real benefit of going dual-CPU with either a 6502 or 6800. You could get the same "work done" with a single modern CPU that is running much faster. BUT, I may fool around with a dual-6800 design anyway, just because I like playing with vintage stuff. I have a bunch of old S-100 hardware, so I'm thinking of making a "switches and lights" control panel to plug into an S-100 backplane, then build the dual-6800 CPU (running at only 1 Mhz, of course!)... The S-100 bus is a trip - it was designed for the 8080.
Pete
|
|