Monday, February 20, 2017

Playing Ultima V with Passport MIDI Music on a Real MT-32

I've been playing Ultima V in DOSBox for a while now and am almost through with the game. Just a few days ago, a friend told me that Brendan Robert's Java Apple Computer Emulator (JACE) now has support for configurable MIDI OUT. This means the Passport MIDI support already built into JACE can be redirected to whichever MIDI player you have. I've been using the Roland MT-32 on most of the games I play with DOSBox, but never with Ultima V.

This assumes you already have a working Windows setup for playing MIDI music on your MT-32. In addition having Munt would be good for testing and troubleshooting.

Most of the same steps will apply on a real Apple II if you have the real Passport MIDI card, or a2heaven's modern version of it.

Steps:

1. Install JACE

You can get the JAR file from https://sites.google.com/site/brendanrobert/projects/jace. Follow the install instructions, including Java JRE installation if you don't have it yet. Double click the JAR file and it should run up to the following screen:



2. Add Passport Midi Interface to an empty slot in the computer

Hit F4, go to Computer | Slot 4 | and select Passport Midi Interface. Click Apply.



3. Select CoolSoft MIDIMapper as your Midi Output Device

Go to Computer | Extended 80-col card | Passport MIDI Controller | and select CoolSoft MIDIMapper. Click Apply. Click Save.


It's this setting where you should also see your USB Midi Cable or MT-32 Synth Emulator (if you have Munt installed) listed as options. You can try these settings out first instead of CoolSoft MIDIMapper and skip ahead to Step 5.

I tried using the USB Midi Cable setting first, but JACE and Ultima V didn't work using that setting. I kept getting the "UNABLE TO START MUSIC" error message:


My best guess is that the driver for the USB Midi Cable I have is old.

The workaround I found is to install CoolSoft MIDIMapper to act as a "wrapper" for my driver. The assumption is that CoolSoft is a properly certified / newer driver, and so is recognized and works well with JACE and Java.

You can get CoolSoft MIDIMapper here:
http://coolsoft.altervista.org/en/forum/thread/427

4. Select USB Midi Cable as your output device on CoolSoft MIDIMapper



5. Run Ultima V


6. Configure voices

Go to Activate Music | Music Configuration | Change Music Configuration | Slot 4 | and press G to add Passport MIDI.


Press enter to configure voices. You move the cursor to the field you want to change and just type in the number then Enter. You should change MIDI Channel to 2, and Number of Voices to 32.

The MT-32 by default does not listen on Channel 1.


I used the MT-32 instrument list provided in the link below to find the right MIDI number:
http://www.voidaudio.net/mtinstrument.html

Note that the list starts at '1' while Ultima V starts with '0' so you'll have to subtract 1 from the number you get on the list when you enter it into Ultima V.

You can hit Enter on an instrument line to hear a preview of the instrument you selected. You should also see the instrument you chose on the LED display on the MT-32.


Most of the voices have a direct match, except maybe for the Lute - which I set to play a Harp (57), and Full Orchestra - which I still don't know what the best setting is for. Right now it's set to Orchestral Hit (122) which doesn't sound quite right, so I might just switch this to Brass Section (95 or 96).

Technically, you can also send new instrument patches for Lute and Full Orchestra using sysex messages.

Once you're happy with your instrument choices, hit ESC, select Save Music Configuration, then select Return to the Game.

That's it! Now go get the bell book and candle. Oh wait we've done that already...

tl;dr Nothing beats real steel.