An augmentation to standard sound ROM hacking is EPROM bank switching. This method provides selection of four different kits on-the-fly instead of having to physically swap out single kit chips over-and-over, as–even with an external ZIF socket–this is tedious and prone to error and damage.
909, DMX, RZ-1, and 808 kits without repeatedly opening up the machine?
Four Bank Selection Hack
Additional Materials Needed:
Two SPDT sub-miniature switches (or an electrical equivalent such as a binary encoder)
Two 27C010 EPROMS
Also, if your RZ-1 does not already have sound ROM sockets fitted, 32-pin sockets are highly recommended. Please reference the end of this article for clarification.
Note: The Casio RZ-1 uses two separate chips to store its sounds, so all steps have to be applied to both sound ROM A and sound ROM B.
Four 27C256 banks will fit on one 27C010, so choose four standard sized (27C256 type, 32K file size) RZ-1 sound ROM binaries which are designed for sound ROM A. Join those ROMs together into one file using a hex editor or the Windows command-line, such as:
copy /b 808_A.ROM + 909_A.ROM + DMX_A.ROM + RZ1_A.ROM 27C010_A.ROM
Do the same for the sound ROM B binaries (which should obviously be selected to match sound ROM A). The resulting ROM files should be written to the blank 27C010 EPROMs with an appropriate hardware programmer.
Note: Make sure the ROMs are joined in the same order for both sound ROM A and sound ROM B, or one half of the drum kit will not match the other half! Also, make sure to label which 27C010 is for ROM A and ROM B as the chip positions cannot be swapped.
Next, carefully and gently bend out pin 3 of both 27C010 chips to approximately a 45 degree angle. WARNING: DO NOT BREAK THE PINS OFF!!!!
The 27C010 is a 32-pin chip and the original 27C256 is only 28 pins, so the new chips will not fit without a degree of surgery.
Pins 1, 2, 31, and 32 are going to overhang the socket** and not be connected to anything on the PCB. Pin 3 of the 27C010 is bent out so it will “miss” pin 1 of the socket. The rest of the chip should be fit normally into the socket. In other words, square up the end of the chip without a notch with the end of the socket without a notch; the notched end of the 27C010 will be dangling four pins beyond the notched end of the socket.
On the top-side of 27C010, bridge Pin 30, 31, and 32 and then jump a wire across to Pin 1. Make sure to do this across the top portion of the pins instead of the bottom because pin 30 needs to still fit in the socket. Pin 30 gets +5V from the socket and will thereby supply it to the overhanging pins to which it is now connected.
Again, this procedure must be done for both ROM A and ROM B 27C010 chips.
Pins 2 and 3 are where the magic happens; these are the extra two address pins that will enable access to four banks total instead of only one.
All that is needed to control the address pins are two SPDT toggle switches. The middle leg of one switch will go to Pin 3 (A15) and the middle leg of the other switch goes to Pin 2 (A16). Connect one leg of each switch to ground, and the other leg of the switch to +5V. But, to make this reliable and electrically sound, it is highly recommended to add pull up/down resistors before soldering the switch wires to +5V and ground. To do so, place a resistor at the end of all four switch wires which will be connected to +5V or ground. Connect the resistors to the end of the wire which is furthest from the switch itself. To clarify: Two resistors are needed per switch — one for +5V line and one for ground. Do not add a resistor to the middle leg, as that is connected to an address line. The resistor value should be 10K or lower, so 4.7k or 330 ohm are also easy to find candidates.
The switches are shared between sound ROMs A and B, so wire ROM B in the exact same manner. Special attention is required, however, to make sure Pin 2 for ROM A and ROM B are going to the same leg of the same switch, and Pin 3 for both ROM A and ROM B are connected to the respective switch. In other words, when flipping a switch, both ROM A and ROM B should toggle the same address (either A15 or A16) at the same time — when ROM A A15 goes low, ROM B A15 should go low as well, and when ROM A A15 goes high, ROM B A15 should go high. A16 should behave likewise. If A15/A16 for ROM A are opposite in respect to ROM B then the RZ-1 will switch to mismatched kits.
As the switches control the various states of on/off, there are four unique combinations:
0 0 bank 1
0 1 bank 2
1 0 bank 3
1 1 bank 4
Switch placement is left to the discretion of the mod installer, but a suggestion is to drill two small mounting holes on the front left-side of the black metal base. This will prevent accidental physical exposure to the switches due to the overhang of the top chassis.
NOTES AND AFTERTHOUGHTS ADDENDUM
Clearly, if reprogramming the sounds is desired then desoldering the switches from Pins 2 and 3 will be necessary, as well as the jumpers between Pins 1, 2, 31, and 32. Pin 3 will also need to be unbent so it’s inline with the rest of the pins again — not terribly graceful. Which leads to…
** an unaltered RZ-1 will not actually have a socket, but the PCB only has 28 holes, so the point remains. The above technique should be used if the RZ-1 has already been fitted with 28-pin sockets, or if one is planning on fitting 28-pin sockets during the mod, however, if your RZ-1 has not already been modded then 32-pin sockets are advisable.
Ideally, to make the 27C010 hack a “permanent” install, one would use a 32-pin socket (instead of 28-pin) and bend out pins 1, 2, 3 and 30, 31, and 32 before soldering it to the PCB. On the socket, connect pins 1, 30, 31, and 32 together and then jump a wire to the former pin 28 hole on the PCB (where pin 30 of the 27C010 would have lined up if it was not bent out).
Now the switches for pins 2 and 3 can be permanently attached to the 32-pin socket instead of directly to the 27C010 chip which makes reprogramming much easier.
A semi-permanent method would be to install 28-pin sockets on the mainboard, but use a 32-pin socket as a caddy. The 32-pin socket will fit into the 28-pin socket with the 32-pin socket modified and installed with the same method as directly above.
The ultra-advanced sound hacker can go a step further and alter the program ROM with custom sample lengths so that sounds which are longer than the equivalent stock drums can be used instead, although obviously the total available space per EPROM remains the same — for one sound to be longer then others must be shorter by the exact same total amount. However, tightening up the toms and open hi-hat in particular will provide extra space for otherwise impossible sound replacements such as gated snares, extended 808 kicks, etc. Anyone wishing to pursue this high-degree of customization is advised to contact R-Massive directly, as it requires replacing the OS (system/program) ROM with one patched in a very specific manner.
Another drawback to this method is that pre-made kits will no longer align properly, so every sound ROM needs to be specially tailored to the custom layout.