The Midiman Winman: PC Expansion Card Installations Before Plug and Play

Tuesday, 21 July 2020
Bob Leggitt
"You need to actually enter the IRQ and memory address settings into Windows when you install the driver (no, I'm serious!)...".
Midiman Winman manual

“GUARANTEED FOR LIFE”. Now there’s a phrase you don’t hear much these days. But back when the Spice Girls were just another bunch of hopefuls wondering if they could crack mainstream pop, the Midiman company of Arcadia, California, were happy to offer their tech hardware with such bold assurance.

And their confidence was not misguided. My Midiman Winman 2x2, bought in the mid ‘90s, is still soldiering on, and frankly I’m now much more concerned for the welfare of the ISA-slot-fitted PCs that are able to accept it than I am for the Winman card itself. Don't wanna tempt fate, but it clearly is gonna live forever.

The Winman 2x2 card was very much a product of its time. An old-school PC MIDI interface providing two classic MIDI cable inputs and two classic MIDI cable outputs. Predating the widespread adoption of PCI expansion slots, the Winman was manufactured to fit into an old-school Industry Standard Architecture (or ISA) slot on the motherboard.

The card recalls a period during which home-based PCs were regularly used by musicians and producers to sequence MIDI hardware instruments such as synths, beatboxes, digital pianos and the like, but were typically not powerful enough to handle audio recording.

In 1995 and 1996, even PCs bought in the past year or so typically only had around 4MB of RAM, and a processor speed of 50-60MHz. Just running Windows would drain a big chunk of that. Then there was the limited hard drive space. 500MB (and that’s megabytes, not gigabytes) was considered high volume storage in those days. Even if it had been possible resource-wise, just one or two multitrack audio recordings would fill up that space.

So rather than fit a sound card, a lot of musicians took the route of fitting a MIDI interface to their PC. They’d then record the sound of their sequenced instruments externally.

Some Korg instruments offered a native PC connection called the PCIF (PC InterFace), which could plug directly into a serial port on the computer. But the serial ports were notorious data bottlenecks, and operation via serial connection could be too glitchy for serious use. I can confirm from personal experience that specialist cards like the Winman eliminated such glitching and provided a smooth transfer of data which allowed for stable MIDI recording and sequencing. In the mid ‘90s, the Winman was an important solution for a lot of PC musicians. And with its twin inputs and outputs, the 2x2 gave fantastic scope for expanding a home studio.

By 1999, however, PCs were generally powerful enough to record audio, and the prices of decent sound cards were crashing. Sound cards had MIDI interfaces built in, so the standalone MIDI interface card broadly reached the end of its popular reign. Technologies like the virtual instrument – another late 1990s adoption trend – further hastened the demise of the PC’s standalone MIDI interface. By the 2000s the PC could do almost everything internally.

Perhaps the most interesting thing about the Midiman Winman MIDI interface today, is its use of pre-Plug & Play installation protocol.

For decades, we’ve been able to drop a card into a PC expansion slot, and have the PC recognise it, then install the correct driver automatically. The protocol that allows this is called Plug & Play.

But the Midiman Winman was not a Plug & Play device. It úsed a really primitive system of installation which required the IRQ and memory address settings to be determined physically, on the card, with electrical jumper and pin permutations. IRQ stands for Interrupt ReQuest, and is a dialogue point for work-priority messages sent to the CPU. The memory address is a physical area of the computer’s RAM, designated for specific use by the hardware’s driver.

Midiman Winman PC Card

If you look at the Winman 2x2 card, above, you can see the banks of pins labelled “IRQ” and “ADDRESS”. In the IRQ bank, pin set 10 has a jumper on it, and the rest of the pins are disconnected. That means the card is set to use IRQ 10 – which was the factory default for the Winman.

The “ADDRESS” bank is more complex, and works on a permutational basis, according to combinations of jumper settings rather than just one. For example, with pin sets 4, 5 and 6 connected, and 8 disconnected – as shown in the picture – you assign the memory address 300h. Again, this was the factory default for the Winman. The key in the manual shows which memory addresses the other permutations assign…

Midiman Winman memory addresses

Actually setting the jumpers could prove a pain in itself. Especially if you had other cards in your PC, there was a risk that the Winman card could run into a hardware conflict with another device. At best, a conflict would cause Windows to lose one of the conflicting devices, or you’d get erratic behaviour, random shutdowns or whatever. At worst, the system would hang and may not even fully reboot.

Hardware conflicts were rife before Plug & Play. They were probably the PC user’s number one day to day nightmare. Nothing told you what was causing your problem, or even that you had a conflict. You’d just see, for example, the CD drive go missing, and then have to work out why it had disappeared.

To combat the risk of hardware conflicts, user-configurable pre-Plug & Play devices and cards normally came with diagnostic programs. The Winman conformed to that. Its floppy installation disk shipped with findport.exe and findirq.com (zipped inside findir.exe).

You’d run these programs in MS-DOS before physically installing the Winman card. They would tell you which IRQs and memory addresses were available. If the default IRQ (10) and memory address (300h) came up as available, you wouldn’t have to alter the jumper settings on the card, and could simply place it into an ISA slot. If the default IRQ or memory address were unavailable, you’d need to reset the jumpers accordingly.

So, that’s all done then, right? Once you’ve set your jumpers you just bang the card in the PC (assuming you have one old enough to carry an ISA expansion slot – so pre-2001, approximately) and Windows finds it, yeah?… Nope.

You now have to manually install the driver, because with the Winman being a pre-Plug & Play card, Windows would not have a clue what the thing was supposed to be, and would not detect it.

So, step one… DOUBLE CHECK THE PHYSICAL SETTINGS ON THE CARD BEFORE YOU REFIT THE COMPUTER CASING! You need to actually enter the IRQ and memory address settings into Windows when you install the driver (no, I'm serious!), so if you’ve forgotten them, or misinterpreted them, you’ll end up having to open up the casing again.

Driver installation would officially be done via Control Panel, with the installation floppy sitting in your floppy drive. In the era of this card, a lot of purchasers would still be installing into Windows 3.1 or 3.11 (via the Drivers icon), but instructions were also provided for the new marvel Windows 95 (via Add New Hardware). Regardless of the OS, you’d have to enter the IRQ and memory address during setup.

The process of driver installation “behind the scenes”, however, was pretty much as simple as the user’s task of running the installation program.

All the installation routine did, was drop the driver file – wm2x2win.drv – into the Windows/System folder, and then write these blocks/lines into the SYSTEM.INI file…

device=vwm2x2d.386
[NonWindowsApp]
localtsrs=dosedit,ced
[wm2x2win.drv]
enable=1
int=10
port=300h
warn=1

And in SYSTEM.INI's [drivers] block…

MIDI=wm2x2win.drv

That’s more or less all that happened when you ran the installer. Obviously the “int” and “port” lines would have different values if you weren’t using the default settings. And depending on the Windows version, the installion might also add lines to the CONTROL.INI file. But in Windows ME I only added what I've typed out, then rebooted, and the device was up and running. Works in 98 and 95 too. Windows 3.1 might require definitions in CONTROL.INI.

If you’ve already got a MIDI device assigned to “MIDI=” in SYSTEM.INI, and you want to use both that and the Winman, you can just type the Winman MIDI driver file name under “MIDI1=”. For example…

Again, in the [drivers] block…

MIDI=korgsmd1.drv
MIDI1=wm2x2win.drv

Once you see how simple the “behind the scenes” task of driver installation could be on an old PC, you might wonder why you’re sitting staring at a progress bar slowly crawling along in an automatic Plug & Play driver installation.

Most of the time Windows takes to add hardware is probably spent searching for the right driver, making sure it’s up to date and compatible, etc. And more modern Windows systems have to take account of user permissions and the like. We never had to worry about all that in the ‘90s. Then there’s the fact that some hardware manufacturers like to bundle software with their gear. In those cases you’re really waiting for software programs to install rather than the driver itself

Although the Winman card seems very primitive today, it did at least allow for a good range of IRQ and memory address options, enabling it to integrate into almost any PC system of the time. Some pre-Plug & Play cards didn’t. They came hard-configured with a non-variable IRQ, and if that conflicted with something else you’d installed previously, then tough luck.

So that's how we installed an expansion card and driver in the dim and distant days before Plug & Play became de rigueur. It's one thing even us diehard 'nineties nostalgics don't miss too much.