5 ms·
I've been doing a lot of reverse-engineering of synthesiser ROMs lately. The Yamaha DX9 ROM has some fragments of the firmware's symbol table embedded in the em
by ajxs 2y ago
I've been doing a lot of reverse-engineering of synthesiser ROMs lately. The Yamaha DX9 ROM has some fragments of the firmware's symbol table embedded in the empty space left in the binary[0], along with a big block of 6303 code that was probably from whatever development system they used. It's a really amazing feeling when you stumble upon things like this! I'm such a nerd about these things that I feel like some kind of software-archaeologist, getting a small glimpse into the past. Finding this sent me down a really deep rabbit hole trying to find out more information about what development tools Yamaha might have used. I never discovered anything definitive, but reading the documentation on contemporary devtools gave me a real appreciation for modern workflows!
0: https://ajxs.me/blog/Hacking_the_Yamaha_DX9_To_Turn_It_Into_a_DX7.html#leftover_data https://ajxs.me/blog/Hacking_the_Yamaha_DX9_To_Turn_It_Into_...
- aa-jv 2y agoI too like to reverse engineer synthesizer things, and I did it for the Yamaha A-samplers back in the day, producing a management tool that sped up the basic operations for Yamaha A-sampler disk users .. I used a BeBox to do a lot of raw i/o and analysis of raw disk sectors, as BeOS had some nice tools for filesystem hacking, and through this I managed to build a filesystem driver (for Windows) which worked well enough to get Yamaha's backing. If you ever get the motivation to reverse engineer the Yamaha ROM's for the A-samplers, lets get in touch. I have a lot of interest in this realm .. (EDIT: great work on the DX9/DX7 thing .. as an original user of both synths when they were released, this is really amusing ..)
- easyThrowaway 2y agoOh god the repressed memories. I believe there was a SCSI thingy to do some basic sysex (or whatever format they were using) and presets save/load from 68K macintoshes?
- aa-jv 2y agoFor the A-samplers? There are a number of tools out there for manipulating the A-sampler data with a PC - I wrote one of them (DiskY) which makes filesystem management over SCSI with a Windows PC a lot smoother/faster than using the onboard OS, and there is also b.Zone, which is an editor that uses MIDI CC and Sysex to do editing. Together, they make the A-sampler .. almost .. usable. ;) I would love to dig further into the A-sampler ROM and figure out a few more of its secrets. I'd especially like to know the exact reason why the A-samplers SCSI subsystem is .. so .. darn .. slow .. so maybe there's a chance to dig into this at some point.
- easyThrowaway 2y agoCan't remember to save my life if it was a TX 802 or an A-Series Sampler to be honest. Probably the latter because I fully remember the grating loading times.
- ajxs 2y agoThat's a really awesome project! I can find the A3000 firmware ROM online[0], but unfortunately I can't seem to find the service manual/schematics anywhere. Reverse-engineering firmware from the late-80s onward is a completely different kind of animal though. It's much, much more time consuming due to the much more complex hardware, and the fact that it wasn't written by hand in 8-bit assembler. Having said that, I'm always looking for cool synth reverse-engineering ideas! I'll have to keep this one in mind! 0: https://dbwbp.com/index.php/9-misc/37-synth-eprom-dumps https://dbwbp.com/index.php/9-misc/37-synth-eprom-dumps