My name is Josh and I am an NES Tetris enthusiast. I am actually pretty good at the game, but I want to be a "Master". What I mean by that, is there are about a dozen or so people who are certainly better than me (probably more than that but who knows), and they all met up a couple years ago and had a tournament to crown the ultimate Champion of Tetris. They even made a movieabout it.
Anyway, I want to compete at the 2012 Classic Tetris World Championships, and I am trying to cross the the last hurdle from "good" to "great". Messing around with emulators, I was able to make some basic training devices for the NES Tetris ROM. I had been thinking about getting a Game Genie so that I could use the same training devices on a real NES and Tetris cart.
I saw a Game Genie for sale at a thrift store last week, and almost bought it, but I didn't. Through a strange series of circumstances, I ended up not working two days later, but showed up for work, even though I didn't have to be there. Well, I have to drive into town to go to work, and there I was, in town, with nothing to do. I was driving, about to leave town, and then I remembered that Game Genie. Was it fate that brought me to town to buy the Game Genie? Maybe.
Anyway, I tried using my NES emulator's Game Genie converter to make the codes I had been using, but to my surprise, it didn't work. In a rude awakening, I discovered that I had been manipulating the RAM, not the ROM, and Game Genie's only manipulate the ROM. Tony Hedstrom got me pointed in the right direction, but I had to learn some of the 6502 language to figure out what was going on with the program, and what I needed to do to it to get the results I wanted.
I took a computer programming class in high school, and I loved it, but I was only one of about eight students in the class, and none of them wanted to take the next course, so it wasn't offered. I forgot most of what I learned, but I am familiar with the nature of programming language. My emulator's debugger translates a lot of the op codes into assembly language, but it also messes some of them up as well. So it took me a while to figure out that I had to ignore the debugger's translations, and then I saw the pure code, and suddenly I was able to figure out how it all worked. So once I had the part of the program I was working with translated into my brain, it was easy to figure out a way to make it do what I wanted it to do.
Here I am, rambling on. I didn't realize. I will try to finish up quickly. I made my first Game Genie code the day before yesterday. I tried making another one last night, but I kept getting caught up in following the program rather than focusing on what I was concerned with and figuring out what I needed. I worked on another Game Genie code today, and got that one figured out after a lot of struggle with AND
What I am trying to say is that it is fun making Game Genie codes, but I am totally captivated by the entire program, and I am having a blast learning and figuring out the 6502 assembly language. As it turns out, Nintendo was going to make Tetris a 2-player game, and they have a lot of it programmed into the ROM, but they never finished it. It may be a lofty dream, but I would like to learn enough 6502 to sort of patch together a workable game some day, unless somebody has already done that
That's the story of how I found myself here. I am looking forward to learning more about 6502