User Tools

Site Tools


user:jhammo13:portfolio:project5

Pac Man Memory Manipulation

Overview

In general the idea of this project is to take the classic Pac Man for NES and make our very own cheats for it. How would one do that? SIMPLE!! sorta.. Just like anything else the game breaks down into basic code and also gets loaded in to memory. With a certain NES emulator there is a tool that shows you in real time what is going on in memory (note that this is showing you how the memory would operate as if it were being played on an actual NES.)

Procedure

The easiest way to use this tool is by finding something in that game that counts that you would like to make a cheat code for. For instance the number of lives are countable, points are countable and even the dots Pac Man eats are countable. In this specific example I am going to make a cheat code for the dots. Ya sure unlimited lives or a really high score would be nice but it would be even cooler to see if there is any real end to the Pac Man game. So we will begin with the emulator that gives a display of the memory locations and the values they're holding. (Once again remember this emulates the NES so the memory location are those that would eb appearing in the memory of the actual NES, not the computer we're emulating on.)

The neat part about this tool is it allows you to test for changes in the memory while running in real time. As you can see there is a comparison operator and you can compare it to a value. So in order to do this I guesstimated how many dots there were (like 150 or so.) Now as the game runs you start to eat dots. Now set the comparison operator to less than the previous value because since you've eaten dots the count is going to be less than the previous count of dots. Now keep eating and hitting search, eventually you'll only see a value which if you pay close attention to will decrease in real time as you eat the dots. In this case the memory location turns out to be 006A. Now the handy part about this tool is that it gives you an option to directly manipulate that memory location and set it to whatever value you want and save it as a cheat. In this case we will set the value to 1, meaning Pac Man will only have to eat one dot in order to beat that stage.

Conclusion

Memory is a very good person to become friends with. Everything is in memory even how many lives you have left in Pac Man. It's just a matter of watching to see what values decrease or increase or stay the same. If you get a 1up then your lives go up (search for a value in a memory address that increased.) If you eat the dots then it decreases so do just the opposite. Through this idea of memory manipulation you can do to a game as you please. In my own caring I can now beat every old video game I dreamed of.. Can't wait to beat Fester's Quest :)

user/jhammo13/portfolio/project5.txt · Last modified: 2012/05/10 04:08 by jhammo13