Messages in this thread |  | | Date | Mon, 13 Jan 1997 03:17:52 +0000 (GMT) | From | David Woodhouse <> | Subject | Re: ISA I/O port programming question... |
| |
On Sun, 12 Jan 1997, Robert Erlich wrote:
> 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... 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.
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.
---- ------------------------------------------------ ---- David Woodhouse, WWW: http://dwmw2.robinson.cam.ac.uk Robinson College, Email: dwmw2@cam.ac.uk Cambridge, Tel: +44 (0) 976 658355 CB3 9AN, (n)talk: dwmw2@dwmw2.robinson.cam.ac.uk England. PGP KEY: finger pgp@dwmw2.robinson.cam.ac.uk ---- ------------------------------------------------ ----
|  |