Skip Navigation.
Section 0

ChromaTalk Archives: March 2002

Syntech Midi Hacking

Jeffrey D. McEachin [21030073+]

Jeffrey copied Ken Ypparila [21030229], creator of the Syntech/Chroma Cult MIDI retrofit, on this message.

Hi All,

Today I had a long talk with fellow Chroma owner Jeff Koepper [21030671] (who owns one w/ the fabled pressure/aftertouch feature, BTW), and we were grousing about the Syntech Midi Upgrade's lack of CC [continuous contoller] support for all of the front panel parameters. Jeff and I would both like to be able to program the Chroma remotely, preferably from a synth with lots of sliders, by mapping its Midi CCs to Chroma CCs. I'm pretty sure that every other Chroma owner would like the same thing (except Dave Clarke, whose ChromaKnob project is amazing).

What I'm wondering is, how hard would it be to add CC support for all of the Chroma parameters? I opened up my Syntech, and was quite pleased to see an Intel 8051 family CPU, as I'm quite familiar with writing for it. I popped out the EPROM, read it into my PC, and got a disassembly of the code. It doesn't look like it would be hard to reverse engineer. I could modify it for myself, but then I wouldn't be able to distribute it legally, assuming somebody owns the copyright on it (Ken Ypparila? I will assume this for now.).

Here are the options for adding full Midi CC > Chroma parameter mapping, as I see them:

  1. Ken could modify the code and offer it as a free upgrade.
  2. Ken could modify the code and offer it as a paid upgrade.
  3. Ken could release the source code into the public domain so that one of us could do the mods. I doubt there's much danger of someone coming along and trying to clone the Syntech kit (and as long as no hardware spec is published, there's little danger of that. Besides, it's a small and diminishing market!).
  4. Ken could release the source code to someone who has signed a non-disclosure agreement to do the mods, and offer the binary file as a free upgrade.
  5. Ken could give us his blessing to hack a disassembly of the existing code for free distribution to existing Syntech owners.
  6. I could develop a firmware replacement for the Syntech. As luck would have it, Synthcom has a fully functional Midi state machine written for the 8051. And getting the state machine right is the hardest part in doing this sort of Midi project. All I'd have to do is add some code to poop the right values out the Chromaface and I'd be half way there (converting the Chromaface back to Midi would be a little harder, but not much). I'd probably have to charge for it to get my business partner's blessing, but then, this option would require the most work, since I wouldn't be able to reuse any of the original code.

(1 & 2 require the Ken to do all the work; 3, 4, & 5 very little, but increasing work by others; 6 requires me to do all the work)

I don't want to compete with Ken or take money out of his pocket, but, I'd also like to make it possible for everyone to get the most out of their Chroma. Is it possible for everyone to win? I hope so.

Ken, I'd appreciate hearing your views on the subject.

Jeffrey

Dave Bradley [16330135]

I thought that the issue was that there weren't enough uncommited CCs available to cover the entire Chroma gamut.

Jeffrey D. McEachin [21030073+]

There are more than enough. There are 128 CCs vs. 95 Chroma parameters, plus a few miscellaneous Set Split functions.

Jeffrey D. McEachin [21030073+]

PS - I really don't mean to criticize the developers of the Syntech interface. In hindsight, it's easy to think, "oh, they should have included CCs for everything", however, the Midi spec is rather vague on the subject of how CCs are to be used, and even today, some manufacturers have a robust CC implementation, and others a rather minimalist one. So it is by no means a clear cut conclusion that every parameter should be mapped to a CC. It's just a feature that power users want, especially on a synth like the Chroma with its incredibly bad user interface.

David Clarke [21030085++]

What I'm wondering is, how hard would it be to add CC support for all of the Chroma parameters? ...

Just throwing my $0.02 in here - I would be interested in having such an upgraded ROM image for the midi interface...

Paul Hackett-Evans [21010094]

Me too!

Robert Shanks [21030301]

Count me in too...

Chris Ryan [21030691]

I've just started to think seriously about putting together the Mac OS X Chroma utility I mentioned last August.

Obviously the proposed improvements to the Syntech box would have a potential impact on the patch storage and editing capabilities of the utility. I'd definitely be interested in these mods. Please keep us up to date!

Jeffrey D. McEachin

CCC Project

CCC = Chroma Continuous Controllers

Good news, folks - it looks like I've got Ken's blessing to proceed! He no longer has a digital copy of the source code, but does have an old printout. And David "ChromaKnobs" Clarke sent me a commented version of the disassembled source, which puts me way ahead of the game.

Ken has most graciously offered to give me a few pointers on where to make the mods. This is WAY above and beyond the call of duty. Hopefully this will induce anyone who has been waiting to buy a Midi interface because it didn't have complete CC control to go ahead and buy one from Ken.

This will be a free upgrade, as long as you download a copy of the binary and burn your own EPROM. Otherwise I can provide a programmed EPROM at cost.

Now comes the fun part - specifying how this thing is supposed to work. As I'm seeing it now, there will be 3 different (Midi selectable) mappings:

  1. compatability mode - the current CC map (see Chroma Parameters to MIDI Controller Translations)
  2. expanded mode - the CCs will be mapped to Chroma parameters (CPs) on a one-to-one basis. It would be nice to be able to say CC#1 = CP#1, but we need to make allowances for common controllers such as Volume #7. If anyone has an elegant mapping in mind, please step forward.
  3. Europa mode - compatible with the CC map of a Europacized JP6. The Roland Jupiter 6 is my "main axe", and having totally rewritten its OS to allow it to transmit Midi CCs, I want to be able to use it to control other synths. And I know a few other Europa users who also own Chromas. Last night I sat down and mapped the JP6's front panel knobs & sliders to CPs. It looks like I'll be able to control _almost_ everything, with a minimum of nonsensical mappings (such as Arpeggio rate > Control Keyboard Alg). If anyone is interested in the map, let me know.

I'd really like to have a way to define the mapping via SysEx, but I'm pretty sure there's not enough RAM. I suppose I could make the source available, so that if someone wants to develop a map for their favorite knobby Midi synth, they can. If there's enough EPROM space, we could have numerous maps.

More as I get it.
Jeffrey

David Clarke [21030085++]

Re: CCC Project

I'd kind of like a 'compatibility mode +', sort of a melding of mode #1 and #2. The idea here would be that the original mapping would stay in place, and the previously missing CC's would fit into the holes. This would allow instrument definitions in programs like 'Cakewalk' to just be added to (instead of replaced).

That being said, doing a new instrument defintion ins't exactly hard - so if I'm the only one in this boat, I've no problem in updating as req'd (or re-modding mode #2 in the PROM, as req'd).

Paul Hackett-Evans [21010094]

Chroma CC project - SoundDiver???

Hi,

If we go ahead and create an update for the Chroma Cult Midiconverter, will this affect or prevent the way that Emagic SoundDiver works with the Chroma?

Jeffrey D. McEachin [21030073+]

Re: Chroma CC project - SoundDiver???

AFAIK, Malte's SoundDiver module dumps the entire Patch via SysEx after every edit. I'm not planning on doing anything to the SysEx implementation, so it should work just as it does now.

Of course, with CCCP it will be possible for someone to modify the SoundDiver module to use Midi more efficiently.

Paul Hackett-Evans [21010094]

Re: Chroma CC project - SoundDiver???

Thanks JD,

That's reassuring. I've just bought SoundDiver to use with my Chroma, good to know it won't be rendered obsolete just yet!

Kenton MIDI Sysex Dump

David Clarke [21030085++]

Is there anyone out there with a Kenton Midi interface who can perform a sysex dump for me (and provide me the resulting sysex file)?

If so, please contact me directly and I'll give you the particulars of what I'm looking for (In general I'm looking to the the data to create a converter to/from Kenton Midi SYSEX format so that people with that interface can also use the patches from the Chroma site).

Cult problems

Erik Vellinga [21010286]

Hello Chroma users.

Yesterday I received my new Chroma Cult interface replacing my Kenton kit.

Although Ken has been very helpful and has sent the unit to Holland in perfect shape I can not get it working. Maybe some of you have suggestions (please..this is on my mind for 10 years.;multi channel and CC codes etc.)

When I first connected the unit, the Kenton kit was still inside the Chroma but I had disconnected the wiring to the PCB. I know the two interfaces can not function simultaneously.

For a short moment I got the unit working, so there is a chance to get it working permanently!

With the Chroma power on I connected the interface and saw activity on my scope, I was monitoring the XOfull signal. My PC started to receive MIDI from the Chroma !

After getting the cables of the keyboard (to be able to play a few notes) and thus unplugging it, it took me 15 minutes to get it working again by continuously plugging and unplugging the interface to the Chroma.

I managed to play a few notes on my piano-module but there was a problem with note-order. SETSPLIT 46 got it into program mode and after clicking a button the Chroma hangs with a big "P" in the display. I can not make it work again after one hour trying. There must be something wrong in the handshaking, in my Chroma. I also heard a lot of digital noise when the interface is connected.

I cut the capacitor as mentioned in the service bulletin.

I have played with the "cut "capacitor value, reset circuit, power supply, replaced the LS types of IC's with HEF types in the Chroma, power up sequences, etc

I have checked the wiring (bleeping with a meter) inside of the Chroma and it's perfect.

There is no communication from / to the interface. I have checked the handshaking with an oscilloscope and there are no signals what so ever anymore.

For diagnosing I have soldered a sub-d connector to the PCB thus bypassing the Chroma ribbon cable. This results in the same situation.

There are no signals I can monitor because there are only logical levels and no activity. My Kenton is out of the Chroma, it left no traces but some holes in the wood.

I am working on getting multi channel performance and fast interfacing my Chroma for 10 years now. I am very happy I could lay my hands on the Cult interface after all this time, my Kenton was not what I expected and building an interface with a 8052 years ago took too much time so I quit on that. I know some things about the working of the interface, but this problem does not give me a clue. I know Ken's interface is OK because I have had it accidentally working for half an hour, yesterday.

Maybe my Chroma just does not want it in it's old days....

Please, do you have any suggestions ??

I am getting desperate here..

David Clarke [21030085++]

Erik,

A couple questions that might help us understand what's going on:

  • With no midi cables connected, can you still power up the Chroma and use it 'normally' (i.e., does the Chroma behave as expected, if you do not use the midi interface)?
  • What version of firmware is installed on the Chroma?
  • With no midi cables connected, can you successfully get into the "Set Split 46" configure mode - or does it always hang?

Erik Vellinga [21010286]

David,

Thank you for the response.

I got it working yesterday night ! There was a bad connection inside the connector on the back of the Chroma and a IC socket I soldered on the PCB ( when I bought it my Chroma was badly damaged ) years ago also had a bad contact. Finally adding a 10K pullup resistor to the XoFull line got it handshaking and working !

It's working the way I always wanted it to work, the Cult interface is like a part of the Chroma, a real upgrade and a MUST have for every Chroma user. I have managed to play with Sounddiver to edit the sounds / parameters and finally got to hear some of the great patches on Chris' website. It is hard to believe the Chroma is really more than 20 years old now.

I am sorry to say I will not be able to get a SysEx dump from my Kenton anymore, I have completely removed it and restored the Chroma to it's original state.

My Cult interface uses a 89C52 type of processor, and not a 8052 with an external Eprom. The 89C52 has flash memory inside and does not use an external Eprom.

Greetings from Holland,

Erik