[Coco] I/O address decoding [WAS: co80 and cowprs modules in NitrOS-9]

Gene Heskett gheskett at shentel.net
Sun Jan 20 17:43:01 EST 2019


On Sunday 20 January 2019 17:00:32 Tormod Volden wrote:

> On Sun, Jan 20, 2019 at 10:34 PM Gene Heskett  wrote:
> > hour to fix that and redo the driver. Killing the IO above $FF7C for
> > coco3's memory management, without opening up some lower addresses
> > with better address decoding was a money saver I'll never forgive
> > the shack for when there is room for 14 more IO slots below the
> > floppy at $FF40, forever wasted. But you've read this rant from me
> > in more colorfull language many times in the past. what has amazed
> > me is that no one has come up with a kit to fix that, taking 11 or
> > 12 pieces of wire wrap wire and some trace cuts to install the
> > 74ls138 it would take to fix it. Since theres no way to get its
> > output into the mpi, it would take a second kit for it, but then
> > even a 16 slot mpi would be practical. Shoulda been done in '87. 
> > Now?
>
> I think the idea (maybe already back in '87) is that a cartridge
> wanting to use any of these <$FF40 addresses that should have been
> free, can actually do that as long as it asserts the /SLENB cartridge
> port input line so that PIA0 and PIA1 are not enabled at the same time
> as the cartridge.
>
Is cheap 74ls*** stuff fast enough to make that work w/o potential 
cross-talk and a heck of a lot of ground bounce? My mpi had to have more 
bigger bypassing, a couple added .1 mylars and a bunch of solder braid 
to jumper over the open loops in the actual pcb to get that under 
control.  And I still have no clue what logic was turned on when it 
shouldn't have been. But until that was fixed, the ground bounce in the 
mpi compared to ground in the coco3 was over 2.5 volts for about 10 ns 
on every machine cycle.  Thats enough to confuse a scsi drive. Now its 
within the noise margin at about 200mv peak.  And except for formatting 
a new floppy, it just works.

> Of course, this requires that all drivers actually accessing PIA0 and
> PIA1 are not abusing the "ghost" addresses but stick to $FF00-FF03 and
> $FF20-FF23.

In the rom surveys I've done on my machine, they are clean.

This /slenb suppression really ought to be done in the coco itself in 
order for it to be fast enough.  And it should be simpler & faster to do 
than a full decode. 4 schotcky diodes?
> Regards,
> Tormod


Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>



More information about the Coco mailing list