Custom Firmware on the OP-1

Just released v0.1.0 of my tool. Now includes automatic modding to enable filter and iter.
Usage:

<span style=“font-family: “Courier New”;”>python3 main.py unpack op1_218.op1
<span style=“font-family: “Courier New”;”>python3 main.py modify op1_218 --options filter iter
<span style=“font-family: “Courier New”;”>python3 main.py repack op1_218
<span style=“font-family: “Courier New”; font-size: 13.3333px; font-style: italic; font-variant: normal; font-weight: normal; line-height: normal;”>
<span style=“font-family: “Courier New”; font-size: 13.3333px; font-style: italic; line-height: normal;”>
The unpack command will unpack the FW into a directory with the same as the original file. Then modify will add the database changes, and repack will pack it up back into an .op1 file (named op1_218-repacked.op1 in the case of the example)

The subtle fx params thing will be the next thing I add. Or maybe a GUI… not sure yet.

Enjoy!

EDIT: I’m doing a simple GUI right now so that’ll be coming first. It’ll allow selecting a FW file, choosing mods, and then applying the mods to the firmware in one single step.

Btw, has someone tested the repacker on Windows yet? Would be nice to know wether it works there too.

if its possible to swap presets, would it be possible to just free them up for personal space?

would love a way to make them all my own. esp drum!

Nope. The limits are hard coded. You won’t get more kits in even if you delete the factory presets

Btw, has someone tested the repacker on Windows yet? Would be nice to know wether it works there too.

I used the repacker on Windows 10 several times, everything works fine.

1 Like
Btw, has someone tested the repacker on Windows yet? Would be nice to know wether it works there too.

I used the repacker on Windows 10 several times, everything works fine.

Beautiful, thanks for letting me know! I’ll add it to the readme.

After a hint from @crypto I noticed something weird:
* Bootloader in the 067 Beta was “1.47”
* Bootloader in the 218 release is "2.02"

When diassembling the current bootloader, the same problems arise which we are dealing with the whole time for OP1_vdk.ldr.

So I guess TE now uses the same obfuscation/security method on the bootloader as they do on OP1_vdk.ldr.

This can be seen even without IDA pro when looking at both Bootloader versions with the curretn version of LDRviewer (http://dolomitics.com/downloads/ldrviewer.html) which now has a built-in disassembler view.

The first DXE is looking okay (possibly the early stage boot, deciding whether to load the “rescue” or the normal FW), but the second DXE is pretty useless in the current V2.02 bootloader.



the most burning question I have is: did anyone test to downgrade the bootloader back to e.g. 1.47 or even 1.35?

Wow, that sounds unfortunate :/. It’d be fun to mess with downgrading the bootloader, but I don’t have the guts to try that at the moment.

It would be enough to use the original 14203 FW and check if the bootloader stays at 2.02 after the up/downgrade.
That would mean we are not locked into the new bootloader.

Given that all update packs always contain a te-boot.ldr I guess that it always gets updated as well if the version is different.

Just can’t check right now without an OP-1 in reach ;o)

maybe a selection of "14203 patches OR 218 patches" to switch out the default patches in op1_factory.db
I hear some peple liked the old patches better than the 218 ones.
(I tried merging them but only 16 are recognized by the FW it seems)

Considering that its always possible to add patches and that the default ones subtract boot time (that says in the manual) and also the number of presets available in the op-1 are limited, I would not leave a single preset in a custom fw… Monolake said once that when he buys a synth, the first thing he does is to delete all presets and make its own sounds and then when he knows the synth, he checks through the presets to see if he missed some trick… I really like that approach. :slight_smile: Thx for iter/filter btw. I wonder if there is a way to use that filter as a master effect?. cheers.

Again, there are 16 “slots” for factory patches and 42 for user.
Even if you delete the factory ones, you don’t get 16 more user patches.
So it’s just a waste to delete them.

You could of course put your own most favorite ones in as factory patches.
That would be a truly unique OP-1 then…

Again, there are 16 "slots" for factory patches and 42 for user. Even if you delete the factory ones, you don't get 16 more user patches. So it's just a waste to delete them.

You could of course put your own most favorite ones in as factory patches.
That would be a truly unique OP-1 then…


Ahh!. I guess the trick to have 58 user patches is elsewhere… Sorry for not reading the whole story…

Wow there is another effect/synth engine available??

Are there any links to pages that walkthrough how to set up? I went back a few pages in this thread and couldn't find anything. Computer programming is completely alien to me. Any help would be much appreciated!

Wow there is another effect/synth engine available??

Are there any links to pages that walkthrough how to set up? I went back a few pages in this thread and couldn't find anything. Computer programming is completely alien to me. Any help would be much appreciated!

Easiest is to load the patches that are shared on page 12 in this thread. No need to use custom firmware, but the filter effect and iter synth won’t show up in the menus and filter is not available as master effect.


Question to the people with customized firmware loaded: Is filter then indeed available as master FX?

@pstnotpd yes i can confirm it works as a master effect.


Any tips on where to start if I want to… I guess… build customized firmware? Can someone with no experience in code learn somewhere how to do so well enough to create a custom firmware?? It would be great to have a new master effect…

Use the python tool @wavi created

So I just right clicked, downloaded the link on page 12 of this thread… and then dropped it into my drum folder on the op-1. Now i’ve got a keyboard that says “Op-1 patch” hell yeah.


If I click on that link directly it just takes me to a page that says op-1 patch. Not sure what to do to get iter and filter… can someone give me a hint?

@ice9ismine are you sure the patch you used was the drum patch? If it was the synth one it won’t work.