Joined: 11/15/2012
Posts: 67
Location: Upstate, NY
I was testing out the RAM Search feature on the NES game Super Mario Bros. 3. It is either broken, or I am doing something wrong. I start on level 1-1 with zero coins. I check "Specific Value" and "Equal To" then I enter "0" because I have zero coins. Then I click "Search" and it now only shows the values with "0". Next I collect one coin. Then I enter "1" in the "Specific Value" field and hit Search again. After doing this again for collecting a few more coins all the values disappear and it is not finding it. When I do the same thing in FCEUX it works fine. Is there something I'm doing wrong or some setting I need to adjust or is it a problem with the RAM Search feature? Thanks for any help with this.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
ram seach defaults to the "main ram" memory domain, which in the NES's case means the internal ram at 0000:07ff. The coin value isn't held there; it's held in the cart's work ram, which for this particular mapper and situation is mapped into 6000:7fff. In this case, you should be able to get your desired results by searching the "System Bus" or "WRAM" domains. Note that the only ram search available in FCEUX corresponds to the "System Bus" one.
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3570)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
The coin address is in the sram/wram memory region, not main ram. So set the memory domain to WRAM. You can also do System Bus, which is the equivalent of what FCEUX does, but it is not recommended to use that domain (but is a nice way to check against another emulator)
It's hard to look this good. My TAS projects
Joined: 11/15/2012
Posts: 67
Location: Upstate, NY
Thanks for clearing that up. I was able to get it to work switching the memory domains.