I belive I finally got the "on eisa" right.
| if (!(isdp->id_iobase & 0xf300)) { |
| printf(" on motherboard\n"); |
| } else if (isdp->id_iobase >= 0x1000 && |
| !(isdp->id_opbase & 0x300)) { |
| printf (" on eisa slot %d\n", |
| isdp->id_iobase >> 12); |
| } else { |
| printf (" on isa\n"); |
| } |
| } |
Based on info in "The undocumented PC" p.165