User Tools

Site Tools


Firmware Patches

Son, in software, we call mods 'patches'.

Use Rest, Accent & Slide buttons in a new way while playing and also get larger pitch range

Daniel Araya has patched the firmware so that you can use the Rest, Accent & Slide buttons while playing a pattern and have the function on as long as you hold the buttons. The mod also increases the octave range to about 4 Octaves. He has provided another patch to increase the range of up to 6 Octaves, which apparently can do some "really weird stuff". Check it out:

The EvilX0X Firmware

Jason Pitt of EvilX Systems has patched the firmware to do several cool things. The current firmware is available here:

Here's a list of the EvilX0X firmware revisions:


Features removed:

Keyboard Mode: Keyboard mode is basically gone now. You can still switch to keyboard mode and use the bank knob to set the X0X's MIDI out channel, but that's it!

Features Changed:

Pattern Nudge: Pattern nudge now doesn't change the swing state of the pattern. And overall seems bug free (i think Rolling Eyes )

Features Added:

Save-To: You can now save the pattern you are currently editing to another location, I think this works similarly to the other mod that was posted.

When you are ready to save the pattern press DONE once.

Now switch the bank knob to what bank you want to save it in and then press the number button you want to save it in.

To save the pattern press DONE again.

Please note a few things: I'm not using any LEDs or anything to let you know what's going on during this procedure (to save code space). Also if you just want to save the pattern where it already is, you just need to press DONE twice. Also if you end up saving it to a bank other than the one you were originally editing, after you're done saving you'll need to turn the bank knob to set the current bank back to were you want to be, just flick it forward then back, you'll see what I mean.


So I optimized some of my code to make it smaller and this firmware is now only 62 bytes over "the limit", but as far as I can tell, nothing is broken.

Changes from 0.3:

Random Mode: Removed to free up a few bytes

KEYBOARD moDE: now works

Rest, Accent, and Slide buttons are now momentary switches in the pattern play modes

Features Added:

Pattern Nudge: DONE + NEXT: moves the sequence forward one beat (skips a beat) DONE + PREV: moves the sequence back one beat (holds a beat)


New Feature:

MIDI program change control:

The X0X now responds to midi patch(program) change information in the pattern play midi sync mode. Limor actually had some code commented out that might have worked, but used the MIDI Song Select, which I've never heard of and have no idea how to get my sequncer to send….but anyway I switched it to use midi patch changes. The patches are mapped as follows:

Bank 1: Pattern 1 = Patch 0

Bank 1: Pattern 2 = Patch 1

Bank 2: Pattern 1 = Patch 8

Bank 3: Pattern 1 = Patch 16

Bank 16: Pattern 16 = Patch 127

Patch changes are treated as if you pushed them on the X0X, so send it before the start of the measure you want the pattern to start on…


I fixed a few bugs in my stutter code that caused the x0x to act weirdly if you stuttered a pattern that had a length that 16 wasn't evenly divisible by…anyway

also added a real-time end point select feature:

Done + 6:

sets the end point to whatever step the sequencer is curently on.

Done +5: sets the endpoint back to the normal saved pattern end point

Done +7: allows you to retrigger the pattern from step 1 and sets the pattern length back to it's stored end….this is useful when the pattern "loses the one" after lots of stuttering. ALso if you hold done +7 it will stutter the first 2 steps until you release it.



Well…I decided to post my v1.04 firmware hacks…they implement swing timing and pattern rolling or real time end point variation, I also moved the tap tempo to the tempo knob button

obviously you use this at your own risk….etc etc…

how it works:

Swing: swing timing is controlled using the prev and next buttons in the pattern play modes. Swing is initialized to zero, press next to increase the swing time (5 values), press prev to decrease the swing value. The effect is global and works with midi sync (but not din sync, if you need it email me and I'll try to get it done)

Roll: currently this is based around 4/4 based patterns…so it's somewhat limited, but it's fucking cool anyway. While the sequence is playing press and hold down the DONE button then press one of the #1-#5 note keys: the keys set the end points as follows:






obviously if your pattern has fewer than 16 notes, pressing #5 won't do anything. Should work in all sync modes…

Tap Tempo: Push down on the tempo knob instead of the done button…

I'll try to post a demo of the features and please post any bugs and I'll try to squash them

/home/ladyada/public_html/wiki/data/pages/x0x/firmwarepatches.txt · Last modified: 2016/01/28 18:05 (external edit)