Intense Tech #20 — Customize LSDj From Scratch with LSDPatch (Defense Mechanism)
A tour of lsdpatch 1.10.4 by defense-mechanism (intense-tech): upgrading an lsdj ROM in place, managing songs, building sample kits with proper resampling, and editing fonts and palettes.
Key claims#
- LSDPatch is a Java program (Java 8 or later) from github.com/jkotlinski/lsdpatch. Browse to a ROM; a
.savof the same name loads with it. - Upgrade ROM switches to the latest stable (8.5.1 at the time), development (9.1.8) or Arduinoboy (8.4.1) build while keeping the patched kits, palettes and fonts.
- Song manager: absorbed the separate LSDManager. Imports
.lsdsng; imports and exports.lsdprj, which bundles a song with the kits it uses from the ROM — the format for sharing songs. Loading.lsdprjfiles replaces kits in the currently loaded ROM. - Kit editor: 15 pads, played with the mouse or the keys
1 2 3 4 / Q W E R / A S D F / Z X C; drop, rename, replace samples; load/save/export kits; drag-and-drop from the file manager. New samples get higher-quality resampling and dithering to 4 bits, normalisation to full volume, and a fix for the wave RAM refresh bug: the Game Boy plays the first sample of a wave frame using the last completed sample of the previous frame, so the last sample of each frame is blended with the first of the next when patching (this adds noise on emulators that do not model the bug). Volume, pitch and length are adjustable afterwards. Half speed allows samples up to 4.4 s at half the sample rate, played back with the kit instrument's SPEED 0.5x. - Font editor: edits the character set and the graphic glyphs of the wave editor and screen headers; fonts can be saved as
.png, edited elsewhere and reloaded; user fonts at the LSDFonts page (psgcabal). - Palette editor: colour slots picked from screenshots of the Song and Instrument screens; clone/swap/randomise; "Raw" switches from a Game Boy Color-balanced style to the saturated emulator look; "Desaturate" checks contrast;
.lsdpalfiles; user palettes in the LSDPals repository (psgcabal).
Practical takeaways#
One tool for ROM upgrades, song transfer with kits (.lsdprj), kit building with real resampling, and cosmetics; keep a copy of a ROM before loading someone else's .lsdprj.
Pages touched#
lsdpatch · lsdj · chip-samples · game-boy-apu · liblsdj · intense-tech · defense-mechanism · levels-and-headroom