Live data from Hacker News

Fixing a 30-year-old Roland synthesizer bug

vogons.org

31–37 of 37 posts

Re: Fixing a 30-year-old Roland synthesizer bug

#31
post #12

Earlier quoted context omitted.

> Last year I made a fully annotated disassembly of the Yamaha DX7 firmware You beast!

Found it: https://github.com/ajxs/yamaha_dx7_rom_disassembly It’s extremely documented. More than I was expecting.

Outstanding! Super good commenting.

Re: Fixing a 30-year-old Roland synthesizer bug

#32
If a person wanted to be able to play a little keyboard, would they start with piano lessons or is synthesizer a unique enough instrument that you would start with a synthesizer teacher? Does the world of piano have somebody like Justin Sandercoe from the world of guitar?

Re: Fixing a 30-year-old Roland synthesizer bug

#33
post #3

Awesome work! I love the care and attention that people put into understanding these devices. I'm currently in the middle of a vintage synthesiser hacking project as well. Last year I made a fully annotated disassembly of the Yamaha DX7 firmware, and did some other technical analysis of the synth. Since then, I've been waiting for a chance to put this knowledge to good use. I found a DX9 on a local trading site, and…

You'll probably love this - a complete reverse engineering of the Virus Synthesizer DSP code, which now runs extremely well in a DSP56400 emulator .. meaning you can run the Virus code directly on your PC and get the same audio as you'd get from real hardware:

https://dsp56300.wordpress.com

Pretty astonishing bit of reverse engineering there ..

Re: Fixing a 30-year-old Roland synthesizer bug

#34
post #3

Awesome work! I love the care and attention that people put into understanding these devices. I'm currently in the middle of a vintage synthesiser hacking project as well. Last year I made a fully annotated disassembly of the Yamaha DX7 firmware, and did some other technical analysis of the synth. Since then, I've been waiting for a chance to put this knowledge to good use. I found a DX9 on a local trading site, and…

I browsed through the repository as discovered by colejohnson66 downthread https://github.com/ajxs/yamaha_dx7_rom_disassembly . This is an example of superb, meticulous, lovingly documented work. The kind of thing you don't see every day, congratulations. The attention to detail is really just chef's kiss, starting with a really good repository name (a small thing, but still), continuing through clear and apparently…

Thank you so much for your very kind words! I really appreciate them! It was indeed a labour of love. Being able to (re)create a matching binary was my benchmark for success, to prove the accuracy of the reverse-engineering.

Unfortunately it's impossible to know how well-documented the original assembly was. I've poked around in some of Yamaha's other synth firmware from the same era, and there's some reuse of code between them. That suggests there was some shared documentation, and tooling available between teams. Speaking of documentation, and naming: The placement of functions within the binary probably hints at the organisation of the project, and how things were named, however it's hard to tease out the abstractions they were working with after the fact.

This was my first project in 8-bit system programming. The Hitachi 6303 manual has some suggestions to use for project documentation that were even more comprehensive. I'd love to know more about how engineers worked in this era!

Also, your project looks amazing! I'll definitely give this a good look!

Re: Fixing a 30-year-old Roland synthesizer bug

#35
post #30
post #3

Awesome work! I love the care and attention that people put into understanding these devices. I'm currently in the middle of a vintage synthesiser hacking project as well. Last year I made a fully annotated disassembly of the Yamaha DX7 firmware, and did some other technical analysis of the synth. Since then, I've been waiting for a chance to put this knowledge to good use. I found a DX9 on a local trading site, and…

Are you telling me the DX9, my first synth all those years ago, actually had more than 4 operators? BTW, another thing that made it less popular: its keyboard. It didn't have velocity sensitity, nor aftertouch. Or is that also a ROM-upgrade away?

Yes, the "Worst FM Synth Ever[0] is actually a DX7 in disguise. Internally it uses the same sound generation hardware as the DX7. The internal circuitry is different overall, but the main sound generation chips, DAC, and output circuitry are identical. This means that by altering the firmware it's possible to turn the DX9 into a DX7, with a few differences. As you've noted, one of them is the non-velocity sensitive keyboard. You can make it respond to velocity, and aftertouch via MIDI, but making the keyboard itself velocity, or aftertouch sensitive isn't possible unfortunately.

[0] https://yamahadx9.com/DX9Worst.html

Re: Fixing a 30-year-old Roland synthesizer bug

#36
post #12

Earlier quoted context omitted.

> Last year I made a fully annotated disassembly of the Yamaha DX7 firmware You beast!

Found it: https://github.com/ajxs/yamaha_dx7_rom_disassembly It’s extremely documented. More than I was expecting.

Thank you for putting the link here! I really appreciate everyone's kind words.

Re: Fixing a 30-year-old Roland synthesizer bug

#37
post #28
post #3

Awesome work! I love the care and attention that people put into understanding these devices. I'm currently in the middle of a vintage synthesiser hacking project as well. Last year I made a fully annotated disassembly of the Yamaha DX7 firmware, and did some other technical analysis of the synth. Since then, I've been waiting for a chance to put this knowledge to good use. I found a DX9 on a local trading site, and…

Such clean and well organized work I rarely see. Painfully, I have to switch back now to my dayjob IDE.

Thank you! I try to put the same level of care into the professional work that I do, when the company allows me to do so. It's very rarely as fun and engaging as this project is though!
Post reply on HN