Wednesday, February 10, 2010

Choices for Roland LA Synthesis

My principal interest in PC games generally begins at the "true" DOS games era, which began roughly in 1987.  Before that time, most games published for the IBM PC platform were ports from other systems.  Most games published prior to that time did not require DOS to run, they booted off a floppy disk when the machine was turned on.  Games generally supported the Color/Graphics Adapter (CGA), most often capable of four colors, and the PC Speaker, a mono device without a volume control that could change the frequency of a simple square wave.  If these games supported more advanced  graphics or sound options, the user needed a special system to enjoy these features.  The special systems, most typically the IBM PCjr. and Tandy 1000 line, had less than 100% compatibility with the IBM PC. 

In 1988 games that supported the sixteen color Enhanced Graphics Adapter (EGA) began to really emerge in the marketplace.  While some games had appeared in the previous years, 1988 marks the first year when, unless you had a Tandy, you really should have bought a PC with EGA card inside it.  Also in 1988, sound cards finally began to be supported by the major gaming companies.  Many early cards competed for a coveted expansion slot in a user's computer, but only two really gained any market acceptance.  The first was the Adlib card.  This card contains a Yamaha sound chip that works via frequency modulation (FM) synthesis.  As it was reasonably priced ($190) and offered far better sound than the PC Speaker or the Tandy/PCjr. sound chip and could be installed in any computer with an available slot, it rapidly became the sound card of choice. 

On the high end, game developers had begun to support Roland Corporation's MT-32 multitimbral sound module.  This was an external midi sound module that interfaced to the computer through an MPU-401 interface card and breakout box.  This device was intended primarily for computer composers and cost approximately $600 between the module and the interface.  However, the synthesis method used, LA synthesis, produced sounds far better than the Adlib's chip.  What is more, the user could program his own sounds into the unit and make music with it from a physical keyboard.

Thus, there were choices for both types of computer user.  Many, many games supported both devices.  The music quality generally was far more impressive on the MT-32 than an Adlib.  Soon, however, there was competition in this area.  Creative Labs' Sound Blaster cards quickly eclipsed the Adlib by using the same chip and adding a midi/joystick interface and digitized sound playback and recording at around the same price.  The lack of standardization in the midi world in which the MT-32 was designed was solved when the General Midi standard became effective.  Once GM devices began to proliferate, companies quickly abandoned the prickly MT-32.

The MT-32 and compatible modules may have been resigned to obscurity, and the games which used them to obsolescence, if not for the DOSBox emulator and the retro computing hobby.  The DOSBox emulator has long supported games which use the MT-32 by emulating an MPU-401 interface.  By connecting a physical unit to the modern machine's midi hardware (I use the USB Roland UM-1X), the music will play through the unit just as it would through a classic computer.  Retro computer enthusiasts bypass the emulator and use a hardware MPU-401 interface. 

No longer having to settle for Adlib music or having to pay extreme prices for the hardware, what is a lover of DOS games to do?  There is an MT-32 emulator called Munt.  While it is always in development, the current versions of the emulator sound very good and often indistinguishable from the real thing. Moreover, it can also emulate the CM-32L/LAPC-I and its extra sound effects.  But if you are committed to real hardware, let this post act as a guide.

The MT-32 and all compatible devices are based off Roland's LA32 chip and there are only eight devices that are truly compatible.  In addition to the MT-32, there is the CM-32L, CM-32LN, CM-64, CM-500, MT-100, LAPC-I, LAPC-N.  Having had personal experience with all but three of these devices in the past decade, I would like to give the pros and cons of each:

First Generation LA32 Synthesis

The first generation devices are very speed sensitive.  They required a 40ms delay between sending midi messages.  While this was fine on a 286 machine, the speeds of a 486 and higher 386s would cause the game to send messages too quickly, leading to Buffer Overflows, stuttering or wrong sounds and lockups.  The first generation devices are noticeably noisier than the later generations.  However, a few games from Sierra and other companies exploit bugs in first generation devices to produce sound effects which the later generation devices will not play correctly.


This is the original module, and it has 128 preset instruments and 30 rhythm sounds.  It also has memory for 64 user-defined sounds which the musician sends via sysex.  It has 9 parts, with each part set to a different instrument and supports 32-note polyphony.  All external modules have three standard midi ports, one IN, one OUT and one THRU.

It has a twenty character LCD display which many games used to send cute text messages via sysex.   It has a buttons on the front to control various part parameters.  It can control the volume of each part as well as the overall volume digitally.  There is a key combination (press Master Volume and Rhythm at the same time, then press the 1 Button) to reset the module without turning it off.  There is also a diagnostic mode.  You can even see the Control ROM version info.  This module has 1/4" left and right audio output jacks. 

One lesser known difference between the early MT-32 and later modules is that the volume control knob sets the volume digitally on the early MT-32.  The later modules with volume control knobs set the volume at the analog amplifiers.

Second Generation LA32 Synthesis

These modules sound less noisy than the first generation modules.  They no longer require a delay between midi messages.  This means they are suitable to be used with any computer system, regardless of processor speed.  Some games will only work with second and third generation devices because they do not delay their midi messages. 


The second generation of the MT-32 has a 1/4" stereo headphone jack.  All modules following will have right/left and stereo headphone 1/4" jacks.  The late MT-32 also contains demo tunes not present in the CM/LAPC series or the early MT-32s. 


This module is a bit more obscure than the others in this category.  It is a combination of the capabilities of an MT-32 (minus some controls) and the Roland PR-100 sequencer.  Its status panel only displays eight characters at a time (as opposed to the MT-32's twenty character display) and will NOT display sysex messages.  Although its disk drive looks like a standard 3.5" drive, it uses 2.8" Quick Disks.  These are the epitome of rare media in this country. 


This is the only LA32 device that is found on a PC expansion card.  This is an 8-bit ISA (f.k.a. XT bus) card.  It is 13" long, which is the maximum length of a PC expansion card.  It can be connected to an MCB-1 midi expansion box to interact with external devices.  This card adds 33 sound effects to the MT-32's capabilities, and certain DOS games used these sounds.  It also has a Roland MPU-401 interface on board, which many MT-32 compatible DOS games require to produce MT-32 sounds.  This makes it a very valuable card to retro computing enthusiasts. 

This card has left and right audio RCA jacks and a stereo 1/8" minijack.  Its MCB-1 has four midi jacks, 1IN, 2 OUTs and a SYNC.  The OUTs can become THRUs by programming the MPU-401 interface.

In addition to requiring a unobstructed full-length ISA slot (it won't fit inside any Tandy 1000, for example), this card also requires a -5v power source.  Modern ATX (2.0 or above) power supplies do not offer -5v power, and many computer cases cannot house 13" cards.  These problems are not new, however, as Tandy 1000 compatible machines cannot accept 13" cards and sometimes do not supply -5v power.  As this is an ISA card, it is more susceptible to electrical noise from the rest of the PC, but I have never read of any serious complaints. 

It may be possible that the earliest LAPC-I cards may not have jumper blocks to allow the user to select the I/O ports and/or IRQ to be used for the MPU-401 interface.  I have never seen a card lacking them.  Besides, many games expect a Roland MPU-401 to use I/O 330-331 and IRQ 2/9 and fail to work if the card isn't using those resources.

Because of this card's MPU-401 interface, Windows XP and older OSes can detect and install the card as a midi device.  DOSBox can use it directly in this fashion as can DOS games run in a DOS window.  If your DOSBox machine lacks ISA slots, you may wish to look at a USB2ISA adapter, but they are expensive and whether the card will work with such an adapter is uncertain.  Instead, you should stick it in a retro computer and connect your modern machine's midi interface to the MCB-1 midi box. 

If you use this method, in order to avoid resetting or restarting the retro machine every time you play a new game, you will need to send a reset command through a sysex program or embedded in a midi file.  However, by default the MPU-401 interface will not transmit sysex from the MCB-1 to the LA32 synthesis component on the card.  From the retro computer, you will need to run a program called mputhru to instruct the MPU-401 interface to allow sysex messages to be accepted and sent to the LA32 component. 


This module has the same hardware features as the LAPC-I, minus the MPU-401 interface.  All the CM modules only have an analog volume control knob on the front of the unit, no display, no buttons to change parameters.  To reset these modules, you have to turn them off and back on, send a sysex message or play a midi file with the reset command embedded within. 


This module has a CM-32L board and combines it with a CM-32P board, all in a plastic enclosure the same size as either unit.  The CM-32P uses PCM (pure samples) synthesis and has a slot to insert cards that will add additional sounds.  These modules are designed to co-exist, with the CM-32L using midi channels 2-10 and the CM-32P channels 10-16.  No DOS games are known to intentionally support CM-32P features.  Because there are two PCBs in this enclosure, the resulting noise floor is higher than using the CM-32L.  There is also an annoying feature: games that are not CM-32P/CM-64 "aware" and send data to the midi channels reserved to the CM-32P will produce unintentional, obtrusive sounds.  Sierra's titles from 1988 and early to mid 1989 suffer from this problem, fortunately you can use drivers from later games in all instances except early versions of King's Quest IV and Leisure Suit Larry II.  If you have one of these games, you can send a MIDI message to turn channels 10-16 off.


This is just like the LAPC-I, but it is designed for the Japanese PC-98xx series of computers.  It uses the C-bus, which is similar to the ISA bus of the IBM PCs but utterly useless on them.  The only practical value this rare device may have for PC games is if you use it with its Midi Expansion Box (MCB-2), installed inside a PC-98xx machine and use the combo as a midi module.  See the LAPC-I entry for more details.

Third Generation Roland LA32 Synthesis

Third generation modules have the best sound output quality to them, but the vibrato is noticeably different sounding, leading most users to prefer a second generation module. 


This used to be a very prized device, as it is a combination of a Roland CM-32L and a Roland CM-300.  The Roland CM-300 is the barebones version of the Roland Sound Canvas SC-55, which is GS and (with later models) General Midi compatible.  A four-position switch on the back of the module needs to be set to use one, the other or both.  The switches are as follows:

Mode A - CM-300 & CM-32L at the same time
Mode B - CM-64 emulation
Mode C - CM-300 only
Mode D - CM-300 on midi channels 1-10, CM-32L on channels 11-16. 

Mode D is useless for DOS games that support MT-32 or compatibles, since they expect the module to use channels 2-10.  Mode C is ideal for DOS games that support General Midi, but useless for MT-32 or compatible games.  Mode B is generally useful for MT-32 compatible games, but it has the same problem as the CM-64 with regards to unwanted sounds coming from the emulated CM-32P.  Using Mode A will solve that problem, but it requires the user to send a command to turn off the CM-300 parts before starting a game.  You will not observe any results of changing the switch until you turn the device off and back on.


This is another Japanese PC-98xx exclusive device, this time it was intended to connect to PC-98xx compatible notebooks through a special 110-pin connector.  Fortunately it also has standard-sized midi jacks, so it can be used with IBM PC games without difficulty.  It is also is grey in color, unlike the beige look of the rest of the CM modules.


If you want a module that just works with everything without any fuss, I would suggest a CM-32L.  If you have a retro machine that can fit the card, try to get the LAPC-I, but they are not cheap anymore.  If you want the best of both worlds, however, a combination of a first generation MT-32 and a CM-32L would work perfectly.  If you also want GM/GS compatibility and not a bunch of modules cluttering your house, try for a CM-500.  As far as places to buy, eBay is the obvious place but you should also consider Japanese Auction sites as well for some deals.

1 comment:

Rossen Dimitriev said...

Apparently it seems there are 2 revisions of the LAPC-I card. The earlier one which is revision 00, is lacking the jumpers for setting the IRQ channel of the card. Jumpers near the ISA slot are not soldered. On the other hand there is revision 01, which has the jumpers available.

You can distinguish the revision by looking at the two numbers right after the assembly number: