[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