VOGONS


16 bit ISA extender

Topic actions

First post, by tony359

User metadata
Rank Member
Rank
Member

Hi all,

I've (badly) designed a 16-bit extender which allows you to plug an ISA card while sitting on your bench, for ease of troubleshooting. Now, it's my very first PCB design - so please be kind with me - and it only works partially. But I used it to troubleshoot a Sound Blaster Pro 2 and worked beautifully!

I'm gather intel for a revision 2 - your input is very welcome of course - and of course the design is going to be free for everybody to use.

You can see this in action in my latest video (sponsored video, I hope this whole post doesn't sound like an advert, my intention is really to share this with you)

https://www.youtube.com/watch?v=EmfBOxiLLRs

For Revision 2
- Use 80 conductor cables (IDE cables so I don't need to make custom ones)
- Add decoupling capacitors
- Add a dedicated power cable
- Add power LED
- Add test points and labels

Looking forward to your comments!
Cheers!

My Youtube channel: https://www.youtube.com/@tony359

Reply 1 of 25, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
tony359 wrote on 2024-05-25, 09:05:

- Add a dedicated power cable

That would be my first recommendation. Ribbon cables are lousy for carrying current.

Reply 3 of 25, by dionb

User metadata
Rank l33t++
Rank
l33t++

Nice project! I was always wondering why nobody would have done a thing like this yet.

Second the power cable, which would also let you reduce pin count on the flatcables - more if you put on a voltage regulator to produce -5V and -12V too (although that may be a bridge too far)

Another thing that might be worth thinking about is to put the ISA slot on the edge of the second PCB instead of in the middle, so the ISA card is more horizontal and there are less stresses on the connector.

Reply 4 of 25, by tony359

User metadata
Rank Member
Rank
Member
rasz_pl wrote on 2024-05-25, 12:19:

you forgot a link to design files? 😀

It's probably because I'm a bit ashamed of that, I'm confident it ticks many of the "DON'T DO" boxes when it comes to PCB design! 😁

Let me see if I can import it in KiCAD and see how I can export it 😀

Second the power cable, which would also let you reduce pin count on the flatcables - more if you put on a voltage regulator to produce -5V and -12V too (although that may be a bridge too far)
Another thing that might be worth thinking about is to put the ISA slot on the edge of the second PCB instead of in the middle, so the ISA card is more horizontal and there are less stresses on the connector.

Ah, good idea about -5 and -12. What happens if there is -5 and -12 coming from the PSU already? I guess nothing?

I thought about having the ISA socket on the edge but that would make probing the back more difficult. Is that really needed? Probably not...

My Youtube channel: https://www.youtube.com/@tony359

Reply 6 of 25, by tony359

User metadata
Rank Member
Rank
Member

I could find long risers like that but I'm not sure they would be very usable as the card would be very wobbly. That is cool though as the socket is at 90 degrees so I guess it could rest on the case? Definitely for a motherboard in a case though.

Which takes me to the "make sure traces are not too close on the PCB itself, which might be challenging.

My Youtube channel: https://www.youtube.com/@tony359

Reply 7 of 25, by kingcake

User metadata
Rank Oldbie
Rank
Oldbie

IDE cables literally extend the ISA bus. Why you don't use those is a bit baffling.

After a long cable run you don't need decoupling, you need bulk capacitance for a local reservoir. So something like a 100 to 1000uF for each rail. The cards will have all the decoupling/bypassing required for their ICs.

ISA cards can have large power requirements, do not run power on tiny ribbon cables unless you provide current limiting.

Since this thing is flapping about and could short on things, you should implement poly fuses. The ISA bus can supply amps of current and burn traces easily on your precious vintage motherboards.

Having something outside the case and "out in the world" like this should have ESD protection, preferably TVS diode array ICs.

You don't need -12V. But an optional 7905 for -5V would be a good idea. You need to use protection diodes when using 790X regulators in this type of setting. Check the datasheet to see what I'm talking about. Put a jumper block to make/break the 7905 if not required. The 7905 will need heatsinking. Use a surface mount version and use copper pads on both sides of the PCB with via stitching.

These are all things I've learned the hard way designing my own ISA cards.

P.S. I recently subscribed to your Youtube channel and enjoy your content!

Reply 8 of 25, by tony359

User metadata
Rank Member
Rank
Member
kingcake wrote on 2024-05-25, 17:52:

IDE cables literally extend the ISA bus. Why you don't use those is a bit baffling.

'cause I would need three of them so I thought 2x50 was cleaner.
Also, I didn't want to have to chop my existing IDE cables - I thought that such long cables would be a no-no. And this would still be a possibility I guess?

After a long cable run you don't need decoupling, you need bulk capacitance for a local reservoir. So something like a 100 to 1000uF for each rail. The cards will have all the decoupling/bypassing required for their ICs.

Ah good point thanks!

ISA cards can have large power requirements, do not run power on tiny ribbon cables unless you provide current limiting.

Definitely an issue with the cheapo ribbon I got from Aliexpress. 5 strands per conductor!

Since this thing is flapping about and could short on things, you should implement poly fuses. The ISA bus can supply amps of current and burn traces easily on your precious vintage motherboards.

Another good thing I shall add on my list thanks.

Having something outside the case and "out in the world" like this should have ESD protection, preferably TVS diode array ICs.

I'd need to know more about that.

You don't need -12V. But an optional 7905 for -5V would be a good idea. You need to use protection diodes when using 790X regulators in this type of setting. Check the datasheet to see what I'm talking about. Put a jumper block to make/break the 7905 if not required. The 7905 will need heatsinking. Use a surface mount version and use copper pads on both sides of the PCB with via stitching.

The jumper to enable/disable is a good idea. I'd say that adding the pads for the 7905 is good - then everybody can decide whether to populate them or not.

These are all things I've learned the hard way designing my own ISA cards.

Your feedback is very much appreciated!
I'm now curious if the extender just works with extra power cables + capacitors!

One question I have is: say the extender works with the power improvement.
Do I still re-design the board to use 80 conductor IDE cables? My concern is the length and as I said I would like to avoid having to chop off those cables - and I couldn't find the ribbon/plugs for sale.

P.S. I recently subscribed to your Youtube channel and enjoy your content!

I'm glad you do and thank you!

My Youtube channel: https://www.youtube.com/@tony359

Reply 9 of 25, by PC@LIVE

User metadata
Rank Oldbie
Rank
Oldbie

I saw your video of the sound card repair, and I found your ISA riser very interesting, personally I use an ISA RISER that was on an old PC, this allows me to have the card visible (horizontally), recently I had to use it with an MB 486, which has an acid leak from the battery, in this way I could see the post card and the related codes, the corrosion should have interrupted one or more traces under the KEYBIOS socket, I had tried to replace the socket with one new, but I can't unsolder it, because the tracks are very delicate, I thought it was better to stop, rather than continue and risk detaching something.
I follow your videos with interest, and if by any chance it can be useful to you, I can put some photos of my Riser, which worked well, on a pair of 486s, I have never tried it on a socket 7, speaking of this, I also have a Soyo SY-5BT, and in the next few days I will try to rebuild a pin of the cache chip (missing), it won't be easy but I hope I can.

AMD 286-16 287-10 4MB HD 45MB VGA 256KB
AMD 386DX-40 Intel 387 8MB HD 81MB VGA 256KB
Cyrix 486DLC-40 IIT387-40 8MB VGA 512KB
AMD 5X86-133 16MB VGA VLB CL5428 2MB and many others
AMD K62+ 550 SOYO 5EMA+ and many others
AST Pentium Pro 200 MHz L2 256KB

Reply 10 of 25, by mkarcher

User metadata
Rank l33t
Rank
l33t
tony359 wrote on 2024-05-25, 09:05:

Use 80 conductor cables (IDE cables so I don't need to make custom ones)

Be careful! Those cables do not provide 40 connections, but just something like 37, because the cable select and 80-pin-detection stuff is built into the connectors and works by not just connecting every other cable to the matching cable pin. Also, the fixture that grounds all the intermediate wires might connect all signals intended to be GND on the IDE plug.

Reply 11 of 25, by mkarcher

User metadata
Rank l33t
Rank
l33t
tony359 wrote on 2024-05-25, 09:05:

I've (badly) designed a 16-bit extender which allows you to plug an ISA card while sitting on your bench, for ease of troubleshooting. Now, it's my very first PCB design - so please be kind with me - and it only works partially. But I used it to troubleshoot a Sound Blaster Pro 2 and worked beautifully!

All the cards that worked on the extender, even the cards with a 16-bit form factor, are in fact 8-bit cards if you look at it from a bus transfer perspective. They use the 16-bit ISA extension to get access to DMA0 and high IRQ lines, but they don't do actual 16-bit transfers. The 16-bit VGA cards in your YouTube video on the other hand do make use of 16-bit transfers. If something is wrong that only affect 16-bit data transfer, the only affected sound cards will be those cards that support high DMA channels (Ensoniq Soundscape 2000, SB 16, GUS). In addition to all the good ideas about your revision 2, the complete failure of the adapter to work with a 16-bit VGA in any system might be related to some issue regarding one of the following ISA signals that are only used in conjunction with 16-bit transfers: IOCS16, MEMCS16, SBHE, D8..D15, LA17..LA23. IOCS16 is unlikely to be used by 16-bit VGA cards.

The 16-bit protocol works approximately like this:

  • A card that supports 16-bit memory cycles and sees its address on LA17..LA23 pulls MEMCS16 low. The lines LA17..LA23 can already provide the top 7 address bits of the subsequent cycle while the previous cycle is still not completed. This allows to pipeline the detection of a 16-bit target to avoid latency.
  • A card that supports 16-bit I/O cycles and sees its address on A0..A15 pulls IOCS16 low. In this case, the "latched" address lines are used. The effect is that IOCS16 generation is not pipelined with the previous cycle, and thus there are no zero-waitstate I/O cycles in 16-bit ISA systems, because the latency of detection 16-bit cards precludes them.
  • If the board detects MEMCS16/IOCS16, bytes at odd addresses are transferred using D8..D15 instead of D0..D7. If a cycle includes a "high byte", SBHE is pulled low. If a cycle includes a "low byte", A0 is low. This makes it possible to interpret A0 as active low "low byte enable", just as SBHE is an active low "high byte enable". Driving A0 high (indicating start at an odd byte) and not driving SBHE low (indicating the use of the "odd byte bus" D8..D15) is not meaningful and not allowed by the ISA specification.

As you can see, the MEMCS16 stuff is quite timing critical, and if there is no issue with the 16-bit signals, I'd expect the LAx-to-MEMCS16 delay is too high with your extender, so the board and the VGA card disagree about the 16-bitness of the memory cycle.

Reply 12 of 25, by tony359

User metadata
Rank Member
Rank
Member
mkarcher wrote on 2024-05-25, 20:03:

Be careful! Those cables do not provide 40 connections, but just something like 37, because the cable select and 80-pin-detection stuff is built into the connectors and works by not just connecting every other cable to the matching cable pin. Also, the fixture that grounds all the intermediate wires might connect all signals intended to be GND on the IDE plug.

Of course, I would need to re-design the whole thing to make sure that all pins are as intended - thanks for the heads up, I'll have to find out a "schematic" of the 80-conductor IDE cable.

All the cards that worked on the extender, even the cards with a 16-bit form factor, are in fact 8-bit cards if you look at it from a bus transfer perspective. They use the 16-bit ISA extension to get access to DMA0 and high IRQ lines, but they don't do actual 16-bit transfers.

Ah gotcha. I did check all the pins with a meter and I know they are all connected but who knows. Thanks for the details, I'll keep them in mind when I troubleshoot.

personally I use an ISA RISER that was on an old PC, this allows me to have the card visible (horizontally),

When I decided I needed something to probe my ISA cards horizontally, I looked online and I couldn't find the 90 degrees one. I could only find the card-sized extenders but that would only work for a board in a case and it would still be difficult to probe stuff, particularly without crashing the system when the card wobbles around. So I went for my own design. I'm confident I can make it work at some point! I am a bit more confident with the designer software and hopefully it won't take too long.

My Youtube channel: https://www.youtube.com/@tony359

Reply 13 of 25, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
mkarcher wrote on 2024-05-25, 20:03:
tony359 wrote on 2024-05-25, 09:05:

Use 80 conductor cables (IDE cables so I don't need to make custom ones)

Be careful! Those cables do not provide 40 connections, but just something like 37, because the cable select and 80-pin-detection stuff is built into the connectors and works by not just connecting every other cable to the matching cable pin. Also, the fixture that grounds all the intermediate wires might connect all signals intended to be GND on the IDE plug.

This. I would not use the 80C IDE cables, I don't think ISA is fast enough that interspersing ground wires will be required.

Reply 14 of 25, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
kingcake wrote on 2024-05-25, 17:52:

You don't need -12V. But an optional 7905 for -5V would be a good idea. You need to use protection diodes when using 790X regulators in this type of setting. Check the datasheet to see what I'm talking about. Put a jumper block to make/break the 7905 if not required. The 7905 will need heatsinking. Use a surface mount version and use copper pads on both sides of the PCB with via stitching.

Not sure if I'm reading this out of context, but there are vastly more ISA cards which use the -12V rail than those which use -5V

Reply 15 of 25, by kingcake

User metadata
Rank Oldbie
Rank
Oldbie
PC@LIVE wrote on 2024-05-25, 19:58:

I saw your video of the sound card repair, and I found your ISA riser very interesting, personally I use an ISA RISER that was on an old PC, this allows me to have the card visible (horizontally), recently I had to use it with an MB 486, which has an acid leak from the battery, in this way I could see the post card and the related codes, the corrosion should have interrupted one or more traces under the KEYBIOS socket, I had tried to replace the socket with one new, but I can't unsolder it, because the tracks are very delicate, I thought it was better to stop, rather than continue and risk detaching something.
I follow your videos with interest, and if by any chance it can be useful to you, I can put some photos of my Riser, which worked well, on a pair of 486s, I have never tried it on a socket 7, speaking of this, I also have a Soyo SY-5BT, and in the next few days I will try to rebuild a pin of the cache chip (missing), it won't be easy but I hope I can.

I use one of these. Permanently installs in an ISA slot and lets you work on cards while they are powered up. It has buffers that let you hot swap ISA cards while dos is booted. It also has overcurrent and short protection.

IMG_2119.jpg

Reply 16 of 25, by kingcake

User metadata
Rank Oldbie
Rank
Oldbie
maxtherabbit wrote on 2024-05-25, 20:58:
kingcake wrote on 2024-05-25, 17:52:

You don't need -12V. But an optional 7905 for -5V would be a good idea. You need to use protection diodes when using 790X regulators in this type of setting. Check the datasheet to see what I'm talking about. Put a jumper block to make/break the 7905 if not required. The 7905 will need heatsinking. Use a surface mount version and use copper pads on both sides of the PCB with via stitching.

Not sure if I'm reading this out of context, but there are vastly more ISA cards which use the -12V rail than those which use -5V

Sorry I wasn't clear. What I was getting at was that even modern ATX will supply -12V. -5V is much more common to be missing. In terms of needing onboard regulators on the extender.

Reply 17 of 25, by tony359

User metadata
Rank Member
Rank
Member
maxtherabbit wrote on 2024-05-25, 20:58:

This. I would not use the 80C IDE cables, I don't think ISA is fast enough that interspersing ground wires will be required.

Well I guess it wouldn't hurt? Just thinking that if I need to re-design, maybe the 80 conductor wires might be a good idea - my only concern is: will that work with LONG IDE cables then? 'cause I don't want to chop them off! 😀

Let me explore the power issue first. If the VGA card starts working when power is improved... well, we'll discuss then 😀

kingcake wrote on 2024-05-25, 20:59:

I use one of these. Permanently installs in an ISA slot and lets you work on cards while they are powered up. It has buffers that let you hot swap ISA cards while dos is booted. It also has overcurrent and short protection.

ha! That would be my revision 786. 😁
I can find the simple version of that board online but I still don't like it as you still end up with poor access on the board. I really want the card on the bench. But that's a super cool device!!!

My Youtube channel: https://www.youtube.com/@tony359

Reply 18 of 25, by kingcake

User metadata
Rank Oldbie
Rank
Oldbie
maxtherabbit wrote on 2024-05-25, 20:58:
mkarcher wrote on 2024-05-25, 20:03:
tony359 wrote on 2024-05-25, 09:05:

Use 80 conductor cables (IDE cables so I don't need to make custom ones)

Be careful! Those cables do not provide 40 connections, but just something like 37, because the cable select and 80-pin-detection stuff is built into the connectors and works by not just connecting every other cable to the matching cable pin. Also, the fixture that grounds all the intermediate wires might connect all signals intended to be GND on the IDE plug.

This. I would not use the 80C IDE cables, I don't think ISA is fast enough that interspersing ground wires will be required.

You use a 20x2 2.54mm pin header regardless, so it doesn't really matter? But I agree it shouldn't be needed for 8-12MHz operation.

Edit I just read above about why you shouldn't use 80 conductor. Good points all around.

Last edited by kingcake on 2024-05-25, 21:13. Edited 1 time in total.

Reply 19 of 25, by kingcake

User metadata
Rank Oldbie
Rank
Oldbie
tony359 wrote on 2024-05-25, 21:06:
Well I guess it wouldn't hurt? Just thinking that if I need to re-design, maybe the 80 conductor wires might be a good idea - my […]
Show full quote
maxtherabbit wrote on 2024-05-25, 20:58:

This. I would not use the 80C IDE cables, I don't think ISA is fast enough that interspersing ground wires will be required.

Well I guess it wouldn't hurt? Just thinking that if I need to re-design, maybe the 80 conductor wires might be a good idea - my only concern is: will that work with LONG IDE cables then? 'cause I don't want to chop them off! 😀

Let me explore the power issue first. If the VGA card starts working when power is improved... well, we'll discuss then 😀

kingcake wrote on 2024-05-25, 20:59:

I use one of these. Permanently installs in an ISA slot and lets you work on cards while they are powered up. It has buffers that let you hot swap ISA cards while dos is booted. It also has overcurrent and short protection.

ha! That would be my revision 786. 😁
I can find the simple version of that board online but I still don't like it as you still end up with poor access on the board. I really want the card on the bench. But that's a super cool device!!!

If a long IDE cable will work with a hard drive, it will work with your extender. IDE hard drives literally run the ISA bus down the ribbon cable. Electrically there is no difference between what you are doing and what a hard drive is doing.

Oh yes I agree laying the card down flat would be much more ergonomic!

Use dedicated power cables of decent thickness (like the gauge used to power a hard drive), and put bulk capacitance on the card side of your extender for each rail (100uF to 1000uF for each rail, not critical, whichever caps you have laying around. They do not need to be low ESR for this application). And I'm almost certain it will work.