Skip to content

Repository files navigation

Cubase Dongle Emulator

Cubase Dongle Emulator

Build Release License: GPL v3

A SidecarTridge Multi-device microfirmware that emulates the Steinberg Cubase copy-protection dongle on real Atari hardware, so you can run Cubase without the original (and often failing, 30-year-old) hardware key.

The MultiDevice plugs into the cartridge port and answers ROM3 accesses exactly like the original dongle. Select the dongle from the boot menu and it launches straight into GEM.

Learn how to install and use it: https://docs.sidecartridge.com/sidecartridge-multidevice/microfirmwares/cubase-dongles/

What it emulates

This release emulates two Steinberg Cubase dongles: the Cubase 3 "red dongle" (Intel 5C060 / EP600 PLD, a 16-bit registered state machine) and the Cubase 2 "black dongle" (an 8-bit registered state machine clocked on every bus cycle). Neither is a stored key; both are reproduced exactly from cross-checked hardware descriptions. Pick the family from the boot menu.

Dongle family Cubase versions Status
Cubase V3 (red, Intel 5C060) Cubase 3.0, 3.01, 3.10, Cubase Score 2.x ✅ shipping
Cubase V2 (black) Cubase 2.0, 2.01, 2.2x ✅ shipping
Cubase V1 Cubase 1.0 / 1.50 / 1.51 planned
Cubase Audio Falcon CAF 2.01 / 2.02 / 2.06 / 3.01 planned

Verified on hardware: Cubase 3.10 and Cubase Score 2.0 (red) and Cubase 2.01 (black) all accept the emulated dongle and run.

Devices: Atari ST, STE, MegaST, MegaSTE, TT, Falcon.

Using it

On power-on the boot menu appears:

Cubase Dongle Emulator - v1.0.0

Emulated dongle:  Cubase V3
    - Cubase 3.0
    - Cubase 3.01
    - Cubase 3.10
    - Cubase Score 2.x

For research and study only.
Use only with Cubase software you own.

[D] Change dongle

[E] Enter GEM      [X] Back to Booster

Select an option:
        Booting GEM in 20 seconds...
  • [E]: commit to the selected dongle and boot GEM. Launch Cubase and it finds the dongle.
  • [X]: return to the Booster app.
  • [D]: change the dongle family (appears once more than one family is available).
  • A countdown auto-boots GEM with the selected dongle; any key stops it.
  • The physical SELECT button returns to this menu (short press) or the Booster (long press), and works while Cubase is running.

How it works

  • Red dongle (V3): the response path is zero-CPU. A PIO program keeps the state machine's state in a scratch register, and two chained DMA channels do the lookup and next-state feedback. No CPU is on the per-access path, which removes the cartridge-bus timing race under Cubase's fast read bursts. The state machine compresses to a ~24 KB lookup table (rp/src/include/cubase_lut.h), generated by tools/generate_lut.py and regression-tested by tools/test_lut.py.
  • Black dongle (V2): an 8-bit state machine that advances on every bus cycle, clocked on /UDS. One PIO plus a core continuously track the machine (its 2 KB table is in rp/src/include/cubase2_lut.h, verified over all 65 536 transitions), while a second PIO drives the response on each ROM3 read via the same DMA fetch trick.
  • The firmware is deliberately slim: no Wi-Fi, microSD, USB or status LED.

Building

Build with the repo-root build.sh (see CLAUDE.md for the full toolchain requirements):

# ./build.sh <board_type> <build_type> <app_uuid>
./build.sh pico_w release <app-uuid>

The build produces dist/<uuid>-<version>.uf2 (the firmware you flash) and dist/<uuid>.json (the app descriptor from desc/app.json).

Provenance & legal

The dongles are reproduced from reverse-engineered hardware descriptions. Those raw sources are not committed to this public repository; only the derived, verified lookup tables (cubase_lut.h, cubase2_lut.h), the golden test vectors, and a SHA-256 provenance manifest (tools/reference/PROVENANCE.md) are.

This project exists for research and to study how these copy-protection dongles worked. It is an interoperability and preservation tool, not a way to obtain Cubase. You must own a legitimate copy of the Cubase software the dongle was made for, and should use this only with software you own.

Project docs

  • programming.md: the shared 64 KB region layout and budget rules.
  • CLAUDE.md / AGENTS.md: build, architecture, and contributor playbook.

License

Licensed under the GNU General Public License v3.0. See LICENSE.

About

Microfirmware to emulate the Cubase dongles

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages