Skip to content

sndj v0.1

Choose a tag to compare

@little-scale little-scale released this 10 Jul 10:34

The first release of sndj — an LSDJ-inspired music tracker for the
Super Nintendo / Super Famicom, written in 65816 + SPC700 assembly.
Third sibling of smsggdj
and genmddj: same data
model, same two-modifier control grammar, same screen map — built
around what only the S-DSP can do.

Flash sndj-0.1.sfc to an FXPak/SD2SNES or open it in Mesen 2 /
ares / bsnes.
Tempo and pitch are region-free by construction (the
audio unit has its own crystal) — PAL only changes the picture.

Highlights

  • 8-track sequencer — phrases, chains, a 128-row song grid,
    journalled 16-slot saves in cart SRAM, LIVE mode with quantised
    chain launching and hardware ENVX meters.
  • Six instrument types — SMP (pool samples), KIT (drum kits),
    WAV (drawn wavetables), NSE (noise), SLICE (chop any sample
    into up to 16 parts at zero audio-RAM cost — the note picks the
    slice) and KARP (Karplus-Strong on the echo hardware: the room
    becomes a plucked string, per-note-tuned by the FIR filter — a
    technique no commercial SNES soundtrack ever shipped).
  • The room as an instrument — echo delay with its live audio-RAM
    cost on screen, feedback, per-voice sends with channel gates, and
    8 patchable FIR curves; reconfiguration runs an erratum-safe
    driver sequence.
  • One groove, two steps — the song's feel is a public pair of
    tick counts (6/6 straight, 8/4 swing) and G xy writes it live
    from a phrase.
  • 24-command language shared by phrases and tables, sibling
    semantics preserved.
  • Sync & MIDI takeover (console side) — follow a sibling master
    or the Ableton Link ESP32 bridge, pulse out to Volca/PO gear, or
    play sndj as an 8-voice BRR module over MIDI. Hardware bring-up of
    the cables/rigs is still pending; these pass their emulated gates.
  • Browser ecosystem, zero toolchainuser-tools/patcher.html:
    sample pool with SoundFont drag-import and bit-exact BRR audition,
    slice designer with draggable cuts, kit builder, boot instruments,
    FIR designer with a live response plot (including a KARP pluck
    prototype), palettes, ROM + audio-RAM budget meters.
    user-tools/savetool.html manages cart saves and .sndj songs.

Full history in CHANGELOG.md. Built and verified by
35 emulator-in-the-loop test suites + golden screenshots; the boot
splash shows V0.1 B239FB9 so you can confirm the flash took.