LSDPatch (LSDPatcher)
The Java program (Java 8 or later; GitHub jkotlinski/lsdpatch) that customises an lsdj ROM and manages its save: ROM upgrades, sample kits, fonts, palettes and — since it absorbed LSDManager — songs. defense-mechanism described version 1.10.4 in intense-tech (sources: s-intense-tech-20-lsdpatch, s-intense-tech-21-whats-new-in-lsdj-92).
Cheat sheet#
- Upgrade ROM — to the latest stable, development or Arduinoboy build (8.5.1 / 9.1.8 / 8.4.1 in February 2021), keeping kits, palettes and fonts.
- Songs — import
.lsdsng; import/export.lsdprj= song + the kits it uses (the sharing format). Loading an.lsdprjreplaces kits in the loaded ROM — keep a copy. - Kits — 15 pads (keys
1 2 3 4/Q W E R/A S D F/Z X C); drop, rename, replace, drag-and-drop; per-sample volume, pitch, length. New samples are resampled with dithering to 4 bits and normalised; the last sample of every wave frame is blended with the first of the next to counter the Game Boy's wave-RAM refresh bug (adds noise on emulators without that bug). Half speed allows samples up to 4.4 s, played back with the kit instrument's SPEED 0.5x. Version 1.11.5 or later generates kits for LSDj 9.2's rewritten sample timing (source: s-intense-tech-21-whats-new-in-lsdj-92). - Fonts — edit glyphs, save/load as
.png; LSDFonts collection (psgcabal). - Palettes — pick colours on Song/Instrument screenshots, clone/swap/randomise, "Raw" (saturated emulator look) vs balanced, "Desaturate" for contrast;
.lsdpal; LSDPals collection (psgcabal).
A kit's budget is 3FA0 bytes — "just over two seconds worth of audio" — and the figure turns red in the patcher when the samples overflow it; samples arrive as mono 8-bit PCM at 11,468 Hz with three-character names, prepared before the patcher sees them (chip-samples; sources: s-little-scale-lsdj-kits, s-chipmusic-lsdj-kit-threads). A click heard at the end of a long sample in the patcher's own preview is usually absent on hardware.
Kits live in the ROM, one sample per pitch; sampled tonal instruments are better served by crunched wavetables in the save (lsdj-wave-cruncher, source: s-intense-tech-05-wave-cruncher-instrument-library).
Related#
lsdj · chip-samples · liblsdj · lsdj-wave-cruncher · johan-kotlinski · game-boy-apu
Sources#
s-intense-tech-20-lsdpatch · s-intense-tech-21-whats-new-in-lsdj-92 · s-intense-tech-05-wave-cruncher-instrument-library · s-little-scale-lsdj-kits · s-chipmusic-lsdj-kit-threads