Casio RZ-1 Custom Firmware

By using the methods outlined in a previous Casio RZ-1 firmware hacking article, a new operating system has been developed for the Casio RZ-1 with the following features:

ON-THE-FLY PATTERN SWITCHING DURING PLAYBACK

In pattern play mode, any other pattern can be selected during playback and it will be queued for play directly after the current pattern. If an unused (never been recorded to) pattern is selected then the current pattern will simply continue playing, minimizing embarrassing mistakes while jamming.

Changing between different patterns in real-time is easily the most lamented missing feature from the original RZ-1 firmware, so the capability to now do should cause many RZ-1 owners to rejoice.

ADJUSTABLE SAMPLE ATTACK

Eliminates that short silence at the start of samples when sampling through the sampler input. Basically, this tightens up the attack of drum hits so they don’t lag behind the beat compared to the ROM sounds. This is fully adjustable, so drum hits can have ultra-tight attack (tighter than the stock toms!) while strings can retain their soft attack, and so on.

In other words, the Casio RZ-1 is effectively designed to pad the sample input with a 12 millisecond buffer. Typically, this causes drums to fall roughly 11~14 milliseconds behind the drum sounds in ROM which makes for sloppy timing. Now anywhere from 0 to 12 milliseconds can be selected. Ranges are given in sample points and can be any value between 1 and 255 — with 1 being the stock RZ-1 behavior (12ms of padding) and 255 being zero padding (0ms, fastest attack possible). On average, a value of 214 preserves the entire attack while also eliminating any preceding silence.

ACCENT LOCK

Accent lock makes all drum hits have extra emphasis by default. On a stock RZ-1, emphasis can easily be added through MIDI triggering (velocity of 97-127), but live drumming requires holding down the Accent button (losing a hand in the process) or shoving something in the button to keep it stuck down (a guitar pick, etc.) The accent lock feature makes the RZ-1 use its full 10-bits of output during live (non-sequenced) play unless specifically de-emphasized with the ACCENT or MUTE buttons.

Accent lock mode can be toggled by holding ACCENT and pressing VALUE UP/DOWN while in pattern/song standby mode. Although the accent lock behavior is always in effect (real-time playback, recording, etc.), the hotkey to toggle the mode setting is locked out during playback or record modes. The accent lock setting is stored in NVRAM–just like pattern/song/sample memory–so it is persistent but non-permanent; stock behavior can easily be returned to without further EPROM swapping and without even powering on/off.

Note: Accent lock will also affect notes being recorded, and any notes which are emphasized in real-time will be so emphasized upon playback, just as if ACCENT had been held down.

MIDI SDS (more-or-less)

Now that a SysEx method has been worked out to save/load samples and rhythm data, actual SDS holds only marginal improvement which makes this idea more-or-less unnecessary and not worth the effort. To be clear, this works on stock RZ-1 machines as well, so no custom firmware needed! Say goodbye to MT sideloading.

INDEPENDENT MIDI TX/RX CHANNEL ASSIGNMENT

Self-explanatory, hopefully.

LOCAL ON/OFF

Use the RZ-1 as a MIDI trigger for other equipment but do not trigger internal sounds. Okay… kind of lackluster, but way more useful than the “Note Enable/Disable” setting which has been replaced. Does anyone even use that?

SAMPLE REVERSE

Reverse the sound of the Sample 1, Sample 2, Sample 3, and Sample 4 slots — individual or linked. This uses the INSERT button in the same context as the SAMPLING button, except the selected sample is overwritten with a reversed version of itself. Just like SAMPLING, it cannot be done during a performance but can be done rapidly without powering off.

Idea: Sample a long cymbal into pads 1~4 and then reverse the whole thing for a nice build-up.

METRONOME ON/OFF

Metronome on/off is toggled with the MUTE button and up/down arrow hotkey method (just like accent lock). This would appear to have limited utility, but was a requested feature.

CUSTOM SAMPLE LENGTHS FOR SOUND ROM BUILDERS

Alternate OS variant which reallocates various slack in ROM to maximize storage of sound data. Chiefly, this significantly extends both the kick and the snare drum (more than doubling the kick length), but also marginally lengthens sample space for the toms and a couple other drum hits. This is only relevant for people that are willing and able to build their own custom sound ROMs, but very handy for those that do.

NVRAM

All new settings (MIDI Tx/Rx channels, local on/off, sample trim, accent lock on/off, and metronome on/off) are retained at power-off and saved/loaded along with rhythm data backups, giving the same functionality as the stock firmware.

FEATURES THAT MAY BE ADDED IN V2.0

– A variant OS which supports 8×2 display addressing instead of 16×1 (as it currently does). Replacing the old display with something modern–while possible–is not just a drop-in affair. But with a few new LCD controller commands in the correct places, it could be.

Note: This has been coded, but currently causes a mysterious bug which locks up the entire machine in a certain menu, so that needs to be resolved before it can be released.

CURRENTLY UNSUPPORTED WISH-LIST IDEAS THAT ALMOST DEFINITELY WILL NOT HAPPEN

– Copying patterns while in Record mode instead of having to toggle back to Play mode. Not being able to do so is a pretty big workflow hindrance, really. While the ability to copy patterns in Record mode has already been coded, the problem is that there’s no real workflow improvement due to not being able to change the selected pattern while in Record mode. Since toggling back-and-forth between Play and Record is essentially still necessary, there’s minimal reason to actually release this feature.

– Assigning new MIDI notes to pads (from General MIDI to something custom). Probably not going to be implemented as it’s too much effort/code and it’s generally easier to just change the controller. The MIDI notes issue would be very easy to hardcode into whatever was desired, but it would be significantly more difficult to make it adjustable on-the-fly and stored in NVRAM so it is recalled after reboot / power off.

AVAILABILITY & INSTALLATION NOTES

A couple things the prospective end-user should know:

– The firmware is still in beta until it’s reasonably apparent there are no bugs. Once it looks ready for prime-time it will be openly available, but until then it is only available by special request (send an email, etc.)

– Installation will almost definitely require one of two things, unless you totally luck out and the OS ROM is already in a socket for some miraculous reason; data suggests that no stock machines have sockets for the ROMs.

Option #1 — Desolder original OS ROM and replace with a socket (leaf-wiper or machine-pin DIP, SIP, or ZIF).
Option #2 — Cut the Chip Select pin of the original OS ROM and piggyback a socket directly on top of the original.

Unfortunately, this is not a simple pull ‘n’ swap, and either option requires some degree of electronics/mechanical proficiency. Support will not be offered to anyone who solders the replacement firmware directly to the PCB without using a socket; it’s a no-go idea.

Also, backup any sample/rhythm data (remember to verify!) before installing this firmware. Count on it being erased during the chip swap. Yes, really.

Bookmark the permalink.