->CLICK
HERE <-
for a full list of Pro Action Rocky Codes! (Yes,
even the ones stored internally in the Rocky's Flash memory.) -> New Rocky Codes! <- |
Anyone remember the Game Genie? If you're a Nintendo fan worth your salt, you sure do. It was a revolutionary device that, for the first time, allowed NES players to customize their games' rules -- to make them easier, more challenging, or just plain strange. If you have an NES but not a Game Genie, you have seriously been missing out. Go now and pick one up off eBay or something. It'll only cost you $10 or $20. Anyone remember how much the Game Genie originally cost? My memory is fuzzy now, but I can remember seeing it for the first time in a Canadian electronics store selling for over $120.00. It was very expensive in its day, but oh, how great it felt after saving up the money to buy it and finding out the amazing tricks it could do to my NES games. Needless to say, the Game Genie was never released in Japan for the Famicom. So, it came as a surprise to all of us when in the Fall of 2003, Japanese cheat device distributor Cyber Gadget announced the first-ever cheat device for the Famicom. Now, despite this device's having a name similar to Datel's Pro Action Replay series of cheat devices, the Action Rocky actually appears to operate not like a PAR but like the Game Genie. And the manufacturer of the device, Prevo Inc., certainly took the Game Genie's original MSRP to heart when pricing this unit: ¥9800 plus tax. That's close to $125 Canadian these days... Ouch! Only for the hard-core collectors. So I balked at the prospect of buying one until the price came down. Luckily for me, I managed to find one new on Yahoo auctions for a more reasonable ¥5000. |
When it arrived, I surveyed the instructions, plugged it in,
and had a go. I also was initially fooled into thinking this unit worked like
a PAR (ie: it saved to RAM addresses continually, to effect cheats), but when
I tried out some invincibility codes (like in Rockman 2), I noticed that the
code didn't refill my life gauge if I got hit; it just prevented the gauge from
going down any further if the code was activated (the Action Rocky can be activated/deactivated
during play by flipping a switch on the unit). Also, other codes like mega-jump
were only possible with a Game Genie-like device (one which intercepts and changes
ROM accesses). This was a very interesting choice on Prevo's part, but it made
my life a little more difficult since finding new cheat codes is more difficult
on the Game Genie than PAR.
But anyway, let's look at Rocky's operation.
Everything plugs
in easily enough. But remember to blow on the contacts first! |
Here are codes for
Akumajou Densetsu, AKA Castlevania III. Notice the "JUMP POWER
UP" code. |
There's not much to say about this unit's operation. As has become expected of cheat devices nowadays, Rocky comes pre-loaded with codes for 124 games, which is great... until you remember that the Famicom has a library of 1,251 games, so cheat coverage of just 10% of the Famicom's games seems a little skimpy. The user can add more games whenever Cyber Gadget publishes codes for them in the monthly magazine, Action Replay. However, by the looks of their homepage, new codes have been scarce. Nothing since Spring 2004. If this device had had its own code-finder (like the Action Replay), it would have been much more convenient for gamers, I think.
The Main Menu. It
has codes for 124 games already stored. |
And there's space
for the user to add new games. |
Which brings us to our next topic: the code format. Well, just like the Game Genie, cheat codes for the Action Rocky are encoded in their own special format. But unlike the Game Genie, whose codebook gave instructions on how to modify existing codes, and some information about their code format, Rocky's designers give no help or information. And the code data is encoded in such a way that you can't change the data value (as you could with the Game Genie) without severely messing up the address value. So, this is a difficult one to crack. I began working on cracking the code, of course, because I wanted to be able to create my own codes for the other FC games that I have in my library.
So, here's how the
code breaks down: As you can see in this example from Akumajou Densetsu,
the Rocky code consists of 8 digits; that's 4 hex bytes to us coders.
The first byte is the data value (which gets sent to the CPU); the second
byte is the compare value (the value checked on the ROM at the specified
address); and finally the last two bytes (I assume) make up the CPU address
to be intercepted. (If all of this is confusing, please search the Net
for information on the NES Game Genie's code format and operation.) |
|||||
FC |
93 |
B156 |
|||
We can see that all
of the bytes are encoded, that is, they don't show the actual data and
addresses. We can also see that for any code whose data value is 0 (0
lives, 0 continues, 0 hearts), the first value is always the same: FC.
So, the data value is simply encoded in a lookup-table or bit-swap type
deal. That's simple. |
The next byte is more complicated, as we don't easily know the compare value. But I noticed in codes for other games which originally give the player 3 lives, the second byte changes depending on how many lives the Rocky code gives; however, the second byte (compare byte) is the same between different games if the data value is the same (ie: 9 lives in Super Mario Bros. and 9 lives in Ninja Jajamaru.) That must mean that the encoding of the compare byte depends entirely on the data value (the first byte in the Rocky code). |
The last pair should
make up the address, but again the bytes are heavily encoded. We can already
see that the address is encoded based on the data byte, which means if
we change the data byte, the address the Rocky writes to will change in
an unpredictable way. |
|||
With hard work comes progress, and now we are proud to announce the complete decoding of the Rocky code. Using a combination of luck, educated guesses, and useful software, Jamethiel, ReaperSMS and I ran tests on the Rocky to decipher its behaviour. The first step was finding the encoding of the data byte, which was not difficult since we had a large number of codes to look up in the Rocky code book. We did the same, ever slowly, with the compare byte, but when we ran out of useful data to use, we had to take a different strategy. The one that finally worked was a Rocky "Detector" program that I wrote, one which could write values to RAM in $8000-$DFFF and then search through that area to see if the Rocky had modified a byte. From this, we could get an exact value, compare, and address from a Rocky code, and thus decode everything! |
|||||
HERE is Jamethiel's document describing the Rocky encoding and decoding scheme. Watch out; it's a mindbender! | Above is an NES program that I made
that decodes and encodes Rocky codes automatically. |
You can choose up
to 4 codes at a time. |
And here's the Edit
Menu. *yawn.* |
But anyway, I'm getting ahead of myself here. I'm a hacker, so I like pulling apart codes and finding out what makes them tick. But, how well does the Rocky work for the casual gamer? Pretty well. For the games that this device has codes for, it works really well. I can have infinite lives and energy in my favourite games, just like the Game Genie. And I can turn off the codes mid-game if I wanted to, something the GG could never do.
Enter the code's
name... |
And then the code
itself. |
I just hope that Prevo and Cyber Gadget give this unit their full support by releasing codes for many more games in the future. All in all, this was the Famicom enhancer that I'd been waiting for. If you look past the outrageous price tag, lack of code searching, and (for now) limited code library, you'll find an easy-to-use and simple peripheral for your Famicom. It's a much more sensible solution than chaining a bunch of import adaptors to get a NES Game Genie to work with Famicom games. |
News Update 11.15.2004: Well, since publishing this webpage and releasing my Action Rocky decoder, I have come across a small group of guys in Japan who have also cracked the Rocky code and begun creating new codes for their favourite games. Much to my surprise, they had cracked the Rocky code format almost a year earlier, in Sept. 2003!!!! Why didn't they let me know? I've made contact with them, and now we might work together in the future to further the art and science that is Rocky hacking. Wish us luck! >Here<
is an Action Rocky messageboard (Japanese only) that has been running
for over a year now. |