Ultima 4’s Native MIDI Support

I had (and still have) plans for numerous things to write about on here this year but real life has been taking precedent for the last few months. I’ve started a new job which currently means many hours of commuting every day and when I’ve not been doing that, I’ve had my hands full getting my house ready to sell. That’s now on the market so in the hopefully brief lull before I have to worry about moving, I might manage a post or two.

I’m sure all Ultima fans are aware of the fan patches that add MIDI support to some of the early DOS Ultimas. What is somewhat less well known is that the earliest two Ultima games to support music had built-in MIDI support from the beginning on the Atari ST. This is something I’ve been wanting to try out for ages.

First off, a quick look at Ultima 4 running without MIDI. Apologies as ever for the usual quality of the video on here as I’m still just pointing my phone at the screen. The built-in Yamaha sound chip on the Atari ST is in effect the same as on the ZX Spectrum 128 or Amstrad CPC, i.e. a 3 channel beeper. It’s not horrible but it lags way behind the Amiga which would come out mere months later.

The built-in MIDI support of the ST was a unique feature, leading to the machine being used for years in music production. Watch enough 80’s Top Of The Pops and you will see the occasional ST driving synths. MIDI didn’t see a whole lot of use in ST games in truth. Sierra included MT-32 support for some of their games and were the main proponents. I can’t imagine many gamers took advantage of this given that the MT-32 would have cost far more than the ST itself. If you had that sort of money, you probably had an Amiga or PC by then. To the best of my knowledge, Ultima 3 and 4 were the only Origin games to support MIDI on the ST.


For the purposes of trying them out, I’ve connected up my SC-155 to the ST’s MIDI out. While fairly ancient, this synth is still more modern than what was available at the time. On starting the game, this is what I got:-

You’ll no doubt have noticed that the music is being played entirely on piano. This is because, while the game is outputting MIDI instructions, it doesn’t send any more than just the notes so it all defaults to the grand piano. Several years layer, general MIDI was introduced with a standard set of instruments but at this time every device would simply do its own thing. This means I have to fiddle around on the SC-155 picking instruments myself. I let the title screen cycle through tracks while changing instruments. After some effort, I came up with this:-

There is certainly room for improvement but that sounded reasonable to my ears at least. A whole lot better than the original beeps anyway. There doesn’t appear to be any subtlety in the instructions, in terms of volume and the like. The notes are simply being switched on and off. The music is split into 6 channels giving me 6 instruments to choose for the various parts. The snag is that those same instruments will then be used on every other piece of music. No doubt there is a suitable combination that will work in all cases but I tried restarting with my new settings and it sounded a little off to my ears:-

A little more experimentation is definitely required but I ran out of time. It’s certainly a nice extra to have included in the game for those ST owners who had the extra hardware. Ultima 3 works in the same way, except all the notes are on the one channel meaning you can only pick the one instrument (at least without more advanced equipment to process the MIDI).

3 thoughts on “Ultima 4’s Native MIDI Support

  1. Wow, this is an interesting bit of information! Thank you very much for sharing this! It is particularly nice that through the MIDI interface the ST can play the full six voices of the original score. It definitely has the upper hand over the Amiga here 🙂

    It would be a neat project to make the instruments for the different tracks selectable, maybe by reading in an additional configuration file when the game boots up and use this voice information throughout the game. Also, while doing this it would be worth speeding up the music to the original tempo, it really is being played awfully slow compared to the other versions (compare to Apple II).

    • I noticed the slow music as well. I’d speculate the version of U4 I was running was originally intended for NTSC machines rather than PAL but I’m only guessing. It was pretty common for us Europeans to get slower versions of games back then.

  2. Pingback: Pix Explores Ultima 4’s Native MIDI Support – The Ultima Codex

Leave a Reply

Your email address will not be published. Required fields are marked *