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.

MT-32


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. 

MT-32

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. 

MT-100


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. 

LAPC-I


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. 

CM-32L


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. 

CM-64


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.

LAPC-N


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.

There is a device called the C86BOX which allows you to interface with a pair of C-bus audio cards.  http://c86box.com/  The device is not cheap, but it can allow you to use an LAPC-N like an external module if you have the MCB-2 expansion.  The C86BOX can communicate with the cards by way of USB.  While the programs developed to communicate with the C86BOX are for the PSGs and FM chips found on many PC-98xx sound cards, this box will provide power to the LAPC-N.  Unlike the LAPC-I, the LAPC-N has "LA IN & OUT" ports which communicate directly with the synthesizer unit on the card, bypassing the MPU-401 interface.  You will not need a program like MPUTHRU to allow the MPU-401 to pass system exclusive messages to the LAPC-N.

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 first or second generation module. 

CM-500


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.

CM-32LN

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.

Conclusion

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.

Friday, January 22, 2010

The overall best PC keyboard ever made, the IBM Model M


One of my hobbies is retro computing.  Often, when I have looked back on some of the older computing models and devices, it seems that my eyes are rose-tinted.  But there are some products that can still show themselves to be superior, decades after their initial release.  The IBM Model M Keyboard is among those products. 

Back in the 1980s, the IBM brand was synonymous with quality construction.  Their personal computers were built out of thick sheet metal and industrial strength plastic.  IBM's earlier PC keyboards, the Model F PC & XT (1981, 83 keys) and the Model F AT (1984, 84 keys), were also made with the same attention to quality.  The Model F keyboards used buckling spring technology in its keyswitches, giving the key press an audible and tactile response.  The pressure from the user required to register a key was great enough to reduce the number of unintended key presses.  The keys were replaceable by lifting up from the keystem. 


The Model Fs do have their drawbacks.  The PC Model F has a widely criticized layout.  The key positioning was cramped and the US layout seemed more appropriate for Europe with its vertical Enter key and small shift keys.  The PC Model F uses a different communications protocol and is not compatible with more modern AT compatible computers.  The AT Model F addressed some of the PC Model F's shortcomings but still had its detractors.  A short backspace key is among its most frequently cited design errors.  An AT Model F will work in a modern PC (with a PS/2 adapter), but suffers from the lack of keys of a 101+ keyboard (no F11-F12, no separate cursor control or editing keys). 


In 1985, IBM released its Model M on the world.  The layout of this keyboard has been the standard ever since for PC and even Macintosh keyboards.  Unlike modern keyboards, it does not make the user suffer from tiny function keys or a small spacebar.   It still uses the buckling spring technology, toned down slightly from the Model F (especially the spacebar, which I feel is too long on a Model F.)  The Model M should work in just about any IBM PC Compatible except, in most cases, the original IBM PC Model 5150.  Like the Model F, IBM ingrained the key symbols into the plastic.  Lesser keyboards spray the symbol on top of the plastic, making the symbol likely to fade away from wear.  The Model M is a heavy keyboard, it weighs approximately 5 pounds and is not likely to shift on your desk. 

The Model M can be used with a 5-pin DIN AT plug, a 6-pin mini-DIN PS/2 plug, or with a PS/2 Keyboard to USB adapter.  I use 1390120 (no status LEDs, square IBM logo), 1390131 (status LEDs, square IBM logo) and 1391401 (status LEDs, elliptical IBM logo) style keyboards, all of which have a port on the keyboard to use an AT or PS/2 cable.  The connector used is a Shielded Data Link Connector and there are SDL to USB cables available today.  Because they use a converter in the USB plug, they are a bit expensive at roughly $35.

The Model M draws quite a bit more current than most modern keyboards, roughly 112mA.  Modern keyboards require only one-hundredth the amperage.  Some lesser and newer motherboards have had problems supplying the Model M with the proper amount of current.  A resistor or two on the keyboard's controller board can fix that, see here for this modification : http://ps-2.kev009.com/ohlandl/keyboard/modify_keyboard/Model_M_Modifications.html

The IBM Model M is easy to clean and can often be repaired.  It can be opened with a 7/32" hex nut driver.  Bent or worn out springs can be replaced with good tweezers.  All keys can be pulled off to get at the dirt in between the key holes.  One huge improvement over the Model Fs was the use of removable keycaps.  Most keycaps are readily interchangeable, so with a driver and a diagram you can have your DVORAK layout. 

Real IBM Model M's can be purchased at the same prices as quality, high end keyboards on eBay.  However, IBM subcontracted the construction of their keyboards, including the Model M, circa 1992 to Lexmark and other companies.  Lexmark and its successors implemented cost cutting measures that have a small effect on the quality of their manufactured keyboards.  Model M elitists generally tend to stick with true IBM made models.  However, there are some late variations, like the only black Model M, the M13, that are highly sought after.  A good IBM Model generally can be had on eBay for less than $75.  They were very popular for businesses back in the day and there seems to be no shortage of them available second-hand. 

There is nothing incredibly compelling about the Model M's appearance.  The keyboard is generally off-white in color with some dark keys.  The key symbols are ordinary looking, as is the LED display panel.  The overall look is old fashioned, but this keyboard is designed for serious work.

If you must have a new Model M, a 104-key Model M or a USB-native Model M, Unicomp can sell you one. 

Unicomp has the rights from IBM to continue to manufacture Model Ms and even uses IBM's molds.  I owned a black 104 USB keyboard I purchased from them before I was truly converted to the cult of the Model M.  I do not really recommend their keyboards for several reasons:

1.  Unicomp is a small outfit and has cut quality.  On the Unicomp keyboard I owned, compared to my IBM Model Ms, the plastic was not as weighty, the keycaps were raggedly separated, the cords were too thin.  The PCB inside the keyboard was held down by a plastic tab that eventually broke off, leaving the keyboard unable to make good contact with the keyboard matrix cables.

2.  104-key keyboards are less desirable than 101 keyboards.  The spacebar is drastically shortened on the 104 design to make room for windows and menu keys.  The menu key is particularly useless (right click or shift+ F10).  Letter-sized windows keys could have fit in between the Ctrl and Alt keys on each side of the spacebar without having to shorten the spacebar.  Unicomp does offer a 103 customization that will eliminate the menu key and give the spacebar a true Model M length.  The Windows keys on this mod are normal sized keys sandwiched in between the unused spaces between the Ctrl and Alt keys of a 101-key keyboard.  
3.  Unicomp's LED status label is ugly compared to IBM's. 


Gamers may prefer a more gamer friendly keyboard, the Model M can register approximately three simultaneous keystrokes.  The Model M does not come with silly multimedia keys, the functions of which can generally be accomplished with a keymapper and the function keys already in place.  A very small desk may not be able to accommodate the length of a Model M. IBM made a space saver keyboard, 1391472, that can be very useful for people who like that style of keyboard.  It does not support status LEDs.


Why be cheap and use a mushy or spongy modern keyboard with rubber dome technology?  A Model M, if properly taken care of, will likely outlast its owner.  My occupation requires a great deal of writing, so why settle for less than the best when the best is available and affordable?