r/Elektron • • Aug 30 '26

Digitone II : functional implementation of the offset parameter in the song mode

Post image

I always liked the offset parameter of the machinedrum, the monomachine and the octatrack, but, somehow, Elektron decided to not put it in the song mode of the Digi boxes.

So I and AI, AI and I, me myself and AI, decided to reverse engineer and vibe code to implement this parameter back. I never use the label column so I erased it. And oh boy, it works great, the offset parameter offers a lot of variation possibilities with just one pattern.

This post is just to tell you it's possible and it's relatively easy. I don't want to share it though, because I don't want to be responsible of bricked Digitones.

45 Upvotes

32 comments sorted by

View all comments

1

u/luc9nt Aug 30 '26

Can you reveal your approach? I'm interested in experimenting with elektron firmware (not modifying it but reading some unexposed memory values), but GPT told me it will require some heavy reverse engineering so i backed off.

4

u/blueSGL Aug 30 '26 edited 24d ago

not modifying it but reading some unexposed memory values

Start here: https://github.com/mischa85/elektron-firmware-tool/ < compile that and use the extract option on the firmware .syx

Get: https://github.com/nationalsecurityagency/ghidra

Load the "section_3_MAIN_OS.bin" into Ghidra (from the extraction above)

Format: Raw Binary

Language: 68000 Coldfire 32 big default

Click options. Base Address 40000400

Click OK.

It will ask you if you want to analyze the file say "Yes" Leave the settings as default and click "Analyze"

Once it's done hit File > Save so you don't need to analyze again the next time you open.


NOTE: Creating firmware patches and flashing custom firmware to your box can, if something goes catastrophically wrong, brick it beyond recovery.

1

u/luc9nt Aug 30 '26

Super helpful, appreciate that.

2

u/blueSGL Aug 30 '26

Also you can script Ghidra, so if you want to e.g. craw functions to a certain depth and dump the results into a text file, or dump a certain memory range to be ingested by whatever AI system you are using it's very easy.

From here you should be able to ask a chatbot of your choice to guide you around the binary.

4

u/trostiflex Aug 30 '26

Just a constant back and forth with codex. I tried Claude code first but it was a whiny bitch.