[Coco] On John Linnville's Color Computer Game Master Cartridge Design

John W. Linville linville at tuxdriver.com
Wed Aug 2 17:36:30 EDT 2017


On Wed, Aug 02, 2017 at 01:23:12PM -0500, RETRO Innovations wrote:
> At CocoFEST, John and I discussed potential additional opportunities for the
> SN76489 sound IC within the Coco community. After recovering from the fest,
> I ordered a batch of the ICs and I sent out a PCB design to attach the unit
> to a Coco.  While the boards arrived many weeks back, I have been busy with
> other things and, as discussed on both the podcast and CocoTALK, I've been a
> bit unmotivated to finish the design.
> 
> Well, I decided I should at least get the unit working, so I would at least
> be knowledgeable about the IC and its capabilities.  The datasheet specifies
> a quite lengthy cycle time needed to store data into the unit, but I was
> undeterred.
> 
> And, after 3 nights working (fighting) with this IC, I think people should
> give more credit to John for his design.  He didn't just wire up this IC to
> the Coco expansion bus, he performed some magic to successfully map it into
> the Coco address range.

Thanks for noticing! :-)
 
> The SN76489 takes 32 4MHz cycles to successfully store a value in a
> register, which is 8uS, though that might be worst case, as I see 3uS
> typical.  In any event, this need to hold the data valid for so long makes a
> simple connection to the Coco bus more complex (essentially, unless one
> wants to HALT the CPU while the write completes, it appears one needs to
> store the data in a faster "buffer register" and then hold the bus signals
> to the IC until the IC signals the write is complete (there is a "READY"
> pin)).

There is more than one way to do it, even with relatively simple
logic. Checking schematics for a few of the old machines that used
the device reveals a handful of viable options without resorting to
on-board microcontrollers or programmable logic.

> I thought I'd point this out, since I originally did not have a full
> appreciation for John's accomplishment.  As it stands, my original PCB won't
> work, but I was able to verify correct operation by attaching the IC to a
> microcontroller and successfully pushing sound out of it that way (I know
> the chips are good).

The chosen approach uses the READY signal to hold the WE^ and CE^
signals as required during the extended write cycle. An example of
this can be found on the MTX-512 system schematic. A similar example
circuit is included in the datasheet for the related SN76496AN chip,
which is essentially the same as the SN76489AN chip with an addition
AUDIO IN pin for mixing with an external signal.

I've been meaning to do a blog write-up on the design. Maybe I should
go ahead and do that soon...

John
-- 
John W. Linville		Someday the world will need a hero, and you
linville at tuxdriver.com			might be all we have.  Be ready.


More information about the Coco mailing list