D110-rosetta-OS-v11, image 1 from its README
1/3
Mod

D110-rosetta-OS-v11

Rising55/100

New tricks for an old Roland D-110: arp, step sequencer, MIDI out, mod matrix, unison, glide, chord learn, scale chords, vintage drift and hidden LA32 Lab sounds. Bake it into your own ROM dumps. No R

D110-rosetta-OS-v11 is a mod for the Roland D-110, by @yuyoi. Open source under MIT.

forRoland D-110·by@yuyoi

Unclaimed. Is this yours? Sign in with GitHub as @yuyoi to claim it.

Downloads
0
Stars
0
Forks
0
Commits
11
Last commit
Get the source

No release files yet. Build from source.

MIT· yuyoi/D110-rosetta-OS-v11·downloads come from the creator’s GitHub releases

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

Rosetta

D-110 Rosetta OS

"You can't teach an old dog new tricks, but you can feed it only crack and steroids for a week."

New tricks for the Roland D-110. Rosetta OS is a patch kit for the stock OS v1.10: an arpeggiator and step sequencer, MIDI out, chords and scale chords, unison, mono and glide, a mod matrix, Wavestation-style wave sequencing, vintage drift, and a Lab that pokes the LA32 chip into sounds Roland never let out. It all runs from a menu on the front panel. You bake it into your own ROM dumps and burn two chips: the socketed OS EPROM (IC19) and the control ROM (IC15). Put the old chips back and it's a stock D-110 again.

Made by JunkSmithWizard (JSW) together with Claude (Anthropic's AI). Claude wrote the code and did the reverse engineering: an MCS-96 disassembler, assembler and simulator built for the 8097 CPU, then the OS hooks. JSW burned every build into a real D-110, played it, and made the calls by ear. Same family as the GP-16, S2000 and SP-808 Rosetta OSes. Your own waves for the D-110 come from Rosetta ROM.

Rosetta ROM Studio

The PC side: swap the D-110's waves for your own samples, then patch the OS, all in one app. It lives in the Rosetta ROM repo; this repo is the OS code it bakes in.

Rosetta ROM Studio: the wave list, waveform view and BUILD button

The wave editor (here with a custom wave bank loaded): pick a wave, load a WAV, set name, root note and loop, BUILD writes the ROMs.

Rosetta ROM Studio: the Patch OS window

Patch OS: your v1.10 IC19 dump in, pick the patches, and it lists every byte it will change. Your dump is never touched.

What it adds

FeatureStatus
Rosetta menu on the front panel, every setting kept in battery RAM (survives power-off)✅ on hardware (v12)
Arpeggiator: Up, Down, Up+Down, Random, Played, Seq; octaves, rate 1/4-1/32, gate, latch, humanize, ratchets, accents, Euclid patterns, chance %. Syncs to MIDI clock✅ on hardware (v12)
Step sequencer: up to 32 steps (notes, rests, ties), step or live recording, transposed by the last key held✅ on hardware (v12)
MIDI out of the arp notes on the arp part's channel✅ on hardware (v12)
Chords: fixed shapes, Chord Learn (play a chord once, one key plays it), Scale / Scale 7 (one key = the triad or 7th of the key and scale)✅ on hardware (v12)
Unison (1-4 voices with detune), Mono / Legato, Glide✅ on hardware (v12)
Mod Matrix: 4 slots; ModWheel, aftertouch, velocity, key, LFO, S&H, CC16/17 to cutoff, pitch, wave, level, reso. LFO syncs to MIDI clock✅ on hardware (v12)
Wave Seq (Wavestation style: each note steps through PCM waves), Wave Scan on CC70, Random wave / pitch / cutoff per note✅ on hardware (v12)
Vintage: every note drifts in pitch and cutoff on its own, like an old analog✅ on hardware (v12)
Lab: resonance past the stock maximum, control-byte and PCM-position XORs, Lab Motion that sweeps them in time✅ on hardware (Reso High + Ctrl XOR since v8); the PCM items are experimental
Quick screen (Enter + Edit): cutoff, resonance, attack, release of the whole part, live✅ on hardware (IC19 only, v6)
MIDI CC knobs for the Quick values (CC74 / 71 / 73 / 72 by default)✅ on hardware (IC19 only, v6)
Plain words (WG, TVF, TVA ... become OS, Flt, Amp ...) and your own boot banner✅ on hardware (IC19 only, v6)

Every control and value is in the user guide (also as a page: docs/rosetta-manual.html).

Two ways to run it

ChipsYou get
Quick modIC19 only (one socketed EPROM)Quick screen, CC knobs, plain words, boot banner. Stock IC15 / IC7 / IC8
Full RosettaIC19 + IC15everything in the table above

IC19 is the same from v8 to v12, so a new Rosetta version only needs IC15 reburned. With a stock IC15 the unit simply runs as a D-110 with the Quick mod.

Quick start

  1. Read your own IC19 (27C256-type EPROM) and IC15 (LH5310 mask ROM) on a programmer such as a T48. Keep the originals.
  2. Put the dumps in roms/IC19 (main OS EPROM)/ and roms/IC15 (bin from Rosetta Studio here)/ (or use the IC15 file Rosetta ROM Studio made, if you also swapped waves).
  3. Run python bake_rosetta.py --test. It checks your dumps, runs the simulator tests, and writes the burn files plus BURN.txt (with MD5s) to baked/.
  4. Burn IC19 to a 27C256 (or a W27C512 / 27C512 with the doubled image) and IC15 to an SST39SF040 on an adapter. Read back, compare the MD5s, fit the chips.
  5. Power on: ROSETTA OS v12 / D-110 by JSW means both chips are right. On the Quick screen (hold Enter, press Edit), Edit again opens the Rosetta menu.

IC15 socket wiring and the drop-in module: HARDWARE.md and IC15_MODULE.md. IC19 only? patch_ic19.py does the Quick mod on its own (see the dev log).

For developers

File
rosetta.py, test_rosetta.pythe Rosetta code (IC19 hooks + IC15 code) and its simulator tests
bake_rosetta.py, roms/the ROM baker: your dumps in, burn files out
patch_ic19.py, ic19_quick.py, test_ic19_quick.pyIC19 patcher (Quick screen, CC knobs, plain words, banner, Rosetta hooks)
patch_ic15.pyputs the Rosetta code into your own IC15 image
mcs96_asm.py, mcs96_dis.py, mcs96_sim.pyMCS-96 assembler, disassembler + flow tracer, and simulator
IC19_MAP.md, IC12_MAP.mdmaps of the OS ROM and the control ROM: hooks, RAM, routines
how-to-reverse-engineer/the method, rules and pitfalls, for people (or AI models) working on the OS
docs/DEVLOG.mdthe old README: per-version notes, build flags, findings

The disassembly listing comes from Roland's code, so it's gitignored and stays on your machine.

Status: work in progress 🚧

v12 boots and works on a real D-110, and Rosetta has already been used in real music sessions. Keep your old chips or v9/v11 files as a fallback.

Planned:

  • A D-10 port (PORT_D10.md).
  • Rosetta Lite: more of the OS on IC19 alone, no IC15 swap.

Ideas, bug reports and test results are very welcome. Open an issue.

Legal

Not affiliated with or endorsed by Roland Corporation. "Roland" and "D-110" are trademarks of their owners. This repo contains no Roland code or ROM data: you read your own chips and the tools add the new bytes. Please don't share patched or baked .bin files; share this repo instead. Burn at your own risk, and always keep your original chips.

License: MIT (see LICENSE).


Thanks for enjoying, and God bless you! — JSW