[Coco] 6 Chip ^809 Computer -> Kipper SBC

RETRO Innovations go4retro at go4retro.com
Sun Mar 15 02:24:23 EDT 2015


On 3/15/2015 12:55 AM, Gene Heskett wrote:
>
> On Sunday 15 March 2015 01:37:17 RETRO Innovations wrote:
>> On 3/14/2015 8:14 AM, Gene Heskett wrote:
>>> Jim, this exactly the thinking that resulted in the coco shipping
>>> with an address decoder that only decoded in slices $20 wide.  So
>>> the on-board I/O used up $40 bytes when in fact it needed $08 bytes
>>> to service the two PIA's.
>> Which is why Tandy put the !SLENB signal on the bus.  By using it and
>> a decoder, you can make the onboard PIAs only respond to $08 bytes of
>> address space.
>>
>> Jim
> And !SLENB was driven true low by an external decoder? Plz explain
> further as I never did fully understand that, and obviously it was
> poorly understood by everyone, else we would have had a plethora of i/o
> ports that were addressed at $FF04-$FF07 etc. It never happened that I
> am aware of.  If it is in fact that easy, I'd love to build it & play
> with it.
SLENB allows you to turn off the internal decoder.  But, it doesn't have 
to be an all or nothing affair.

PIA#1 appears at $ff00, appears for 4 bytes, and then has 31 mirrors.
Let's say an external cart wants to put a PIA at $ff04-$ff07. Here's how 
they do it:

You manuall decode $ff00 (put a 8 bit NAND gate on A15-A18, and then 
take the resulting active low output and feed it into a '138 decoder.  
Then, take A2/3/4 and feed them into the A/B/C inputs of the '138
At this point, Y0 = $ff00, Y1 = ff04, Y2=08,Y3=0c,Y4=10,Y5=14,Y6=18,Y7=1c

Tie Y1 to !SLENB and also as the enable for your new PIA.

Tada, Your New PIA will appear in the address space at $ff04 and only 
$ff04.  The original PIA will show up everywhere else.

You can extend the idea.  Just decode any address that you want your new 
IO to appear at, and make a signal that goes low when any of those 
address are on the bus.

I assume that the Coco 3 will not let you map out $ff00-$ffff using the 
GIME memory mapper (if so, then you'd not be able to get back to the 
registers to map them back in).  So, I think this is all you need to do 
to get your new PIA in place.

I have no idea why people never did this, but it offers a nice 
additional area for IO.

Jim





More information about the Coco mailing list