[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