ISA Over TPM To Your PC

A green PCB with an ISA card slot and various connectors and components. The text "DISAPPOINTMENT LPC to ISA Adapter" is printed in the bottom left of the board.

Sometimes you really want to use your legacy SoundBlaster instead of emulating it for classic games. While modern PCs don’t have ISA slots, [TheRasteri] is fixing this shortcoming with his dISAppointment board. (via Adafruit)

ISA was the standard card bus for PCs during the golden age of DOS gaming, and many of these games will still run on modern x86 hardware. Unfortunately, they run into hiccups with regards to sound since they were designed to specifically support ISA-based sound cards. [TheRasteri] found he could access the ISA bus lurking in modern computers through the Low Pin Count (LPC) bus which is exposed on the TPM port in many modern motherboards.

Testing the card with DOOM, he gets music and sound effects with no emulation required. Open Source files and a more detailed video are on the way, so stay tuned if you’re hankering for more ISA goodness on your modern rigs.

We’re no strangers to ISA here. We’ve covered the basics of the ISA bus as well as plugging ISA cards into USB and how you can emulate vintage ISA cards with a Raspberry Pi and FPGA.

27 thoughts on “ISA Over TPM To Your PC

  1. I wonder what other ways exist to access the LPC bus on a modern PC.
    I have so many questions about what could be done with these on a modern machine and OS. It would be awesome if I could use some of my vintage sound cards to get appropriate playback of some equally vintage midi tracks.

  2. Ok, I read the wikipedia article on the LPC bus. A lot of the details were a bit over my head.
    But I did pick up on this is a narrower bus for both addressing and data transfer, it runs at a lower clock rate and some other ISA-bus signals I don’t really know anything about are removed.

    So… does that mean all the old ISA peripherals should just work only slower? Or does it mean that only hardware which specifically uses just the lower bits of the bus and none of the other signals will work?

    In other words, is this the generic, plug whatever old hardware you want to try out into it ISA on a modern computer solution I have been hoping for? Or just a way to get some specific audio cards going for old DOS games?

    Very cool, either way though!

      1. Yeah, it is. A friend made a similar project many years ago and for what he wanted to do DMA was the one thing stopping it from being viable.
        It should be noted that for random byte transfers the LPC bus tops out at around 4-5MB/s, but long reads/writes will go faster. One of the hurdles is configuring the chipset to map the address window you want. Most motherboard BIOSs are going to map what is needed for a Super I/O chip, TPM, and maybe a Firmware Hub.

    1. Not for an DOS environment.
      DOS software expects a soundcard that conforms to Sound Blaster standard.

      Other less popular soundcard types were the Gravis Ultrasound, Windows Sound Standard (WSS) and the Pro Audio Spectrum series. And that’s not the end of the list.

      Besides, many later PCIe soundcards don’t have a classic gameport, an YMF262 FM synthesizer or an MPU-401 compatible MIDI interface.

    2. Oh sweet summer child :)

      Back in the day, you’d get totally different sets of sounds, audio and effects depending on which soundcard camp you were in. Even within the different types, the sound signatures / wave and midi tables would be completely different by model. It was a minefield. You’ve got to software emulate for modern soundcards, which is different.

    1. If I recall correctly the ISA bus can only do DMA with the lowest megabyte of address space where MSDOS lives, it has no access to ‘extended memory’ or anything like that, Disk controllers on the ISA bus had really awful performance due to this limitation

      1. There were RAM cards for 8 and 16 bit ISA which could be XMS (on a 286 or later) or EMS. Some could be split between the two types. I had a 286 with 12 megabytes total RAM with 512K in DIP chips on the motherboard and the rest on three Micron 16 bit ISA cards.

        One card backfilled the motherboard RAM to 640K plus more. I had it divided between XMS and EMS because I had some games and other software that needed EMS. I had the OEM only Windows 3.11 that still had Standard Mode on it. It had some fixes not in Windows 3.1, plus if used on a 386 or 486 it had 32bit disk or file access. One or the other, I don’t recall which. Enabling it was pretty much useless because for whichever one it didn’t have it still had to thunk to 16 bit even if everything else was 32bit compliant.

        But if you had a 386 then there was no reason to run 3.11 on it when there was Windows For Workgroups 3.11 that had both 32bit disk and file access plus Win32s could be installed.

      2. ISA is an 16/24-Bit bus and quite okay at 12 MHz. ;)

        In older 286 mainboard designs, ISA or AT-Bus (IBM’s original name of the bus) run at full CPU speed, sometimes with zero waistates, even.

        If you’re curious, have a look at the IBM AT Model 5170.
        It came in two versions, 6 and 8 MHz.
        EISA/ISA specification by The Gang of Nine capped ISA bus at those ~8 MHz.

        Originally, all peripherals sat on ISA or AT-Bus directly. Chip sets didn’t exist, it were all discreet ICs. The NEAT chip set was one of the earliest chip sets.

        Memory boards (EMS, Extended Memory) were inserted in the ISA slots, too.
        The main memory was wired to the ISA bus, too, no chip set in between.

        Examples with pictures can be found on this site:

        1. IBM used to publish great technical manuals for their PCs and peripheral hardware. I had a set for the PC/XT with full schematics and BIOS listing and the DACA board tech manual with full schematics. I also had the great tech manual for AT&T’s PC-6300 (same as Olivetti M24) with schematics. I also had a tech manual for the PS/2 model 80, but my recollection is IBM stopped providing the BIOS listing by then. They’ve gotten away as I’ve moved several times. Those were the days. As far as I know, nobody publishes detailed information like that now.

  3. I was just looking at my Soundblaster AWE 32 two days ago and wondering if there was a way to get its 16 bit ISA interface to work with a more modern PC and operating system. I’m more interested in the MIDI and the great sound fonts for this card. The newer sound card software emulations just don’t sound as fantastic and there are subtle timing differences which make complex MIDI tracks coded for the AWE 32 sound founts not quite right on modern hardware. The project described in the article looks like it might be the basis for making my legacy MIDI hardware and files useful again.

  4. That stuff shall be integrated into Orpheus II soundcard. This is a modern soundcard targeting retrogamers, and it has several chips on it. It is an ISA card. But if it’s being created now as we speak, then vendor can redesign sound card to be PCI Express card, but only to drain power from PCI Express. And make Orpheus II connect to TPM port via cable.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.