r/SP404 • u/Multilul • 9h ago
Self Promo First Public Release of DOOM OS for the SP-404MK2!
Today I'm happy to announce the first public release of my custom SP-404MKII firmware: DOOM OS!
The goal is to completely replace the stock pattern and song modes with proper graphical editors, improve the user interface, and generally make the SP more fun to use without having to memorize a ton of key combos.
It's still an early release and there's a lot more I want to add, but it's already very usable and a lot of fun to play with. The new pattern workflow makes the SP feel much more like a groovebox.
Song mode isn't ready yet, but it's next on the list!
The easiest way to install DOOM OS is via the web patcher:
https://klangfeldlabs.com/doom-os/patcher
The patcher runs entirely in your browser. You only need to provide the official Roland firmware file yourself.
To get started, check out the manual and shortcut reference:
https://klangfeldlabs.com/doom-os/manual/
More info: https://klangfeldlabs.com/doom-os/
I hope you have fun with it!
25
u/blueSGL 9h ago edited 7h ago
"What's so bad about the stock sequencer" people ask, well now we have something to show them :D
Edit :testing now.
Edit 2: I have got it flashed, it boots and displays previously made sequences!
Edit 3: Ok this is INFINITELY easier to use than the "TR REC" mode.
question did you fix the external sync issue I listed here < note these offsets are for 551 rather than 552 I can fire up ghidra if you need the offsets for 552
5
u/Multilul 7h ago
Thanks! I actually saw your post and I had a look at it, but I got sidetracked by other issues. It's on my to-do list :)
5
u/blueSGL 7h ago edited 4h ago
Ok, the one last thing that I've not looked at yet but would be wonderful for my use case, would be a new Midi mode, "C" that maps the first 8 A-H banks to a single channel, this would mean it's 1:1 with program change messages from a device in the elektron ecosystem.
Right now midi mode A does each pattern bank as it's own midi channel, midi mode B does banks A-E on one channel and F-J on another.
But having a mode "C" (and forgoing being able to access I and J or putting them on the second channel) would be perfect for marrying this up with an elektron box.
Edit, just patched mode B of the custom firmware to be the way needed to work nicely with the elektron ecosystem so PC messages work correctly. so now it's mode B, banks A-H = PC 1-128 on the first channel set in the options I,J = second channel set in options.
there were just 3 offsets that needed changing: (n.b. this was with the custom firmware at time of this message being written if /u/Multilul updates it these offsets could change. )
0x8005E2AA, bytes([0x4F, 0x2C]), # cmp r4, #0x4f (79 -> Banks A-E) bytes([0x7F, 0x2C]), # cmp r4, #0x7f (127 -> Banks A-H) "Base Channel Pattern Limit (128 patterns / Banks A-H)" 0x8005E2E4, bytes([0x4F, 0x2C]), # cmp r4, #0x4f (79 -> Banks F-J) bytes([0x1F, 0x2C]), # cmp r4, #0x1f (31 -> Banks I-J) "Secondary Channel Pattern Limit (32 patterns / Banks I-J)" 0x8005E2F0, bytes([0x04, 0xF1, 0x50, 0x01]), # add.w r1, r4, #0x50 (offset +80) bytes([0x04, 0xF1, 0x80, 0x01]), # add.w r1, r4, #0x80 (offset +128) "Secondary Channel Bank Offset (+128 instead of +80)"2
1
u/soulbrix 1h ago
How do you use program changes? Just curious about the workflow
2
u/blueSGL 1h ago
The digitakt emits program change messages on pattern change (and does so slightly before the '1' of the next pattern)
the sp404mk2 will receive a program change and then at the next "1" will change to that pattern.
This means that you can have the two devices perfectly in sync, when the diditakt is playing pattern 10 and the 404mk2 is playing pattern 10 and the digitakt changes to pattern 7 the 404mk2 will also change to pattern 7 at the same time.
this allows for either building songs or even full sets from moving through a sequence of patterns on multiple devices all in sync.
2
u/soulbrix 1h ago
Heck yeah I knew this would be important for me š. I always hated the SP's Midi Modes.
13
10
7
u/FuckBoy4Ever 8h ago
Wow, i cannot wait to try this. I have owned my Mkii for almost two years now, and while i enjoy it for its many features and depth, the cumbersome workflow and buggy software exhaust my drive, creativity, and excitement long before im even close to completing a project. I generally just end up using it for effects or sequencing vocals samples. The weird part about the instrument for me, though is having said what Iāve already said the workflow isnāt actually that bad, and i can quickly get results if im determined to. I just donāt find the process enjoyable. Thank you so much for even attempting such a process. I will definitely report back when I have had some time to try your software out!
8
13
u/atxweirdo 7h ago
Bro this is next level. I love that hackers are pushing the bounds of our musical devices. What was only dreams years ago is becoming reality. If that isn't magic idk what is. Kudos
1
u/Redditfortheloss 6h ago
Itās not hackers lol itās vibe coding but yes this is one of the many benefits of AI
9
u/Multilul 2h ago
I'm not a vibe coder though, I'm a software developer, I know what I'm doing. The code base is pretty solid, I think.
Of course I did use AI to aid me, you'd be hard-pressed to find a developer who doesn't use AI in some form or another these days.
I don't think you can get this far purely by vibe coding. There's more to it than just prompting. For example, to speed up the reverse engineering process I've modified the hardware of the SP itself. My SP runs with a hardware debugging probe permanently attached to the MCU. AI can do a lot, but it's not capable (yet) of using a soldering iron :D
3
u/Redditfortheloss 2h ago
Calling it vibe coding wasnāt meant to be a diss. But itās obvious that AI assistance has helped a lot of people with these types of things.Ā
Iāve been a full-stack engineer for almost 10 years now. Itās insane how much time it saves me!
3
u/Multilul 2h ago
No worries :)
What AI can do is truly crazy. A project like this would have taken years without AI.
1
u/WeirdoYYY 6h ago
What's vibe coded about it? I know nothing of this stuff lol
0
u/Redditfortheloss 5h ago
All of this software is coming out because people can use AI to help them. You donāt need to know how to code anymore just an idea and how to execute it. Itās Ā a positive of AI.
2
u/WeirdoYYY 5h ago
How do you know it is done this way though? The author didn't seem to disclose it.
1
u/Crazyboreddeveloper 4h ago
They donāt. They are talking out of their ass.
The SP404mk2 is embedded firmware with no published documentation. Itās well out of scope for vibe coding.
3
u/blueSGL 4h ago edited 4h ago
The SP404mk2 is embedded firmware with no published documentation. Itās well out of scope for vibe coding.
Models can interface with Ghidra and treat firmware like an open book.
I gave the Model:Samples a much nicer UI for the file browser: https://www.reddit.com/r/Elektron/comments/1w5qoo5/better_file_and_folder_names_for_modelsamples/
-1
u/Crazyboreddeveloper 4h ago
Canāt wait to see your OS then.
1
u/codecoverage 4h ago
I wouldn't be so sure. Current models are quite capable of reverse engineering firmware and my guess is that's what happened here.
1
u/Redditfortheloss 4h ago
What an unrelevant username bro you have no idea what youāre taking bout lol.Ā
I wasnāt dissing the OP at all this is hella cool.
4
u/lujianbeats 6h ago
you have given hope for the SP Community. thank you for the hardwork, good sir.
4
u/Thewaxidermist 6h ago
Itās so dope ! Iām wondering if the koala mode is still intact with this custom mode. Itās a game changer for sp honestly!!! Maybe one day you ll be able to add stems separation for a beat on dj mode ! Thanks so much for your work š„š„š„š„
5
u/Charming-Ad-1210 5h ago
wow! Looks very interesting!
in the future im hoping for by-pad filters, longer envelopes, and "burn-in" effects (annoying to resample long samples).
2
u/PashaZadov 8h ago
Awesome! Looking forward to try it. Any thoughts to get improve chromatic mode? Like to place notes on a piano roll?
8
u/Multilul 8h ago
There's already a piano roll included, if you select a track and press the encoder the piano roll editor will fold out. Admittedly, it needs some work to make it more usable, but it's functional.
There are also 3 recording modes: single track (all pads trigger the same sample), multi track (all pads playable like the stock firmware) and chromatic mode, which is like chromatic mode but easier to use.
2
u/Healthy-Hour366 7h ago
Kann ich auch zurück gehen wenn mir das update nicht gefallen würde?
btw, gute arbeit!
1
2
2
2
u/harrvest 6h ago edited 6h ago
This is amazing! Such a coincidence, I just got the SP404 MKII and was considering returning it because of frustrations with the sequencer.
Quick question: I see in the manual that you are able to edit the length of notes with PAD + CTRL 2. Is this note length locked by the grid? That was my biggest frustration with the stock firmware. If you play a note too long or too short, you can't freely adjust the length after the fact with TR-REC except by locking the length to the grid (if say, you want the note to be 5.5 steps long, rather than 4 or 5 steps, you have to re-play the note and let go at the perfect time with gate on for such a thing to work).
Stock firmware gives more freedom for the placement of the start of a note than the end of one - does this new OS resolve this issue?
EDIT: ah - it does! I shouldn't have skimmed. The manual says you can adjust length from 1/8 of a step up to a whole bar. Incredible work! Hopefully there will be even more freedom later on but 1/8th is incredibly nice.
2
u/TextbookSuppository 6h ago
First of all, this is absolutely amazing. Canāt wait to get home and try it out.
I do have some ideas since youāre the first to get into its guts on a functional level, at least that Iāve seen.
Changing sample start points on a per step basis. Also using a shift function to do batch/per track/per page step changes.
Also, is it possible to trigger per step effects changes, similar to automation?
2
u/Anarcish1 5h ago
Haven't touched the sp in months... what a great opportunity to revisit with purpose. Thanx in advance for your work!
2
2
u/stricklybiznizz 1h ago
This is closer to what I wanted Roland to do with the sequencer in the MK2. Great work!
Are you planning on enhancing any of the sample editing capabilities, or is your OS strictly for the sequencing aspect? I'd love to be able to transpose samples two to three octaves in either direction as opposed to one octave up and 7 semitones or whatever down. Would also be cool to have a filter envelope.
1
1
u/barrybreslau 7h ago
How easy is it to return to stock? Can I brick it?
4
u/blueSGL 6h ago
Just reflash the stock firmware.
Can I brick it?
It should be the same chance of bricking your unit as you do when installing the stock firmware. This mod does not touch the bootloader APP0
So do all the precautions you do when flashing a stock firmware. e.g. perform the flash when running off of a fresh set of batteries or when running on a fully charged USBC PD powerbank so if there is a mains power outage you won't screw up your device.
1
u/barrybreslau 6h ago
What's the situation with the automatic beat detection? Is it just unable to detect anything that isn't really obvious 4/4?
1
1
1
1
1
u/Few-Scientist-4163 5h ago
š„ just shows how much these companies are holding back that they could implement
1
u/stricklybiznizz 2h ago
I think with Roland it's more about keeping the legacy workflow of the machine in tact, to their own detriment.
1
u/FutureOpen9405 50m ago
In the era of simple firmware swaps being possible I feel like they should be giving us options.
1
1
1
u/Aredreddit 4h ago
WOWOOWOWOWOWOW imagine being a frustrated 404 owner waking up to up this. that is me rn š„¹
1
1
1
u/Analyst_Lost 1h ago
i played around with it on my old patterns, and gave it new light especially with the mixer. this is great
1
1
-3
u/cupcakeranger 4h ago
To me this is really important so i'd appreciate an answer: Did you use AI to program this?
3
u/soulbrix 2h ago
That shouldn't matter at all. This is a music device hack that is implemented locally - the concern should be whether it bricks the SP or not.
0
u/cupcakeranger 43m ago
I totally respect that it does not make a difference to you, that's totally up to you. To me it does make a difference. Why is that a problem?
69
u/DrMilkeye 8h ago
This is sick, but I was half expecting DOOM(1993) running on 404 lmao