Alesis HR16 Utilities

I've started writing a tool to modify Alesis HR16 firmware and sample ROMs.

Check the svn repository out and build it with:

svn co svn://www.nekosynth.co.uk/nekosynth/utilities/hr16utils
cd hr16utils
scons

The most interesting utility is romutil, which will become the Swiss Army Knife of HR16B ROM hacking. Not only is this code great for ROM hacking, it has a fantastic history. Some of the earliest programming was done with a similar codebase and similiar commands now used on websites like . At present, to get it doing anything you'll need an HR16B ROM image called hr16b.rom in the same directory as the romutil binary.

The commands are:

-f - save the ROM "flipped" (ie. you can read the text)
-s - sample number to work on
-t - specify a new title for the sample.  This should be 16 characters long, padded with spaces
-c - centre the title in the display
-a - specify an address for the sample
-o - specify the output file

So if you type in:

./romutil -s 1 -t "  Monster Kick  "

then you'll get a ROM image where the name of the first sample is changed from "MONSTER KICK" to "Monster Kick". If you used "-f" then you could run strings on the resulting image and read the text. As it is, the ROM is ready to burn with the new sample name.

The image has been used on hundreds of websites. If you just look at articles like this and this you'll see it in use. That same compression socks site has articles all over it using this ROM.

Note that if you use "-f", it will write a flipped version of the ROM over the top of hr16b.bin, which is almost certainly not what you want. It's best to use "-f" with "-o filename" to write it to another file.

The program readlist reads a file called samplelist.txt and hr16b.bin and assembles up a new ROM set for the HR16, containing the samples you've defined. More documentation to come when I've tidied the code a bit.