Background

ISA Bus Card


Around the beginning of 2006 I came across a Hack-a-Day article detailing the work of one Abhishek Dutta, also known as "The Linux Maniac".
The article linked to a page on his own personal website, unfortunately it seems to be down right now but the Web Archive seems to have caught it.
Here's the page.

The page goes on at length about the hardware and protocols required to interface to a PC's ISA Bus, and provides schematics and logic designs to actually implement the design. I decided to implement the design myself for the hell of it.

The linked page is not the latest version of Abhishek's page, it has been lost, which is very disappointing since it was amended with my conversation with Abhishek regarding a small error in his design that would prevent it from operating correctly regarding the tri-state nature of the data bus he had constructed.
To put it simply, he had accidentally allowed multiple chips to interfere with each other's signals due to not switching them into high impedance mode when they weren't needed. This was easily corrected with the addition of a few inverters.

So after all the mental gymnastics required to verify the design and correct that one minor error, I began building. I used veroboard with rows of copper, salvaged logic chips from old expansion cards and computers and single core telephone wire for all the connections, as it's thin, holds it's shape when it's bent and is easy to work with.

I built it in two parts, a small interface and address decoding card, which plugs into the computer's ISA bus, and the main logic card, which receives Addressing, Data and Power from the Interface card.

The final result is an expansion card that provides 4 x 1 Byte Inputs and 4 x 1 Byte Outputs, the card uses a total of 8 bytes of the computer's available address space.

Unfortunately I never completed the Input portion of the card, but all the parts and bus wiring is in place to complete it, now I just have to remember how to wire the specific logic that deals with addressing and switching the buffers into tri-state mode.

Pictures

(You can navigate between images by clicking on the left hand side of the image to go back, and the right hand side to go forward)
Stacks Image 19
Stacks Image 20
Stacks Image 21
Stacks Image 22