Fascinating stuff - thank you! This 100% confirms all the EXP patches are in the firmware at least. It would be very neat to decompress/recompress the EXP wave data to at least play around with it. As for your theory about mixing and matching the EXPs, I guess it depends if the EXP file says "Yes I am the Waveform for this patch!" - if it does then that will work, but if it is just raw wave data in sequence then likely it won't. Please keep me posted on that decompression tool if you find it.Aldan wrote:Hi Jimmy
Hacking firmware is very interesting activity. And very time consuming.
Would like to share one interesting thing which I have noticed few years ago while building arranger app for my FA-06 (the app, still left unfinished).
I have occasionally sent program change message (MSB+LSB+PC) to select EXP tone from the library which was not installed at that point of time.
Anyway, the tone was selected. All patch parameters were on the screen and could be operated.
But, of cause, due to absence of EXP waveform the selected tone was silent.
So, the complete list of all EXP tones as well as patch parameters for them are already inside FA.
If you will manage to compile new EXP library file based on waveforms extracted from existing EXPs that should work.
But, it seems to me, you probably don't need to disassemble main firmware file.
You need to understand the structure of EXP lib file, only.
All these library file are of the same size=32768 kb.
Think, that is due to hardware expansion slots had historical restriction in size.
I believe that if to make new EXP file containing only one waveform and fill-in the remaining space with zeros that should work as well.
What else.
About five years ago I've managed to extract bytes with audio info(backing tracks) from roland's eBand JS-10 firmware.
That was very specific (proprietory roland's) format of audio compression. Think, Roland applies this format for any audio data.
Then I found in inet one ancient utility which converted file with extracted bytes to normal .WAV. Unfortunately, don't remember right now how I did it.
But, conversion itself is not required now.
You don't need to really understand roland's audio format.
You just need to know how few header bytes look like before audio data starts and read few bytes with size of the following audio data.
That should be enough to extract bytes with compressed waveforms from EXP file.
Will dig deep in my archives next week and hopefully will find my investigations on the matter.
Unrelated update is that I have to make a retract my comments about the Waverom size I made earlier, seems I was thinking it was 256Megabytes, when it was actually 256Megabits. I'm now less certain what RAM chips are used for what purpose in the device and what the actual waverom size is. I'm going to try and take apart the FA-08 again at some point, and seek out some help on how to safely disconnect/reconnect the ribbon cables, so I can take a clear picture and/or scan of both sides of the motherboard.
---
http://rolandfatools.mooo.com