Archives for New Lines

MPU-401: MIDI for the PC & PC/XT

An email from a user of the Lo-tech XT-CF-lite caught my attention recently, the board being used in an IBM PC 5150 that’s being set up with the original Roland MPU-401 MIDI interface. It’s something I’d never looked at in detail, but a quick search quickly pulled up a couple of recent hardware projects to make compatible ISA interface cards for it. There’s an interesting article about the MPU-401 on the Nerdly Pleasures blog, but basically the system consisted of an ISA card (‘MIF-IPC’) in the PC connected to the MPU-401 via a 25-pin DSUB connector, which then provides MIDI outputs.

Multiple MPU-401s

Flicking through the manuals then turned up something interesting… it looks like Roland had originally intended for up to four MPU-401 devices to be connected to the IBM PC, as the original MIF-IPC card sends A1 & A2 to the MPU-401, which then has fitted an ‘LS138 1-of-8 decoder:


By the time the second card was produced, the MIF-IPC-A, these lines had been simply connected to ground so effectively disabling this functionality. MIDI isn’t something I know anything about, but I’ve been told that having more than one MPU-401 attached would be “like going back to 1981 with an iPhone”!

Now of course software support would be another problem, and then there’s the question of whether the 8088 in the 5150 – or the ISA bus itself – is fast enough to keep them fed with data… but it’s something I’d like to at least have the option to try.

The Lo-tech MIF-IPC-B

So, roll on another Lo-tech PCB…, I’m calling it the MIF-IPC-B, since it builds on the Roland MIF-IPC-A (by including the reset signal masking apparently need for compatibility with PC/AT systems) with some new features. Here’s the current GerbV image:


In terms of differences from the MIF-IPC-A, the board has:

  • Option to present A1 & A2 as either ground (like the MIF-IPC-A), or from the ISA Address Bus (like the original MIF-IPC), so making possible the connection of up to four MPU-401 devices to a single card
  • Option to work in PC/XT slot 8
  • Selectable IO port base address (15 options)
  • Selectable IRQ line (6 options)

Assuming this board works as intended, there will be some further work involved in getting multiple MPU-401’s hooked up, since the schematic clearly shows that the device ID is pre-selected on the PCB. I’m not sure many owners will be too keen on modifying the MPU-401 itself, but there are two ways of getting multiple devices hooked up with this card:

  • By using multiple cards, since the IO port can be individually selected, or
  • By running a short 25-pin DSUB lead to a break-out board, providing address decoding there and up to four DSUB connectors.

Using multiple cards isn’t a great option for 5150 owners, since the system needs a graphics board, a memory board, and at least one storage adapter (and likely two) meaning possibly only one slot free. For 5160 machines, the slot-8 compatibility of this board should make this a practical option, though this will still need testing.


This board is currently at the design phase – any thoughts or ideas are welcome!

ISA CompactFlash Parts Kit Available Now!

The Lo-tech PCBs are proving popular, especially the ISA CompactFlash PCB, the XT-CF-lite PCB and the TRS-80 IDE Adapter PCB.

The most common requests are for fully assembled boards or complete parts kits, so I’m now pleased to announce the availability of full kits for the ISA CompactFlash board, available now!

The kit contains everything needed to build a fully functioning board to allow the connection of a CompactFlash card, via a cheap Compactflash-to-IDE converter like this one or this one (randomly picked; I have no connection with the sellers) to an 8088 or 8086 based IBM compatible PC.

In the parts bag are the ICs and sockets pressed into some antistatic foam, and a number of loose components – everything on the Bill Of Materials:

ISA CompactFlash Parts Kit Contents

ISA CompactFlash Parts Kit Contents

The loose components are:


Once assembled, the XTIDE Universal BIOS must be programmed onto the card. This can be performed with the card installed in the PC (no external EPROM programmer is required) using the lo-tech Flash utlity and the pre-configured ROM image. This requires having some way to transfer the utility and image file to the target system, for example by floppy disk. If you don’t have this capability, the ROM can be programmed in an external programmer, or the kit can be shipped with the ROM ready-programmed – just add the Flash Chip Programming Service for each kit purchased.