A firmware update for the AKAI AX80 Synthesizer
I was recently helping a friend troubleshoot his AX80 and thought it might be helpful to learn a little about the firmware. As I got deeper into understanding it, I thought it might be nice to make a few improvements, if possible. I visited a few web forums where the AX80 was being discussed, and found that someone was already working on a firmware update, so I contacted that person, and we decided to work together and see what we could accomplish.
Our firmware has survived a Beta test phase, and is now available. Here are the new features:
1) MIDI Sysex patch save and restore - saves or restores Bank A and B patches in one operation
2) MIDI Sysex and cc parameter changes are now supported
3) Non-volatile storage of MIDI send and receive channel setting, current patch, and NVLFOFR variable
4) Selectable free-running LFO's mode, controlled by NVLFOFR variable
5) VCF cutoff parameter changes are now applied immediately
6) Current program and bank are displayed when program Write is initiated
7) MIDI channel-setting displays changed to rC and SC for receive channel and send channel
Here is an archive containing all three versions of the new code, which correspond to the three versions of the original code.
Here are some instructions for using the new features.
And here is an archive containing both Rev I and Rev K/L factory A and B RAM presets in the new sysex format. There are a few bytes that do not match the values in the service manual, but I suspect they were either small tweaks or typo fixes, so I am leaving them alone.
If you do not have access to an EPROM programmer, and would like to purchase a programmed EPROM containing the new code, I am offering them for $30 including postage to USA addresses. Please determine which version of the firmware you are currently running (on the EPROM label) before contacting me. A portion of the proceeds from any sales will go to my collaborator on this project. Also, if you can program your own chip, please feel free to contribute anyway, to encourage us to tackle other similar projects.
If you are closer to Germany than to the USA, and are interested in purchasing a programmed EPROM, please visit this site: http://www.untergeek.de
Here is some information about how to remove and install EPROMs.
Some technical trivia
When we examined the original EPROM image, we found about 104 bytes of unused code space. This was not enough room for the features we hoped to implement. My plan was to switch to a larger EPROM to get more space, but this would have required soldering a wire to the chip (or to a small adapter board) and to a point in the AX80 to connect an additional address line. This would have put the upgrade out of reach of some. Luckily, we discovered that the Preset bank parameter values were each assigned a full EPROM byte, even if fewer bits could hold the same information. By packing the EPROM presets into the minimum number of bits needed, we reduced them from 45 bytes each to just 32. Since there are 32 of them, and we saved 13 bytes on each one, that freed up 416 bytes. But the code to unpack a preset took about 90 bytes, so the net gain was only 326 bytes or so. So now we had 430 bytes free. Time to start working on the new features. With all of the above features implemented, and (hopefully) working properly, we now have 4 bytes free.
Please note: Taking an AX80 apart and replacing the EPROM must be done carefully, or damage to the synthesizer could result. It should only be attempted by someone familiar with this type of work. I will not be responsible for any damage to any instrument caused by either proper or improper use of the code offered here.
Copyright © 2007-2017 by TaunTek.com. All rights reserved.