Tool

digitone-2-modding-skill

Rising59/100

Agent skill for developing your own Elektron Digitone II firmware mods: ColdFire C hooks, SHARC DSP code, two emulators, flashing

digitone-2-modding-skill is a tool for the Elektron Digitone II, by @complex-ping. Open source under MIT, 10 stars on GitHub.

forElektron Digitone II·by@complex-ping

Unclaimed. Is this yours? Sign in with GitHub as @complex-ping to claim it.

Downloads
0
Stars
10
Fork
1
Commits
4
Last commit
Get the source

No release files yet. Build from source.

MIT· complex-ping/digitone-2-modding-skill·downloads come from the creator’s GitHub releases

3
Commits
0
Releases
3 commits and 0 releases in the last year
Activity · last 12 months

digitone-2-modding-skill

An agent skill (Claude Code, Codex, Cursor, … via skills.sh) for developing your own firmware mods for the Elektron Digitone II (OS 1.11):

  • patch the ColdFire MAIN OS in C (UI, sequencer, parameters, p-locks, LFOs, screen, keys);
  • add SHARC DSP audio code (effects, per-track processing, new machines);
  • verify both in two emulators: the real OS on digikit, and a whole-DSP SHARC emulator included here;
  • read stock code through a firmware atlas: functions, callers, C++ classes and vtables recovered from your own image;
  • rebuild, re-sign and flash the .syx over USB.

It packs the reverse-engineering notes (stock addresses, hook sites, the ColdFire → DSP frame, free memory), the hardware rules that the emulators cannot see (each one once silenced a real unit), and the tools: a ColdFire mod builder, a SHARC boot-stream block adder, a DSP kernel DSL with a bit-exact model, static hardware-rule checks, a USB flasher, and two worked examples that pass their emulator tests.

Install

npx skills add complex-ping/digitone-2-modding-skill

Then ask your agent to set up the workspace (scripts/dn2setup.py). It checks every dependency and tells you what is missing.

You need

  • your own copy of Elektron's Digitone II OS 1.11 .syx (not included; sha256 2af43e65…72e0);
  • Python 3.11+, dnfw (container, signing, C builds), an m68k GCC (gcc-m68k-linux-gnu), digikit for the ColdFire emulator; recommended PyPy, cffi, mido + python-rtmidi.

Details: skills/digitone-2-modding-skill/references/setup.md.

Reading the firmware

scripts/cfatlas.py turns your copy of the OS into a queryable database in seconds. The ColdFire OS kept its C++ RTTI, so classes, vtables and many method names come back from the image itself:

python3 scripts/cfatlas.py build
python3 scripts/cfatlas.py class '^PatternGridView$'
python3 scripts/cfatlas.py fn 0x40063F56

Examples

  • double_time: a ColdFire C hook. The sequencer clock runs at 2x; checked in the ColdFire emulator (4 → 8 sixteenths in 300 blocks).
  • track_trim: a SHARC DSP mod. Track 1 is 6 dB down in the main mix, from a new L2 code block, a CALL hook and an fxdsl kernel; checked by an A/B render against stock (ratio 0.5000, track 2 unchanged).

Made with this skill

Overtone: custom firmware for the Digitone II (OS 1.12) with per-track insert effects, the THRU, SOPHIE, LOOP and MACHINEDRUM machines, envelope followers, two arpeggiators, parameter slides and GROOVE. Ready to install: its patcher makes the build from Elektron's own OS file.

Disclaimer

Unofficial and not affiliated with or endorsed by Elektron. Elektron and Digitone are trademarks of Elektron Music Machines. Flashing modified firmware is at your own risk. A unit can always be recovered by reflashing the stock OS over DIN MIDI (hold [FUNC] at power-on, [TRIG 4]). Do not redistribute Elektron's firmware or modified images of it.

Checks without any firmware: python tests/skill_check.py, python -m unittest discover -s tests -p 'test_*.py' (also in CI).

Licenses: MIT, except the digikit-derived files (GPL-2.0); see THIRD-PARTY.md.