Re: ISA I/O port programming question...

Harald Koenig (koenig@tat.physik.uni-tuebingen.de)
Mon, 13 Jan 1997 08:47:58 +0100 (MET)


> > What is the magic of I/O ports below 0x3FF on the ISA buss? Some texts I
> > have read state that only the first 10 bits of the I/O address are decoded
> > onto the ISA buss. Is this true?
>
> AFAIK, the only reason you shouldn't use I/O addresses above 0x3FF is that
> the original ISA spec didn't allow it, so you may find old ISA cards only
> decoding the low 10 address lines so, for example, you may find a parallel
> port at 0x378 also appears at 0x778, 0xB78, 0xF78...

correct

> I don't know if more recent cards bother to decode more than these lines.
> You may find that a fairly new machine will let you get away with putting
> I/O devices above 0x3FF, if you're lucky.

unfortuneately not true :-(
there are still may cheap serial cards which only decode 10 bits
and when used as COM4 (0x2e8) they will clash with every
IBM 8514A compatible graphic chip like S3, Mach8/32 etc. which
are using 0x42e8, 0x46e8, 0x4ae8, 0x4ee8, 0x92e8 etc...

> If you're after a lot of I/O addresses, but without disrupting the
> existing map too much, how about shifting the significance of the address
> lines? Pick a single I/O address in the proper region, like 0x3f7, and
> make your device use the other ten address lines, but only when the bottom
> ten address lines read 0x3f7. That way, you get 0x400 addresses for your
> device to play with, but only take up one byte in the I/O map.

there are only 6 bits (16-10) left for your "significant" bits still
giving 64 ports.
but note that using memory-mapped I/O you have to use more memory pages
and thus trashing the PTEs (the 8514/S3 registers are spaced 4k to this
maximizes PTE trashing :-(

Harald

--
All SCSI disks will from now on                     ___       _____
be required to send an email notice                0--,|    /OOOOOOO\
24 hours prior to complete hardware failure!      <_/  /  /OOOOOOOOOOO\
                                                    \  \/OOOOOOOOOOOOOOO\
                                                      \ OOOOOOOOOOOOOOOOO|//
Harald Koenig,                                         \/\/\/\/\/\/\/\/\/
Inst.f.Theoret.Astrophysik                              //  /     \\  \
koenig@tat.physik.uni-tuebingen.de                     ^^^^^       ^^^^^