[Coco] What would a CoCo successor have to have as a minimum?

Mark McDougall msmcdoug at iinet.net.au
Sun Nov 21 19:29:37 EST 2010


On 22/11/2010 11:02 AM, gene heskett wrote:

> AIUI, with the fpga, we could well simulate the dual port by interleaving
> the writes with the reads, essentially using the memory as a large depth
> fifo.  I don't see that as a problem other than implementing the concept on
> one corner of the fpga.

The concept is no different to the original Coco, where the SAM interleaves 
CPU and video accesses. And it is certainly the way to go on any FPGA 
design. Dual-port memory is great for small blocks, and I've used it 
extensively in some of my FPGA designs. The main advantage is that it 
completely decouples the video clock from the system clock - something that 
wasn't really an option back in the days of the coco etc.

Higher video modes and more program memory pretty much mandates the use of 
SDRAM if you're worried about cost. Minimig (Amiga 500) on the DE1 manages 
it for video/CPU memory so it's definitely feasible. Of course it's easier 
with the 68K asynchronous bus; but that's always an option on the Coco 4 too 
with a soft core 6x09.

SDRAM refresh and latencies are the killers here. Any attempt to interleave 
discrete single-word accesses is going to severely cripple your memory 
bandwidth and hence effective CPU clock rate. With some caching you can 
fetch bursts of video memory (something you can't hold off) and then give 
access to a suitably modified 6x09 whilst the video doesn't require access 
and you're not refreshing.

Adding sprites and blitters into the mix complicates it again. With modest 
sprite capabilities you could probably get away with dual-port memory in the 
FPGA. Blitters become a bus arbitration problem between the DMA engine and 
the CPU. But again, the Amiga/Minimig has the same issues.

Regards,

-- 
|              Mark McDougall                | "Electrical Engineers do it
|  <http://members.iinet.net.au/~msmcdoug>   |   with less resistance!"



More information about the Coco mailing list