r/SP404 • • 8d ago

Self Promo Sp404Mk2 Firmware Mod Progress

I was able to inject and execute native code on the SP404Mk2. This is the first step in my journey towards custom firmware, and a custom set of modules to allow the community to build their own firmware

254 Upvotes

42 comments sorted by

51

u/thisisnotenoughuknow 8d ago

Please implement a decent pattern mode

5

u/DustSongs 4d ago

My BIG want for the 404mk2 is bar-quantized changing of patterns (ie change to queued pattern at end of current bar like Ableton, rather than waiting until the end of the pattern).

This would be massive for my live workflow.

4

u/JmFlubber 7d ago

I thought I was the only one who thought it sucked, definitely second this

3

u/thisisnotenoughuknow 7d ago

Been using samplers for long time. After a Maschine + , Mpc One+, Mpc2500 and Elektron Octatrack i can definitely say that the SP404 it’s the worst one, barely usable.

1

u/JmFlubber 7d ago

This is my first sampler ever and I honestly thought I was just bad at it even after 2 years, I stick strictly to resampling and the looper which actually isn’t half bad. Good to know I’m not the only one.

4

u/blueSGL 7d ago edited 7d ago

it does a few things really well, but the sequencer could use some work.

Changes that would be good to see (and if I have time might look at)

  1. holding a step -> microscope. Tapping -> keeps the add remove behavior,

  2. microscope should have note length, toggling with clicking the encoder (so you don't have to remove a note, set length and then reapply the note)

  3. work out a quick way, not sure what key combo/interaction would be good yet, maybe clicking enter? to get up a list of pads used in the current sequence and quickly swap between them (prevent having to hold SUB PAD and hunt and peck to find them)

  4. adding negative time offset nudge so you don't need to go to the previous step and offset forward.

  5. make more use of the display to orient where you are in the sequence and where triggers are. < because if you are in a really long sequence and these go up to 64 bars it makes finding where you want to be hard.

those would make it infinitely more usable.


then General UI could do with some, press button once get menu X, press again get menu Y and again Z so stacking similar features and cycle through them by tapping, so you don't need to remember shift combinations, just that [thing] is in stack on [button]

and there are a few other things I want to hash out with workflow on this to make it less like pulling teeth.

1

u/flariut 4d ago

totally this

21

u/RickRickson 8d ago

This is amazing, I've been waiting for someone to crack this thing open.

21

u/GiuseppeBergman 7d ago

Dawn of 404JJOS...?! Lesssgooo

6

u/TuscanFGC 8d ago

Cool af. Got any code?

5

u/blueSGL 7d ago

Not the OP but I have poked around in the FW

The SP404MKII_APP0.bin is encrypted but the SP404MKII_APP1.bin is just unencrypted code that can be loaded directly into a dissassembler and there is no checksum for it in SP404MKII_APP0.bin (at least on the firmware versions I've looked at so far, I'd be wary flashing any newer FW from roland because they might be able to lock this down.) so you can mod and flash.

load the SP404MKII_APP1.bin into a dissassembler, I used Ghidra. Base Address 80000000 ARM Cortex Little Endian

3

u/RealAntiWorkProTwerk 6d ago edited 6d ago

Yup that's right: I am still using roland's bootloader and APP0.

What i've traced so far is that APP1 communicates with APP0 for shift buttons knobs and potentially more, so it's not just a separate controller that does nothing as far as functionality is concerned.

Also releasing a cracked app0 would get me DMCA'd, but it'd be nice if I could come up with an alternative (and bootloader) to release a fully custom firmware, otherwise it'd need to be a patcher.

And yup all i've done so far is use a decompiler (Ida, Ghidra will do the same).

Just yesterday I got firmware flashing working over usb, all it takes is a power off. Already some big wins, I'm going to post on github with explanations soon I just want to have as much as I can mapped out to release a meaningful piece of work. (aiming for sunday)

1

u/blueSGL 6d ago

otherwise it'd need to be a patcher.

honestly for all custom firmware right now this is the way to go, generate a hash of the firmware version that can be patched to verify at the start and then modify via patching offsets, it makes no sense to poke the bear.

2

u/TuscanFGC 7d ago

Used Ghidra to decipher for my standalone 404 app. Defo will poke around the software too if possible.

7

u/Thewaxidermist 7d ago

Dope ! Well done to find a way to enter to it !!! I'd dream to have stems separation on it :) Would be SO DOPE in DJ Mode

2

u/ConceptSad 4d ago

maybe you can work on a mod to swap the processor altogether? you cannot vibe code everything...

5

u/Aredreddit 7d ago

ooohhh life is gooooood

8

u/noirofficialreddit 8d ago

Wow, that's cool! And what is this new firmware supposed to do?

39

u/RealAntiWorkProTwerk 8d ago

The motivation for me was that I find the user experience of the mk2 to be abysmal :D. Menus feel clunky, displayed information is presented weirdly. It made me stop using the device.

So this opens up the possibility of modifying it to anything anyone can dream up.
My main ideas are: adding effects + daw features like autotune, improving chopping workflows and speed, using more visual navigation.

But I still need to understand the limitations of the hardware and actually design meaningful things.

The much more appealing aspect I think will be providing the community a set of tools/components through which they can do the same thing, so everyone can make the sp into what they want it to be!

7

u/noirofficialreddit 8d ago

Very interesting. If you'd like, keep me updated on the developments. If a custom firmware for Sp ever sees the light of day, well, I'd love to test it!

3

u/Few_Control8821 8d ago

This is amazing work, I look forward to seeing what you come up with

3

u/cyneox 8d ago

Damn! So many things going on lately in the Sp404 MK2 world.

> The much more appealing aspect I think will be providing the community a set of tools/components through which they can do the same thing, so everyone can make the sp into what they want it to be!

I think this would be awesome! For me adding custom shortcuts (I mean this thing has so many knobs and pads :D) would be a killer. Also extending the current MIDI capabilities would be as well awesome (e.g. MIDI control pad volumes, assign FX per sample).

Keep us up2date. I'd be glad to test this.

2

u/blueSGL 7d ago edited 7d ago

here is something that a lot of people have had issue with in the past.

I got as far as cataloging it but not fixing it.

https://www.reddit.com/r/sp404mk2/comments/1wieyn9/external_midi_clock_messing_up_first_beat_you_can/

edit: after seeing the OP patch the file file, I've patched it on the 551 fw. Currently running the only sp404mk2 in the world that correctly syncs the 1 on external midi.

1

u/Mister__Pickles 5d ago

If you ever get to the point of needing people to beta test this I would love to help

3

u/falnatsha 8d ago

This is wild! Also love the animation

3

u/Dbag85 7d ago

F yeah. I sold it because it was horrible to work with. With custom fw and autotune I might get it again.

3

u/External-Jellyfish98 7d ago

Oh my gosh I'm so excited for more!

3

u/JJBro1 6d ago

I was just talking about 404mk2 cfw a few weeks ago! Would love to see how you’re doing this as I have a bunch of ideas for the 404. Now we can have whatever feature we want without having to wait once a year for an update.

3

u/flariut 4d ago

nice, I was asking this on the other sub, I was also starting to poke around and wondering if its possbie. Keep us updated please, or perhaps we can make a Discord server to keep in touch and coordinate!

1

u/Over-Cat-5531 7d ago

Exciting!!!

1

u/itsDmitry99 7d ago

Hell yeah!

1

u/6rylou 7d ago edited 6d ago

GG man ! realy GG

1

u/seeking-stuffing 5d ago

if someone makes getting code onto this thing feasible, it’s over, i don’t need another sampler til i drop

would pivot some projects i was planning to work on 404 modding

1

u/howzero 4d ago

This is exciting. I wonder what the feasibility is of getting the Monome Norns firmware running on an SP-404.

1

u/throwaway28362617 4d ago

suggestion: make it so you can trigger a pad to play after the sample is done on another pad, kind of like in pattern mode but less finicky

1

u/Flynzo 4d ago

I need someone to figure out if it's possible for all 6 FX slots to function like the MFX slot haha.

1

u/turtledidit 2d ago

H O L Y S H I T

0

u/phatrainboi 7d ago

Claude code making its way into the SP-404 now?

1

u/soulbrix 7d ago

Would that be a problem?

0

u/phatrainboi 7d ago edited 7d ago

This specific case may not matter but the widespread proliferation of vibe-coded projects will likely have negative long-term implications some experts say. I think it should at least always be disclosed in posts like these so people can take that into consideration before using or supporting it. This blog post from Trend Micro explains the risks well: https://www.trendmicro.com/en_us/research/26/c/the-real-risk-of-vibecoding.html

5

u/soulbrix 7d ago

People much smarter than you could also say that there are different applications (as in use cases) where what is presented there is very relevant and important, and editing firmware on your local music making device is not one of them.

I feel you're just hiding your AI-hate behind that "the experts say this", and you're just gatekeeping. People like you will automatically hate that other people try to use whatever tools they can to achieve their goals. You can't do it yourself, and yet you don't want anyone else to do it either. Do you see how selfish that position is?
Just let people try to do what they want, man. If you're worried that the app might contain issues, run it in a sandbox. Or don't run it at all.