[Coco] *SLENB behavior?

RETRO Innovations go4retro at go4retro.com
Thu Nov 10 12:45:00 EST 2016

On 11/10/2016 10:28 AM, Darren A wrote:
> On Thu, Nov 10, 2016 at 8:29 AM, Mark J. Blair wrote:
>> Program Paks simply connected CART* to Q, and the Multi-Pak MUXed the
>> CART* signals from each slot. The MPI also provided a 4.7k pull-up for each
>> slot's CART* signal. Either a totem-pole or wired-or driver should be fine
>> for CART*.
>> NMI*, HALT* and SLENB* should be treated as wired-or signals, though, even
>> if some contemporary designs got that wrong.
> Yes, the HALT* line is another I forgot to mention.
> Although not strictly required in an MPI, I would still recommend any new
> design treat CART* as wired-or.  There are those who have long advocated
> modifying the MPI to tie all the CART* pins together and remove 3 of the
> pull-ups so that interrupts from a serial pak or other device are not lost
> when the slot is not active.  Of course you then have to be careful not to
> use any auto-starting program paks in the MPI, or put some tape over their
> Q or CART* pins.
> - Darren

It's a good callout.  I had the following for the CART line:

assign cart =                    (autostart ? q : 'bz);

so, I changed it to:

assign cart =                    (autostart & !q ? 0 : 'bz);

To cover the use case you're describing.


RETRO Innovations, Contemporary Gear for Classic Systems

More information about the Coco mailing list