Lazy Bastard: Aside from hacking a bunch of codes, you built a set of web-based code import/export/convert features that became a core component of GameHacking.org, and also led to you joining staff and eventually becoming our executive administrator. Can you give us a brief history of your creation of these features? rimsky82: The history of how I got into doing it is a bit long-winded, and I intend to tell that story in blog-format eventually. So I'll spare you the historic details for now and answer your question more directly. I knew that cheats existed, and that emulators existed. I knew that for a long time. But there hadn't yet existed an easy way to connect the two, especially for games with a ton of codes that nobody wanted to tediously input into the emulator's frontend. So once I had the means (a website with a well-filled database and the webdev skills), I had to get those cheats into a machine-manipulatable format, then write scripts to mangle them into the various formats emulators would accept. Then it got more difficult; some emulators wanted the game genie format, while others like ZSNES wanted the decrypted address/value pairs. Encryption and decryption routines had already existed for the game genie formats, so I just had to port them to php, fit them into my system, and then it was possible. And then, as I started integrating the later generations of consoles, things got much harder. Multiple, more sophisticated cheat engines and encryption routines. I poured many hours into porting existing code, writing my own... I even had to reverse a couple of encryption routines because they didn't exist in the original source. When it came to converting between different devices for the same system, I had to step back and rewrite a lot of my original system. The system had to identify codes on a deeper level, it needed to know what line was a RAM Write, what lines were a Slide Code. Many, many, many hours later it was all functional. Not perfect, but it works. Lazy Bastard: What's something you did in the scene which you think was pretty cool, but isn't very well-known? rimsky82: When growing up and playing video games, you are pretty much forced to accept a lot of mechanics that “just work.” Cheat codes, saved games, passwords, etc. Now that we have the tools and knowledge to understand how things work, I like to dissect those things to understand what I previously took for granted. I recently took an interest in reverse-engineering password systems, primarily on the NES. I studied some that were already done and ported them to C#, such as Metroid. I remember watching the Angry Video Game Nerd and remember him complaining about long and complex passwords, and rightfully so; but in doing this I understand that they had to be that way in order to hold the relevant data. The Metroid password stored, in addition to weapons and starting location, things like opened doors and collected items. I wanted to reverse a password system that hadn’t been done before. So I looked to one of my favorite games, Top Gear 2 for the SNES. While doing so, I noticed there was a value stored in the password and written to RAM that wasn’t used for anything, but was in the middle of other values used for the upgradable items. Upon further investigation, I saw that there was a menu item being skipped so I modified the code to see what it was; it was a gas tank. I remembered that while playing the game I would run out of gas. Rarely, but it happened. I just thought it was because I hadn’t purchased the upgraded transmission. But now it made more sense. What didn’t make sense is that once I enabled the gas tank option in the menu, it all worked without a hitch. I didn’t understand why they would take something out that worked fine, but I’m sure they had their reasons. Anyway, I finished the password generator and now had two things accomplished. Uncovering this hidden portion of the game that made it slightly more challenging, and the ability to create a password of my choosing. The generator is being used by others as I have been contacted about it. I’m very proud as a result of this curiosity. Lazy Bastard: What is your favorite code/hack that you hacked? What gave you the idea, and how did you go about hacking it? rimsky82: Without giving it serious thought to remember all that I've done, I would say I liked my one-button special moves code for Mortal Kombat II (SNES). I was actually trying to hack a different code, and came across the routine that watched controller input for the move combinations and reversed the conditional at the end to make it always fire. It wasn't perfect, as there were moves that ended with the same button. But I thought it was a pretty cool code to accidentally come across, and I think it inspired more like it. Lazy Bastard: What is your favorite code/hack of all time, by any hacker? rimsky82: I love the Hit Anywhere codes that nolberto82 was hacking for a while. They make the games easy, but not boring. Plus, it's just a clever concept. The hit anywhere code I made was for Championship Bowling (NES). It made the game pretty much pointless since you always got strikes. Lazy Bastard: What was the first thing you hacked for any game? rimsky82: I had traded in my PSX for a N64, a terrible mistake in hindsight. I had Mario 64 and a Gameshark Pro, and hacked a code to have all 8 red coins upon entering a level; all you had to do was find one and the star appeared. Not very impressive, but my first nonetheless. Lazy Bastard: Who would you say influenced you the most in the video game hacking scene? Who did you 'look up to' when you first entered the scene? (doesn't have to be the same person for both) rimsky82: I have to say it was nolberto82, and still is. The guy doesn't say much, he just churns out clever, impressive codes seemingly non-stop. I also have to say something about parasyte and misfire. They were pretty instrumental in creating a lot of the encryption routines I ported to php for the site, and it was some very impressive work. Lazy Bastard: What do you think is the most difficult type of code/hack to hack, and why? rimsky82: To sort of sidestep the question, I would say the most difficult code to hack is one for a system that is hard to access good tools with which to hack it. There are still many systems that are hard to emulate, have complicated internals, and don't have decent debuggers. Still, hackers make codes for these systems, and that is impressive. Lazy Bastard: On that note, what was the most difficult, 'hair-pulling' hack you've ever accomplished? rimsky82: I don't think I have a particular example, but I would often get frustrated with the NES's 6502 processor since it didn't have a NOP. A lot of times a NOP would've been great for a hack I wanted to accomplish, but instead had to revert to some clever way to branch and acheive the same effect. Lazy Bastard: That said, was there ever a code you hacked that you just couldn't get to work quite correctly? rimsky82: I made a hack using a code cave for Tetris (NES) that allowed you to move your piece up with the up button. First it would move to fast and go above the game board and glitch the game. Eventually I had to fix all of these bugs, which made the code much longer than I had originally hoped. Lazy Bastard: What is your favorite type of code/hack? rimsky82: Like the example above, I like to take a button not used (or hardly used) in a game and give it a new function. In retro systems with simple cheat engines, this involves some trickery and a good knowledge of the system you're hacking. But really all you're doing is hijacking the button press and changing a value in RAM. It's easier than it seems. I did similar codes for Contra (NES) and Super Mario World (SNES). Lazy Bastard: Which game did you find the most fun to hack, and why? rimsky82: Nothing too impressive, but I enjoyed making a few hacks for Tetris (NES). This game is currently used for Tetris tournaments, and it was fun trying to find ways to help people train, or just tweak the game for more enjoyment. Once I hacked a pointer in Jeopardy (NES) to print the answer instead of the clue. I thought it was a clever code, and I was proud of the accomplishment. However, it didn't improve the quality of the gameplay. It made it quite boring actually. It still made me laugh for a bit, if nothing else. Lazy Bastard: Did you ever hack something awesome, but then lose it somehow? rimsky82: I found the code to make Lara nude in Tomb Raider (PSX), but I just don't know what I did with it. Lazy Bastard: Aside from hacking and gaming, how do you like to spend your time? rimsky82: With my family, watching football, doing the crossword in my local paper. Lazy Bastard: What is your favorite video game ever? rimsky82: This is hard to answer, since there are many reasons a game can be a favorite. But one game I can think of that I had an absolute blast playing was Burnout 3 Takedown (XBOX). I also love Top Gear 2 (SNES), Super Metroid (SNES), Tetris (NES, GB), Mario Kart 64 (N64) and probably 10 more if I took the time to think about it. Lazy Bastard: What do you think must happen for the video game hacking scene to continue to thrive? rimsky82: I think hacking for any sake should be reserved for generations of consoles abandoned by their creators to revive old systems and games, not to circumvent paywalls or cheat online. I think that much is obvious. However, because hacking is used for this purpose, it puts a bad taste in the mouths of serious gamers and creators. Once hacking can be contained to reasonable usage, if ever, I think it has many advantages that will cater to the masses and we won't have to worry about whether or not it is a dying art. But acceptable purpose should be defined to separate us from those that just want to steal and disrupt. Lazy Bastard: One last question: if you had one thing to say to current, aspiring, and future hackers, what would it be? rimsky82: Start small, but keep challenging yourself. Don't just accept that something works, ask why, because understanding why will give you the ammunition to shoot higher.