[Coco] "super" ROM pak??

Matthew Stock stock at bexkat.com
Sun Aug 31 09:14:20 EDT 2014


Hi Chad and Sylvain,

The docs for the version in that video aren't readily accessible, but you
can take a look at the v1.2 edition materials at
https://github.com/mattstock/cococpld/tree/v1.2.  A pdf of the schematic is
http://www.bexkat.com/coco/Coco%20Bus%20Interface%20v1.2.pdf.  The main
functional difference is that I shifted things to overlap more with the
Arduino Mega so that I could get access to a few more pins.  For a ROM-only
setup you don't need that, and in hindsight I would probably make a few
changes to simplify.

If I were doing a ROM-only design now, I'd look at using one signal line
from the Arduino to take over the bus by asserting Coco HALT.  I think you
could avoid the 74LVC16245s completely if you do it that way.  If not,
you'll want to buffer all of the data and address lines coming from the
Coco so that you can interact with the memory properly.  On the Arduino
side, you can use a set of shift register chips to latch all of the address
bits.  If you have enough pins on your MCU, it's convenient to connect data
lines directly (easy to read and write).  So the process would be HALT the
Coco, program the memory from the Ardunio, and de-assert HALT and hit the
reset button.

You would also need to think about how to share the chip select for the
memory between the Arduino and the Coco - normally it would be tied to CTS
on the Coco side, but when in programming mode it would always be asserted.

If you want the ROM to be persistent I'd suggest something like the AT28HC256,
but you'll need to spend a little more time figuring out the Arduino code
to do the programming.  The board I have up at the top uses it, and so the
programming code is there.  The main thing is you need to erase before
reprogramming.  You could also use SRAM.

On the Arduino side, I think you might run into problems with the Atmega328
due to limited memory.  The FAT microsd libraries take up a fair bit of
space.  That's one of the reasons I went to the Arduino MEGA board (plus
more pins).
Good luck,
  -Matt


More information about the Coco mailing list