E-MU ROM Clones

With a little bit of determination, I have succeeded reproducing hardware clones of the E-MU expansion sound ROM SIMMs used in a wide range of their devices. If your E-MU device uses these sound ROMs natively, these clones will behave identically. Like the originals, these sticks store a maximum of 32Mb of sample data.

Tech Notes

In a typical sound ROM layout, E-MU organized the data into two segments: the preset data used by Proteus 2000 and its variants (P2K) and the sample data used by P2K and the EOS samplers (E4). Specifically for the E4 sampler, its preset data is co-mingled with the sample part of the flash. E-MU used the nomenclature for “baby” flash corresponding to the Proteus 2000 preset area, and the other four chips were for storing the PCM sample data AND the E4 presets.

Across the entire lineup of released ROMs, the sound data formats were not consistent across devices which probably caused a lot of confusion to the owners when the expansions only worked in certain slots, or worse not at all. A few of the expansions neglected the E4 entirely by not providing presets and providing only the samples. However, those particular ROMs lacking the E4 presets did contain presets for the P2K. If you do experience odd behavior with the ROMs in general, an update to the latest firmware typically solves a majority of the quirks.

Emulator IV Samplers (E4) Preset Info

The layout of the E4 preset is pretty wonky, and looks like it mirrors the complexity/flexibility of the EOS sampler interface. Simply speaking, a single preset can have up to 256 voices – where any voice can be assigned to a single group – each of those pointing to one or more samples assigned to a key. Interestingly enough, the sample data on the ROM is built from Emulator III (E3) sample objects. So you have E4 presets pointing to E3 samples with a bunch of indirection in between.

The E4 sampler has an inherent limitation of 1000 presets with 1000 samples. When you save the sound ROM data to hard disk in an E4 sampler, you are getting an abbreviated dump. For instance the Composer ROM has way more than the 1000 samples on it, but are inaccessible on the E4. On a few of the other release expansion ROMs, the E4 presets are omitted entirely and appears like E-MU focused entirely on their Proteus portfolio. As a consolation, you still get the samples for the sampler at least.

Now the reason why Composer presets are inaccessible on the E4 is due to the sound data being constructed from two 16MB ROM halves. Note: this organization also occurs on Xtreme Lead and Phatt variations as well. I had a chance to examine the earlier E-MU sampler flavor ESYNTH, and the Audity 2000 ROM set of AUDTY and XTREM. I confirmed they are sound ROM only (no P2K preset flash), and that ends the mystery of why those will not work in P2K. And comparing with P2K expansions, this is how E-MU organized the sound data for the split ROM 32MB variations:

Green area indicates E4 preset access only, whereas P2K can access both segments
Proteus 2000 and friends (P2K) Preset Info

The P2K can have up to 8 banks of 128 = 1024 presets stored in the baby flash. Each P2K preset can have a riff (midi object for auditioning), and an arpeggiator sequence. The preset also has a maximum of four layers with each layer pointing to a single instrument object. Each instrument object can map multiple samples across the keyboard zones. The P2K can have up to 2048 instrument objects, and possibly greater than 2048 samples since the samples are address based. That was a little bit wordy, but here is a picture to assist:

A small downside to this architecture is the instrument objects are read-only in the sample flash and you are stuck with the expansions you have installed. The layering possibilities for presets increase substantially with each expansion ROM added to the system. The good news is the presets can be saved or loaded via sysex into another 4 banks of writable user flash, so you can backup your configurations and even make it possible to share with others.

Now going back to the variations of split ROMs, its pretty obvious that you only need one of each variation and not all nine since they all have the same sound data. With a little bit of sysex wrangling, you should be able to load the presets of one release and port to another. For instance, the 8 banks of CMPSR presets dumped and converted to use P2500 or PROM. That being said, you probably want to prioritize the Command Station ROMs because they have the arpeggiator objects and the others do not.

Now before you try sharing your meticulously handmade preset, you might pay attention to which ROMs you have installed. The P2K preset information can be stored on the sound ROM, however it does not guarantee that it is has to reference its own ROM data. In particular, there are two such expansion ROMs where its presets have dependencies on another: ORCH1 references ORCH2 instruments, and GRAIL references some of the CMPSR instruments and riffs.

Sound Authoring

So the limitation of the instrument architecture of P2K is fixed, but outside the box you can do whatever you want. Custom ROMs that contain your own samples and instruments with zero load time? Enter sound authoring.

All of the ROM clones that I plan on releasing will be re-programmable. Technically it’s no longer a ROM, but it is definitely read only while its installed in the device. It will certainly not replace the functionality of the Flash SIMMs – ie. you will not be able to use the sound authoring methods that the EOS E4 Ultra sampler provides with these clones. If you want to load your own custom samples, I will eventually provide a method to do that – outside of using EOS.

With such a large number of instrument objects, you could do some cool things in laying out your own custom ROMs. With some creative organization of the data a couple ideas are very easy to implement:

  • wavetables
  • play through ROM — for the adventurous
  • forward and reverse samples next to each other — regain that reverse sample playback

I have been experimenting on a couple of methods that will make the process less convoluted than working manually within the E-MU user interfaces. Notably the following:

  • Factory ROM editor (keep samples you want, delete what you don’t)
  • Batch scripting user samples to P2K presets
  • e4b to P2K preset conversion (thinking about all those wonderful E4 sample banks and CDs I own)
  • and a few sysex tools to save and recall presets

Future Work

Here is a little show and tell of what is in progress:

Adventure Kid Single Cycle Waveforms