[Coco] Embedded coco

peak at mail.polarcomm.com peak at mail.polarcomm.com
Fri Dec 19 11:14:16 EST 2003


James
If you want a lot of space for soft/firmware thats ok. You 
can use a rom at $2000. Doing so will not prevent someone 
else from using ram at this location. At the top of the 
address space we simply "must" have rom at least temporarily 
because that is where the CPU looks for its Interrupt and 
Reset vectors! There are several ways to place a Rom in that 
space. The way the real coco did that is to make the CPU 
think it is looking at that space but actually reading 
locations in the Basic Rom at $8000-$Bfff. This is an old 
trick called "ghosting" which is really just Incomplete 
address decoding but the coco did that whith special LSI 
chips (SAM/GIME).

For a really simple address decoder we could use a 74ls138 
chip with its inputs connected to the top 3 address lines 
(A13,A14,A15). Each of the output pins of the "138" would then
be a decode signal for an 8k Byte block(8k x 8 = 64k). Some 
of these decoded blocks are the same as a real coco.:
$8000-9FFF(Ext Basic Rom),
$A000-$BFFF(Basic Rom),
$C000-$DFFF(Cartrige Rom-CTS).
 The actuall coco did in fact use a 138 chip in a similar way 
but instead of connecting it to the CPU's address pins 
directly it was connected to 3 pins of the SAM/GIME which 
performed some pre-decoding. This pre-decoding is only one of 
the SAM or Gime chips functions and a small one which can 
easily be duplicated without actually needing a SAM or Gime 
chip. I will work on that and get back to you with a TTL 
version.
Clock; OK a simple one chip with crystal E and Q clock is 
fine. Go ahead and put that in the schematic. A 
3.58Mhz "Color burst" Crystal is both abundant and cheap. 
However a 1/4 "Color burst" is not so how about a crystal 
with a divide by 4 counter after it or just a common 2MHZ 
crystal instead.
Eric



More information about the Coco mailing list