Hi. I discovered a small bug in the Matrix 6/6R firmware recently. I found a place
in the code that has a table of jump addresses based on the incoming MIDI byte.
The byte is checked to see if it's 7 or less, but there are only entries in the table for
0-6 values. If a 7 comes in at the wrong time, the M6 will crash.
This may seem unlikely, but I am not so sure. If MIDI messages are coming in
too fast for processing, the input buffer will fill up and it may be possible to start
getting invalid MIDI sequences in this case. The code normally ignores any invalid
sequence, but not the one I found. Not sure if this explains anything or not, but I thought
it was interesting.
You can crash an M6/M6R by sending:
F0 (sysex)
10 (Oberheim)
06 (M6)
07 this is not a valid opcode, and was supposed to be ignored...
It's an easy EPROM patch, but may not be worth the trouble. More testing needed...
The code in the Matrix 1000 looks quite different.
Bob
From:
"lists@... [oberheim]" <oberheim@yahoogroups.com>
To:
oberheim@yahoogroups.com
Sent:
Thursday, July 24, 2014 12:17 AM
Subject:
Re: [oberheim] Re: Dream on, geek: The Überh ei m Matrix-1000 Project
Hawk800 is a nice upgrade. More than just a simple drop in replacement though. It requires soldering quite a bit of leeds and a custom PCB since it was before the plethora of cheap SOCs came. I'm actually still waiting for my PCB to be shipped, he only does it a few times a year in batch :/