Custom Firmware on the OP-1

I’ve finally got a repackaged firmware successfully installed, but only after deleting the factory_synth folder contents. It seems to be some kind of memory limit, since I’m having trouble making the FW small enough (15mb or less). Even with your command I get 15.8mb from the leaked beta :/. Really seems like the compression needs tweaking. I read in the LZMA man page that the decompression can eat lots of RAM and the OP only has 64mb… Any ideas? I’m actually not sure if the problem is with LZMA or TAR.

HOLY SHIT GUYS! OMG FILTER IS HERE!

I spent the entire night messing with the FW and it was totally worth it. Teaser below (sorry for low quality audio)


Still need to figure some stuff out but at least my unpack/repack tool is working perfectly :slight_smile: There will definitely be more to come…

Great job guys! I feel you’re entering a dangerous but satisfying territory.
So this filter effect is hidden in the Beta? Or all releases?

Apparently filter has existed since 2013. Judging by the creation time of the .svg graphic.

Now would be a good time for everyone who has access to old, official OS releases to share them :slight_smile: There might be other unreleased goodies in them.

full os history here: http://oper8.free.fr/op1_os/



@wavi
nice :slight_smile:

confused why TE kept this hidden? Unstable/cpu hog? Unsatisfied with the quality of the effect? Can’t be down to not being happy with graphics as they put Slump in the beta with ‘temp’ graphics. OP would benefit from addition of a straight forward multi-filter and distortion, hard to hear the quality of the effect on the video but this seems to provide both.
If custom OS can’t be shared then hopefully this’ll see the light of day from TE in the next OS.
Wondering if any of you guys coding are potentially able to add totally new fx/functions? Could get very interesting :wink: for instance expanding ‘pattern’ to 32 or 64 steps with multiple pages, or poss extra synth/drum pages/functions (simple EQ, patch volume etc…). If that kind of thing’s possible then I guess sky/cpu/ram is the limit :wink:

filter! why would this be unused!!!

Wondering if maybe TE left this hidden as they changed plan at last minute and intend to add it to the general synth/drum functions, not add it as an ‘fx’? Possibly with’ press encoder’ to access the page? Just that it seems a little ‘normal’ to be thrown in with the other effects and more like ‘standard’ synth parameters. Would be rad to have filter/drive options whilst still keeping fx slot free for something else… Can’t really think of any other reason it wouldn’t be un-hidden in the beta?

@Callofthevoid
I haven’t had much time with it but it sounds very to good me and it’s very versatile. I’ll post a better video when I have time. It’s got lots of filter types like LP, BP, HP etc and subtypes of those too. The resonance and drive are nice too. I have no clue why it’s not in the official OS. It’s everything that’s missing from nitro. I think it’s good enough to deserve being in the effects list :stuck_out_tongue:


I’d like to modify the actual code but that would be really hard. The firmware doesn’t contain the original source code since it’s been compiled to run on the processor. All the other files are really easy to edit though. A longer pattern sequencer with pages is something I’ve wanted really badly ever since I got the OP. Hopefully the guys at TE will add that one day because that would be fantastic.

@wavi: that is awesome. Did you get some sleep? :o)
So what parameter set did you use in the DB? when I put “filter” in, I always got a crash with parameter 3 not being in the correct range?

- Current status -

In my comment above (https://www.operator-1.com/index.php?p=/discussion/comment/31404/#Comment_31404) I noted 3 major areas of work.

  1. finding out the correct values to put into the fx_type table to re-enable the ones already in the firmware
    1. @wavi just unlocked "filter" which is id=1 (which belongs to "mmmf.svg")
    2. next up would be "lpc" and "chorus"
  2. finding out how the SVG files work
    1. so far I only tried the simple ones (e.g. finger sequencer) where it''s all about grouping and the display=none|inline setting. We used the same software to create them (Illustrator CS4) but I also got stuff to work with Inkscape (free SVG editor) which messes up the files pretty bad. But still
  3. creating tools to modify the actual _firmware_ files (the .ldr)
    1. this is gonna take some time and effort and it might be questionable if it is worth it..

Now about the question "why did TE not put this in?"
Well for "filter" I guess the signs are all there. It is id=1 and named "filter". So it was probably the very first concept of doing any filtering at all and I guess that it didn't make the final cut for not being "creative" enough and maybe providing things that other parts do now. I can understand that from a "make a sleek product" point of view.
I guess all the people on this thread are in the "I don't care, just gimme more stuff to play with"-group :o))
Maybe that just doesn't match with TE's approach.

PS: still have no idea how we could enable ape tape and what it even is (fx would make the most sense but who knows)

@TabascoEye nope, didn’t sleep, I’m at work now :smiley: luckily it’s my last day before my holiday.

If I give you filter will you give me lpc? nah just kidding :smiley:
What I did was kind of random, I looked at the existing fx and noticed that grid & delay have the same preset. Just copied the same values into filter and it “just worked”. I gave it id 2, didn’t seem to work in other slots. Hope you get it working too!


Hmm. maybe I have to check out the beta instead of doing all my work on 14203 becuase there, grid&delay have different presets (see here: https://www.operator-1.com/index.php?p=/discussion/comment/31403/#Comment_31403)

I think I also just copied the ones from delay but they didn’t work. Can you give me the full numbers?

@wavi

Just copied the same values into filter and it “just worked”. I gave it id 2, didn’t seem to work in other slots.
And you needed all night for that? ;o)
Just kidding. I will try that out tonight when I’m home (at work now too).

Great stuff so far!

I made a small poll to check what you guys want in a modified OP-1 FW:
http://www.strawpoll.me/10636080

@TabascoEye

Haha It took me way too much time to make my packager and get the first custom fw working. :smiley: I also spent some time replacing the cow in cwo with a moose image… It didn’t even work in the end.

The full line for filter in my custom beta is: 2 filter [8000, 8000, 18000, 18000, 8000, 8000, 8000, 8000]

dang it. I had [8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000] which didn’t work and then went down with the values instead of up. (0 crashed, 4000 crashed… it was frustrating)

Let’s gather all that in this post and then we’ll do a writeup in the end when all ids and values are clear.

Hi guys! You did a great job here. I think in legal terms releasing a tool that will do changes to a firmware file will be OK as long as you do not redistribute the changed firmware itself. Just let the user make some efforts.

I personally vote for python, as it is multi platform, easier to use and generally more useful than java.

PS: i just hope TE won’t lock the bootloader or something… :wink: