![]() Once you've found the memory for the sprite you want to modify, you can search the ROM for that data, and then change it. I kept messing with them until I found the sprites for the characters on the screen. (On the next frame, the game re-writes the sprite data and fixes what you've changed.) This lets you easily figure out which memory is for which sprites. If you go ahead and start changing sprite memory, you'll notice that every time you change a byte, one 8x16 tile on the screen flickers for a single frame. The nice thing about this situation is that the sprites stay in one place (in most games, each sprite moves to a different memory location each frame). If you pause and use a memory viewer, you'll see that OAM is written in RAM at $200. ![]() It's AA that you're concerned about because this byte specifies which palette the sprite uses. The OAM format is four bytes per sprite: YY TT AA XX, where YY = sprite y position, XX = sprite X position, TT = tile number, and AA = attribute data. It's the data that defines the tiles and locations of each sprite. The NESDev OAM article looks pretty decent. If you're unfamiliar with OAM, you should probably read up on it. In order to change which palette they use, you'll want to modify OAM (object attribute memory) data. I looked into the game and those graphics are drawn as sprites. It looks like you want to change it so that, for example, the graphics are shown with palette #1 instead of palette #3.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |