PDA

View Full Version : IBM 5161 expansion unit - Optimal usage



per
June 10th, 2010, 02:34 PM
I have done some research on the operation of the IBM 5161 expansion unit, and I am trying to figure out how to optimally use it.

First of all, the IBM 5161 is not just an extension of the ISA bus (due to the nature of TTL). Instead, it's a seperate ISA bus bridged together with the main XT ISA bus through a cable and some interface cards. Therse interface cards contains buffers and latches, so any transmittion to a card on the other side of the "bridge" gets sligthly delayed. Because of this, an extra wait-state is generated for memory reads/writes. The address range this extra wait-state is generated in is determined from the jumpers on one of the interface cards, more precicely from absolute address X0000h to EFFFFh, where X equals the setting of the switches translated into hexadecimal.

Now comes the problem of what the optimal settings are. Due to the delay, certain cards cannot be placed in the expansion unit; most notably the FDD controller and display adapters. This reduces the posibilities if you want an "ultimate" setup with as few wait-states as possible.

First of all, wait-states when accessing general RAM has a very signifficant slowdown as RAM is accessed quite frequently (at least in unoptimized programs like the ones I write myself). Because of this I want all RAM to be in the system unit, and this takes 2 full-length slots using original IBM cards. throwing in the FDC, a MDA, a CGA, and the extender card fills up the remaining 4 full length card slots (I'd like to keep this system an all-IBM system). The remaining slots can be used for an Async card (slot 8) and another half length I/O card. In this setup we have all the memory up to (not including) segment C in the system unit, and there will be no extra wait-states for the most vital devices.

The expansion unit will contain a HDD controller, so Segment C must have extra wait-states added. I also plan to add a PGC too, which has RAM in segment C as well. Both those devices are slow enough to not be affected by the wait-states. Finally I plan to add in some other misc cards like some general I/O cards and a music feature card.

An EGA could be used instead of a CGA, but this would have moved the Int10h handler into segment C, which still has extra wait-states, causing slower video-routines. Of course some programs has their own routines, but many programs using the EGA are intended and designed for faster computers than PC/XTs anyways.

My question is:
Is there anything special with slot number 8 in the expansion unit? I cannot see anything special according to the scematics, but I have heard that there may be issues similar to the ones in the IBM PC/XTs slot 8.

IBM Portable PC
November 13th, 2013, 12:56 PM
Has anyone had success with a FDC in the Expansion Unit?

Specifically a Copaticard IV?

Shadow Lord
November 13th, 2013, 05:44 PM
Per,

If you are using an original IBM CGA card you may not be able to have a PGC in the same system as I believe the BIOSes will conflict. For a triple monitor setup you need MDA, original IBM EGA, and the PGC (in PGA mode) AFAIK.

Beerhunter
November 14th, 2013, 03:46 AM
Due to the delay, certain cards cannot be placed in the expansion unit.
I realise that you are relearning all this stuff but the limitations of what adapter cards were supported in the In the Expansion Unit were clearly pointed out at the time of announcement in 1983.

I don't recall that, unlike the PC XT, slot 8 in the Expansion Unit was any different from the other slots, but it was 30 year ago. :)

Trixter
November 14th, 2013, 06:35 AM
em of what the optimal settings are. Due to the delay, certain cards cannot be placed in the expansion unit; most notably the FDD controller and display adapters.

Not sure if you mistyped the above, but I'm using an MDA in my 5161 just fine. (The CGA card is in my 5160.) I measure no slowdown, but both CGA and MDA has a wait state so maybe they're not the best benchmarking candidates.

per
November 14th, 2013, 06:51 AM
I realise that you are relearning all this stuff but the limitations of what adapter cards were supported in the In the Expansion Unit were clearly pointed out at the time of announcement in 1983.

I don't recall that, unlike the PC XT, slot 8 in the Expansion Unit was any different from the other slots, but it was 30 year ago. :)
The original post was written 3 years ago, so it's quite old. I've learned a lot since then. And yeah, slot 8 of the expansion unit is just regular.

Also, as Trixter mentions, most cards work with the expansion unit anyways. IBM were quite conservative with their suggestions.

-----

As for the PGC and CGA, it will work as long as CGA emulation is disabled on the PGC. Neither the PGC or the CGA has any form for BIOS extension, and PGC only has a shared memory window for IO. On the other hand, PGC and EGA/VGA will only work if the BIOS extension of the EGA/VGA is 24KB or less.

IBM Portable PC
November 14th, 2013, 11:55 AM
?......most cards work with the expansion unit anyways........

But has anyone had any joy with an FDC in the 5161?