I am now quite dedicated to RZ-1 hacks and have more-or-less finished custom firmware and have implemented the following features:
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.
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.
MIDI SDS (kind of)
Now that a SysEx method has been worked out to save/load samples, 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.
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.
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?
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.
METRONOME ON/OFF
Metronome on/off is toggled with the MUTE button and up/down arrow hotkey method (just like accent lock). This has already been coded, however, it uses a fair amount of precious codespace and the same thing could be achieved with a hardware switch, so it might be abandoned to make room for more useful features if absolutely necessary.
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.
INDEPENDENT MIDI TX/RX CHANNEL ASSIGNMENT
Self-explanatory, I hope.
FEATURES THAT MAY ACTUALLY MAKE THE CUT:
- A variant OS which supports 8x2 display addressing instead of 16x1 (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:
**ranked in priority of how important they are for me, personally
I can only wring out a couple more bytes of codespace, so the firmware is about as jam-packed as it's going to get. What extremely minimal space is left in the ROM is now going to any potential bug fixes and polish, so the feature list is the feature list. Plus, I'm ready to move on with my life, so the show's over once this version is tweaked.
- 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 I've already coded the ability to copy patterns in Record mode, 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.
Any suggestions, feedback, or feature requests can certainly be made and will absolutely be considered. It should be noted that the Holy Grail of drum pitch adjustment is beyond the scope of the RZ-1 hardware**, unless someone has a stunningly brilliant method. Pitch adjustment per instrument would require some major hardware/software hacking in combination, and that's super unlikely to happen.
** Yes, I know you can mod the sample clock, but that's not the same idea.




