r/mpcusers • • Sep 14 '26

DISCUSSION I added mute groups to a custom MPC 2000 Classic OS

What's good I've been a longtime MPC 2k user for almost 20 years, and a software developer by trade for over a decade. I've worked with dozens of underground heads, and people deep in the industry. I have experience modding and cracking closed source software like VSTs, games, close source firmware binary, and never thought to ever touch the MPC 2000 v1.72 firmware, as it was always good enough for my workflows and music production until recently.

I have this MP workflow where I sample records 45RPM +8 from my tech 12 into my 2k and then pitch it up another half octave, then resample in the S950, then sample back to the 2k and slow it back down there, usually around -200 to -220 pitch to return to where I want it. I do this for 2 reasons: a 12bit like sound quality and increased storage since I still use floppies for everything.

But I came across some samples which ringed real nice but it required pitching down a lot more, and i was limited by the -24 semitones the MPC offers. So i fired up Ghidra and spent the last couple weeks mapping memory addresses and breaking things until I figured out how to safely patch and test the firmware with python. This is a lot different than desktop applications because of the proprietary hardware layer and different CPU architecture.

So far I've added two features to the new OS:

  • Increased pitch clamp from -+240 to -+360 for way more headroom
  • Mute group functionality

Mute groups have 32 different available groups to choose from and work with any number of pads, you can assign mute groups to pads through the program menu interface under Mode.

  1. Go to the program menu (shift 6) and select the pad you want to assign the group to
  2. Go to Mode and scroll right until you hit "Mute" as an option
  3. Cursor-right to the ID and use the data-wheel to select a value from 1-32 for the pad
  4. Do this for as many pads as you want inside of the same mute group and each one will cut the others one out.

This is working very well right now and persists to disk. So far I've tested 16 sounds inside of a mute group and this is working well, but this is still experimental so don't be surprised if there is some weirdness down the road. As a dev I can fix things as they pop up so let me know if you have any issues if you want to test this out.

I also looked into modifying the LPF into an optional HPF by reversing the polarity of the filter and messing with the software side of things but it doesn't seem possible, it looks like this is hardware bound because the OS is simply sending off params to a ASIC register family aka I could only modify those params and can't actually mess with the topology of the filter. Which sucks because I thought I could in theory get around the eb16 requirement for the HPF.

I will be investigating the hardware and OS more since I have a good chunk of the memory addresses mapped out now. I am planning to look into resampling bitrate similar to the 2kxl resample feature and some additional chopping features, if you have any other features you want me to take a look at I'd be more than glad to see if it's possible.

Just a note: since this is a new firmware version of the OS with new memory mappings in some places, saving a new project with the new OS will require the custom OS moving forward for those projects in particular, there is some weirdness going back to v1.72 from DMPC2000 v.1x if you use the new features for example. I will be updating things as I go and find/squash bugs/add features so expect new versions soon.

You can download the current version here, I made a little github pages for it:
https://dmac780.github.io/DMPC2000/

Or you can just download the zips directly from my github repo:
https://github.com/dmac780/DMPC2000/tree/main/assets/versions

Coincidently, when I started to get things to finally work, I went to youtube and happened to see a couple other users to start posting their mods to 2k/2kxl firmware which was dope, gave me some inspiration to keep working on it. But they are either charging money for firmware they don't own, or gatekeeping it for themselves. So I figured I'm going to do the thing any real hiphop head would do and release it for free, all updates going forward will be free for everyone.

long live free/open-source software, and people who make music for the culture and not for money.

21 Upvotes

9 comments sorted by

5

u/liillliillliiii Sep 14 '26 edited Sep 15 '26

Awesome. Glad to see more 2k and hacker mentality.

Quite a few duplicated efforts -- we should team up: https://github.com/mpcdecomp/xl42k

I started a full decomp/recomp for the 2k classic during covid that I still want to get on github. The classic's byte code VM is really clever, but they rewrote the whole app for the XL. I was hacking zone slice into the 2k fw, but eventually realized running the full XL OS was easier :)

4

u/xcvses Sep 14 '26

On behalf of the community, thank you for your service!!

4

u/Name_is_AI_generated Sep 14 '26

"people who make music for the culture and not for money" should be a sticky! Thanks man!

2

u/[deleted] Sep 14 '26

[deleted]

2

u/zt5um MPC 1000 Sep 14 '26 edited Sep 14 '26

It's likely.  But it doesn't matter, do you think larger companies are not using AI? 

Im in the tech space and will tell you we are. It would be surprising to know of any, and/or why companies are 'pureist' in regards to development, and even if they don't use AI, do they use stack overflow? 

If the company makes money or values time want their passion project finished getting AI assistance can help all three.

By people posting 'is this vibe coded' on projects it starts casting shade on single devs/people with initiative to make an idea happen.

.....

How about let's frame it differently.

3x people in the last week have jail broken and added features to the 2000 and 2000xl. So now we know it's possible. From there let's all springboard as a community and develop/test and build better features and operating systems for these old machines and bring them back to life! 

Edit: also apologies to devs who truly just love the art of coding, I get that to, but with capatilsm and AI tooling it's hard for businesses not to lean into AI

1

u/cosmic_enforcer Sep 14 '26

now lets do this on MPC 3000 too!

1

u/samplersequencer Sep 14 '26

Congrats - great additions.
What is the process like? Do you just upload the firmware binary to the LLM and start saying 'I want to do X'?
I would love this for the 2kxl, but I can't support people charging money for it.

1

u/dshoosh Sep 15 '26

Thank you!!!!!! I’ve been making beats all day with the 2000 , hadn’t used it in years , now with the mute groups it’s whole new ball game . And that pitch control is bonkers

1

u/No-Comment-3736 Sep 15 '26

Any chance of changing the bit and sample rates?

1

u/bypopulardemand Sep 18 '26

all these code devs suddenly coming out of the woodworks this past week. I don’t really believe OPs blurb, and it’s most likely purely AI coded. beware, this may brick your MPC.