How you *COULD* have been playing Ultima V in 1988...
(too old to reply)
2017-12-14 06:39:21 UTC
Raw Message
Origin Systems released Ultima V for the Apple IIe around Q1 1988. Similar to the Atari ST conversions of Ultima III (1986) and IV (1987), and as many folks are aware, the Apple release of Ultima V features rudimentary MIDI music playback, when used with a Passport MIDI interface card. Largely intended for use with a mono-timbral synthesizer, a single, user-defined MIDI Program Change message preceeds basic MIDI Note-On/Off data (of mostly fixed velocity) for each of the fifteen musical pieces, with transmission occuring over the single MIDI channel of one's choosing.

According to an anecdodal reference by John Romero, Origin developed/tested Ultima V's MIDI support with an Ensoniq ESQ-1 synthesizer. Presumably, this target device may have been the basis of the "Instrument Suggestion" list:

Ultima Theme Piercing Brass
Britannic Lands Harp
Cap'n Johne's Hornpipe Ocarina
Engagement and Melee Brass
Stones (by Iolo & Gwenno) Lute
Greyson's Tale Guitar
Fanfare for the Virtuous Trumpet
The Missing Monarch Strings
Villager's Tarantella Oboe
Halls of Doom Harpsichord
Worlds Below Low Strings
Lord Blackthorn Pipe Organ
Dream of Lady Nan Gentle Harp
Joyous Reunion Bright Brass
Rule Britannia Full Orchestra

With verbatim interpretation and use, this mono-timbral instrument definition results in an acceptable, if middling, experience - one unrepresentative of what *could* have been done with a contemporary device, notwithstanding the simple MIDI support.

* * *

Roland released their first fully-PCM playback sound module, the U-110, in Q4 1988, along with a categorical complement of seven ROM expansion cards. Designed as a simpler, diskless entry point into the realm of "higher-quality" sample playback (then predominantly occupied by much more expensive sampling systems), the U-110 is largely passed over today, while still being recognized as the "ROMpler" forebear of a multitude of subsequent Roland products.

With its six playback parts and 31-voice polyphony, the the U-110 is ideally suited to the playback of fully-expressive, multi-timbral, multi-channel sequences - something almost entirely lacking with Ultima V's MIDI support! Nevertheless, through careful instrument selection and modification, the layering of multiple, range-limited parts, and orchestration provided by individualized, program-change-selected "patches," there's something unexpected yet to be had.

| Patch | Part 1 | Part 2 | Part 3 |Part 4 | Part 5 | Part 6 |
| P-01:UltimaThm | I-76:SOFT TP 1 | I-59:STRINGS 1 | 6-25:FR.HORN 3 | I-76:SOFT TP 1 | I-76:SOFT TP 1 | |
| P-02:BritncLnds | 5-10:HARP 1 | I-59:STRINGS 1 | 6-35:TIMPANI 2 | 5-10:HARP 1 | 1-09:POSITIVE 3 | |
| P-03:CJsHrnpipe | 5-01:VIOLIN 1 | I-59:STRINGS 1 | 6-13:CLARINET 2 | 6-13:CLARINET 2 | | |
| P-04:Eng.&Melee | I-76:SOFT TP 1 | I-59:STRINGS 1 | 6-25:FR.HORN 3 | 5-01:VIOLIN 1 | I-76:SOFT TP 1 | 6-35:TIMPANI 2 |
| P-05:Stones | 3-22:SANTUR 1 | I-55:CHOIR 1 | | | | |
| P-06:GreysnTale | I-24:A.GUITAR 1 | 6-17:CLARINET 6 | I-45:FINGERED 1 | I-95:FLUTE 1 | | |
| P-07:Fanfare4V | I-76:SOFT TP 1 | I-59:STRINGS 1 | 6-25:FR.HORN 3 | I-76:SOFT TP 1 | I-76:SOFT TP 1 | 6-35:TIMPANI 2 |
| P-08:MsngMnarc | 5-04:CELLO 1 | I-59:STRINGS 1 | 6-25:FR.HORN 3 | 5-01:VIOLIN 1 | 6-35:TIMPANI 2 | |
| P-09:Tarantella | 5-08:CB/CELLO | 6-17:CLARINET 6 | I-45:FINGERED 1 | 6-02:OBOE 2 | 1-06:HARPSI 6 | |
| P-10:HallOfDoom | 1-01:HARPSI 1 | I-59:STRINGS 1 | 6-35:TIMPANI 2 | | | |
| P-11:WrldsBelow | 5-02:VIOLIN 2 | I-61:STRINGS 3 | 6-35:TIMPANI 2 | 6-12:CLARINET 1 | 1-01:HARPSI 1 | |
| P-12:LordBlkthn | 1-15:CHURCH 3 | 1-20:CHURCH RVB | I-55:CHOIR 1 | | | |
| P-13:DreamOfNan | 5-10:HARP 1 | I-57:CHOIR 3 | | | | |
| P-14:JoyousReu | I-76:SOFT TP 1 | I-59:STRINGS 1 | 6-25:FR.HORN 3 | I-76:SOFT TP 1 | 6-35:TIMPANI 2 | |
| P-15:RuleBritn | I-95:FLUTE 1 | I-59:STRINGS 1 | 6-25:FR.HORN 3 | I-76:SOFT TP 1 | I-76:SOFT TP 1 | |

And so, as a cost-conscious computer nerd / amateur musician, armed with a properly-equipped Apple IIe system and ROM-card-expanded Roland U-110, how *could* you have been playing Ultima V in 1988...?

Michael 'AppleWin Debugger Dev'
2017-12-14 11:05:10 UTC
Raw Message
On Wednesday, December 13, 2017 at 10:39:24 PM UTC-8, Cloudschatze wrote:

Fantastic work!

I'm partial to the Creative Lab's SB16 + Wave Blaster with Ultima 6 and 7 (along with the Roland MT-32) but considering how old the Roland U-110 is -- it holds its own rather well.

Is the Passport MIDI card the best way to hear Ultima 5 ?

Back Link:
2017-12-14 18:16:35 UTC
Raw Message
"Is the Passport MIDI card the best way to hear Ultima 5 ?"

I certainly think the Passport MIDI interface and external synthesizer combination is superior, where it's been reasonably demonstrated that the results can far eclipse those of the easier-taken, Mockingboard/Phasor-based path. :)

I'll create a YouTube video demonstrating my methodology shortly. The video by nsm53project denotes a similar, if less-complex approach, using anachronistic playback devices/software.

A couple of additional points I failed to mention in the original post, in case it's of any interest:

- The recordings were taken directly from the U-110 during in-game playback, and have been subjected only to silence trimming.
- The U-110 is tuned to 415Hz - Baroque pitch.
- A similarly expanded U-110 would have cost ~$1500 USD in 1988, which was comparatively low-end for the time.
- This effort is the culmination of some 30+ hours of U-110 patch tweaking.
- I neither owned, nor thought to own, a U-110 or Apple IIe system prior to this undertaking. :)

I plan to make my U-110 SysEx files available shortly, which will allow other owners to replicate the same playback experience, while also requiring the SN-U110-01, SN-U110-03, SN-U110-05, and SN-U110-06 expansion cards.
Anthony Ortiz
2017-12-14 18:21:58 UTC
Raw Message
Hey Michael,

That midi based Passport solution is something I would love to have, and I commented on that video a while back with mind blown. How would you replicate that setup?
2017-12-17 22:29:02 UTC
Raw Message
Here's a YouTube demonstration of my Ultima V MIDI setup. It should be painfully obvious that I am, in fact, not a cinematographer. ;)

Michael 'AppleWin Debugger Dev'
2017-12-18 19:36:03 UTC
Raw Message
Roland fanboi spotted. =P

Snarky commentary aside, that's a SWEET setup!! Looks great! Sub'd to your YT channel.

Can someone post a summary of Ultima 1 - 5 and what sound cards each one supports?
Michael 'AppleWin Debugger Dev'
2017-12-19 20:19:27 UTC
Raw Message
Post by Anthony Ortiz
Hey Michael,
That midi based Passport solution is something I would love to have, and I commented on that video a while back with mind blown. How would you replicate that setup?
Hey Anthony,

Modern setup is pretty straight forward.

Apple //e + Passport -> MIDI-to-USB cable -> MacBook Pro -> GarageBand / Fruity Loops / Cubase / whatever DAWs the cool kids are using these days / your favorite DAWs that supports VSTs.

Putting it a vertical list for readability

1. Apple //e + Passport
2. MIDI-to-USB cable
3. Computer
4. VST player + instruments

Once you have the raw MIDI stream saved you can start playing around with "patches" -- i.e. instrument changes where applicable -- per track, or per note. Note that at this point you are wearing your "Arranger" hat.
2018-01-30 16:50:42 UTC
Raw Message
I'm late with posting this, but here is the demonstrated Roland U-110 configuration for the Apple II version of Ultima V, enabling anyone with a similarly-expanded U-110 and Apple setup (physical or emulated) to replicate the same in-game playback as per the video and recorded examples.


As explained in the READ.ME file, the U-110 SysEx configuration has been encapsulated in a Standard MIDI File. This SMF just needs to be "played" against a target U-110 once per the life of its internal battery, assuming the unit will only be used for Ultima V gameplay, or whenever necessary/desired otherwise. Not mentioned in the READ.ME is the fact that you shouldn't need to fiddle with the U-110's Control Channel or Memory Protection settings prior to transmission of this data - it's handled automatically via relevant SysEx, with Memory Protection being (re)enabled afterward.