[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Request for Product



"Bill Garber" <willy46pa@comcast.net> writes:
>: Instead, the select lines should be switched:  I/O Select,
>: Device Select, I/O Strobe.  That will be enough to switch
>: almost all cards (execptions would be that do their own
>: slot decoding on board--a dubious practice).

>I believe only /DEVSEL is needed to be switched in.
>/IOSEL and /IOSTROBE are rendered inactive while /DEVSEL
>is High. So, therefore, with device select switched out,
>the card will not be accessed at all.

/DEVSEL is active (low) in the 16 byte area $C0Mx (M=slot+8) while
/IOSEL is active in the 256 byte area $CNxx (N=slot) and /IOSTB is
active from $C800..CFFF inclusive.

You do need to gate each of these three signals like so:

/DEVSEL1 = /DEVSEL + CARDSEL
/DEVSEL2 = /DEVSEL + /CARDSEL

/IOSEL1 = /IOSEL + CARDSEL
/IOSEL2 = /IOSEL + /CARDSEL

/IOSTB1 = /IOSTB + CARDSEL
/IOSTB2 = /IOSTB + /CARDSEL

eg
		/IOSEL
/IOSEL1   |    0       1
----------+-----------------
CARDSEL=0 |    0       1
CARDSEL=1 |    1       1

Thus only one card will be activated and changing CARDSEL will change
which card it is.

There are cards that can share a slot at the same time without any switching.
The Z80 Softcard only uses /IOSEL (a write turns the card on or off).
The Stellation 6809 Mill card only uses /DEVSEL (works well in slot 3 of
a IIe).

I am sure that there are other cards that only use one or other of the
select lines.
-- 
David Wilson  School of IT & CS, Uni of Wollongong, Australia