Srscramble
Roland SR-JV80 / SRX ROM scrambling/descrambling tools
Install / Use
/learn @hackyourlife/SrscrambleREADME
Roland SR-JV80 / SRX Scrambler
Roland's old ROM modules like SR-JV80 and SRX boards use a scrambling scheme to make the data unreadable. This is implemented by simply swapping address and data lines on the ASIC.
The tools in this repository allow scrambling and descrambling of ROM data, so you can either look at the contents of a dumped ROM or scramble your own ROM for use in a physical sound module.
Descrambling
Address and data wires are swapped, this is the relation:
| Address line (internal) | Address line (ROM, SRX) | Address line (ROM, SR-JV80) | |:-----------------------:|:-----------------------:|:---------------------------:| | 0 | 0 | 2 | | 1 | 4 | 0 | | 2 | 2 | 3 | | 3 | 3 | 4 | | 4 | 1 | 1 | | 5 | 13 | 9 | | 6 | 7 | 13 | | 7 | 12 | 10 | | 8 | 5 | 18 | | 9 | 10 | 17 | | 10 | 16 | 6 | | 11 | 9 | 15 | | 12 | 6 | 11 | | 13 | 8 | 16 | | 14 | 14 | 8 | | 15 | 17 | 5 | | 16 | 11 | 12 | | 17 | 15 | 7 | | 18 | 18 | 14 | | 19 | 19 | 19 | | 20 | 20 | 20 | | 21 | 21 | 21 | | 22 | 22 | 22 | | 23 | 23 | 23 |
| Data line (internal) | Data line (ROM) | |:--------------------:|:---------------:| | 0 | 1 | | 1 | 7 | | 2 | 0 | | 3 | 6 | | 4 | 2 | | 5 | 3 | | 6 | 5 | | 7 | 4 | | 8 | 9 | | 9 | 15 | | 10 | 8 | | 11 | 14 | | 12 | 10 | | 13 | 11 | | 14 | 13 | | 15 | 12 |
ROM Identifiers (scrambled)
Every scrambled ROM starts with 32 bytes of identifying information.
| Bytes 0x00 – 0x0F | ROM Type |
|--------------------|----------|
| Roland JV80 O°S¬ | SR-JV80 |
| Roland SRX O°X§ | SRX |
| JP-800 | JD-800 |
Bytes 0x10 to 0x1F contain an ASCII identifier of the ROM sound set.
Related Skills
node-connect
340.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
340.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.2kCommit, push, and open a PR
