Quote
If level data in a game is uncompressed, you can usually easily find it simply by scrolling through the ROM in a hex editor and looking for patterns of bytes that you would consider level data (it helps to have worked with such data in a hex editor before). Some games can be very simple... If this method doesn't work, you can do a search for TSA data; finding TSA data is actually mostly covered in the previous section. If you can find the TSA data and can locate the start of the data, then you can use that data to tell what hex value each block uses. With that, you can search in the ROM for a few blocks from the start of a level, and if it's a micro based level data system, you'll have found it. If it's macro based, you'll want to find the 4x4 TSA data and do the same with that as you just did with 2x2 TSA. If neither of those work, chances are the game uses compression. You'll need to find it either with ASM or corruption.
Okay, so this is saying that the same hex values that make up the level backrounds are also used for level data? I find that hard to believe.
How would I go about finding level data in RAM? Is there a way to do it without a debugger? I have experience with fceuxd/nesten, but it can't be very efficient trying to guess when a game is loading its level data while doing a cheat search.
Edit: I should probably add what I've done already.
I dumped the PPU. I can identify everything in the file except for a very small string of data in the name tables, which can't be found in the rom.
I dumped the CPU which led me to one section that I eventually ruled out through corruption.
There are about a dozen sections of the rom that I know what is used for, so I corrupted large chunks of the unknown sections with only one spot that I ruled out because I recognised ASM commands.
Any tips are greatly appreciated.