From Brian Willoughby Sent Sun, Aug 25th 2019, 18:59
To answer your first question, Yes. There are still people who speak = assembler in these modern times. I recently wrote a 6809 disassembler to = solve a SysEx problem with the Matrix-12. The documentation was wrong about one command, but I couldn=E2=80=99t be = sure whether it was the documentation or my code. All I knew at first = was that I could get all of the other SysEx commands to work perfectly, = so I was reasonably sure that this last one wasn=E2=80=99t my fault. = After a lot of work writing a disassembler and then manually deciphering = the code, I was able to find out the error in the documentation and fix = my code. It=E2=80=99s not a quick process, but it=E2=80=99s possible. = The command in question was the one that allows you to put text on the = three vacuum fluorescent displays - it=E2=80=99s not really too useful, = but it=E2=80=99s fun. By the way, for my Matrix-12 / Xpander patch librarian, I managed to get = around the fact that Oberheim doesn=E2=80=99t allow SysEx dumps from/to = the edit buffer. Since they allow individual parameters to be edited = remotely, my librarian takes apart a patch on the computer and then = sends one parameter at a time. This is tricky, because if you send them = at full MIDI speed, the poor little 6809 will trip over itself and lose = some parameters. I found out how much time delay between parameters is = needed so that the Oberheim isn=E2=80=99t overloaded. This allows me to = preview a patch on my Matrix-12 without writing it to a memory slot. My = librarian is not a full editor yet, though. Excellent work on your hacking the OB-Mx SysEx dump to isolate each = parameter and determine its format! The fact that part/multi number is = 3x is indeed very strange. It=E2=80=99s very common to see 2x, 4x, 8x, = et cetera - these are just bit shifts - but 3x is strange. I don=E2=80=99t= use SoundDiver, but any SysEx librarian/editor would have to deal with = this. Brian On Aug 25, 2019, at 1:12 AM, Urs Grossenbacher <xxxxxxxxxxxx@xxxxxxx.xx> = wrote: > To get the sysex strings was quite a work as I am not capable to get = the strings by reverse-engineering the operating system. > Does anybody speak assembler today?=20 > I started with a blank part/multi with every switch set to off and = every potentiometer set fully counterclockwise. > Then I recorded an =E2=80=9Einitial" sysex dump from the OB-Mx. > Afterwards, I changed every possible parameter step by step from = minimum to maximum, recorded a sysex dump after every parameter change = and compared them to the "initial one=E2=80=9C to get the sysex format. > For the tuning tables I could re-use the work already done by Thomas = Siebert in the original but very, very limited adaption in SoundDiver. > I definitively have done easier work ;-) > It comes as little surprise that there are some inconsistencies: why = to you put three times the part/multi number in its sysex string, e.g.? > As I am not sure if it is allowed to put the SoundDiver adaption as an = attachment to the Analogue Heaven list I will directly email you the = adoption and some xls-files with the sysex strings. > There are still some blank bytes - probably left free for future = expansions/OS revisions. > Beware: as there is no edit buffer yet every change will be directly = applied to the OB-Mx without further warning - so backup your = parts/multis/tunings first. > Before you can really start working with SoundDiver you have to = manually dump all the parts/multis/tunings first to fill SoundDiver=E2=80=99= s memory. > Receiving a globals dump doesn=E2=80=99t work yet - but you can = initialise globals in SoundDiver and then send them to the OB-Mx. > For the multi and part ROM: they are prefilled with the default names = - but they are not filled with data. > If you want to you can change the adaption temporarily: set the ROM = bank driver to editable, copy/paste the original RAM data to the ROM, = set back the ROM bank driver to ROM. > Enjoy,=20 > Urs v/o synthifan >=20