And the granular sampler has a custom screen now
Unfortunately I canât upload a video here
if i understand corectly, thats very cool. iâm working on an effect to add to the op1, then a synth engine. im curious, did you âaddâ this or did you âreplaceâ an existing engine? â im asking because it seems like adding something is very complicated and my approach so far has been replacing the hidden filter and hidden iter engines with my own creations to some degree of success (not tested on real hardware yet though, just in a simulator). does yours use all 8 slots of the available engine, not just 4 knobs/4 parameters? am i making sense?
really love how this sounds in combination with the tape echo
all your engines are quiet suited to the OG1 aesthetic and perform pretty well! ![]()
where are the custom firmwares at? drop some links!
is work in progress, a few hours ago there havenât even been some graphics and now look at this lovely screen
super stoked to see it simply implemented this way but letâs see what the OP-Z couple mode is all about.
the 3 additional synths + tape echo fx are pretty awesome (granular, fm bell, virtual analog) and they sound wonderful, in big hopes theyâll all have their respective graphics.
cool⌠i can wait until a more official release, but iâm curious where the best place to follow development is
this is all INSANELY cool. im very curious to try some of this out myself. i have software development experience, but how can i go about loading the entire firmware project into my IDE and then writing this firmware to the og-1? for example, how to load the entire latest official firmware into my IDE and then i can tinker from there (ofc being well aware i could brick my og1)
The firmware files containd compiled code, not source code. So if you load it into an IDE you will see just random numbers.
What you can do is:
op1_xxx.op1 â lmza decompress at offset 4 â unpack tar archive â get OP1_vdk.ldr
That last file contains the code for the op-1, its blackfin assembly, so you need a dissasembler like ghidra or IDA to lookt at it, with a plugin that targets the blackfin instruction set.
Okay, so you have OP1_vdk.ldr
.ldr is the file format that ADI (the company that produced the processor that the op-1 uses), the ghidra plugin can load this files into ghidra, so after you upload the thing there, you can try and decompile the code, analize what each function does, and try to modify stuff.
But, the OP1_vdk.ldr has some encrypted blocks, i think its like 50? i dont know, so you have to decrypt those, I used the OTP-DUMP that someone uploaded to github, and another tool also in github to decrypt the blocks, the decryption tool was missing some 8byte tails, so after correcting that i ended up with an unencrypted ldr file, I tested it on my unit, wich is a rev2, and it worked, so that should decompile better on ghidra.
Okay in ghidra.
Block 1 is an intialization table, around 252~ish? bytes, then another 4 32bit words.
you can basically follow the adresses of that table and try and decompile those functions.
For patching stuff, its mostly asking an llm to do the heavy lifting.
itâs an additional engine. All old synths + Iter are still there plus additional three synths. Itâs a bit hacky, internally it uses iter synth id but there is a dispatcher that calls custom engines. My clanker even produced a nice SDK where you define the engines + their params and GUI in a json config and it builds them from C & patches the op1 code! Once itâs more stable I will share the code of course!
If anyone wantâs to try it, use a patcher here: GitHub - pcppcp/op1r ¡ GitHub
your are on your own, you might brick your device, have emotional breakdown etc.
Have fun!
canât believe how good they sound and perform on the OG1 the tape-echo is such a pleasure to look at and feed it little snippets, modulating the speed of the tape while feedbacking it into infinity
wow what a day
Just checking in to say: I love how this thread keeps on rocking 10 years (!) in ![]()
Also maybe everyone be a bit more explaining what is happening.
Especially that these are engines which TE did NOT want to be available (yet?!) for whatever reasons and that those graphics are NOT by TE.
âFeedbacking into infinityâ sounds exactly like a reason that effect is not on the release firmware ![]()
Keep up the good work though. I love what Iâm seeing
feedbacking me personally into infinity
it sounds just like TE wouldâve done that aswell, really good synth and animations butâŚthis is a real pleasureâŚexploring the modes one can go thru turning the op1 into an op-z ControllerâŚitâs pretty interactive once enabledâŚ
so if youâve enabled the Z mode (via sysex) and plug in the OP-Z you can pretty nicely see the vision interacting because with with this you can at least control every track on the Z but only 2 are accessible which means if you switch the synth and drums on the OP1 itâll switch from track 1 to track 5 on the controlsheme but only track 1 (drums) can be controlled how they thought it should be so 1,2,3,4 on the op1 switch the pages on the Z controlling the respective controls (as seen above itâs color coded like the 4 synth pages on the xy) and the values show the exact value itâs at on the Z.
I think in order to understand what TE has been cooking there I need to maybe factory reset my OPz in order to have all midi channels and ccs in a factory setting and maybe theyâll talk much better to each otherâŚthere are options for presets, custom sysex messages a mysterious yellow 0 under the help page and play, stop, the keyboard, pitch-bend are working fineâŚthey did implement a way to scroll thru longer tracks and parameter locks but they seem to be not communicating by nowâŚwow this is everything I was thinking about it the first time seeing it as a picture alone and now itâs reality..
I think TE intended this mode to have 4 additional drum tracks and 4 additional synth tracks controlled by the OP1 easily switchable and controllable from the OG motherfucking 1 ![]()
ah ok darn, so getting started is not going to be as simple as i thought. sorry for the newbie questions, i have 20+ years in software and some hardware development experience, but this whole op1 dev environment stuff is completely new to me. my goal if its even possible is to simply have the entire codebase in itâs original language (c or cpp id imagine?) in my IDE so that i can start to develop and tinker (with the ack that i might brick my unit). is this âsetupâ (of having the entire codebase in my IDE) ive just described even possible currently or not? thank you all in advance and im extremely impressed with the progress made on all this stuff so far!
you wonât, if it ever screws up and mine did a few times (it locks up, shows whatâs happened) and you can easily install the TE OS 246 and itâs back. but going back once you got the granulars rolling is a no no ![]()
![]()
nope. Not unless TE decides to finish the OG-1 developemtn by opensourcing it. (nudgenudge to TE).
But using something like ghidra or IDA your can use decompilation to get a representation of what the compiled code does (functions calling functions).
And the good folks here let some LLM/AI then tinker with that enough to do these mods while preserving the whole thing to a state where it still works on the OG-1 CPU without crashing, then repacking it into a structure the updater on there accepts as a new firmware.
So no nice code browsing in a classic IDE, unfortunately
both the engines and graphics are custom made.
Everything here was made possible by many people tinkering with the firmware over the years and dumping the nand and what not. BIG thank you to everyone!!
Right now I am working on MI Clouds inspired FX, first prototype sounds so good! And it uses encoder clicks to allow control of 8 parameters instead of 4 ![]()
Oooh. Sorry for not getting that right.
I thought some âtapeâ thing was still hiding in the original firmware, so I extrapolated. My bad and even more kudos to you then
the OP1 comeback nobody saw coming and the way you do your graphics is simply amazing and clouds will be no exception!





