Confirming rom uses extra WRAM?

A place that you can discuss reproduction of classic titles or "licensed-for-reproduction" homebrew for personal use.

Moderators: B00daW, Moderators

Forum rules
1. NO BLATANT PIRACY. This includes reproducing homebrew less than 10 years old, with the exception of free software.
2. No advertising your reproductions, with the exception of free software.
3. Be nice. See RFC 1855 if you aren't sure what this means.
Post Reply
guitarzombie
Posts: 164
Joined: Sat Dec 07, 2013 6:18 pm

Confirming rom uses extra WRAM?

Post by guitarzombie »

Whats the easiest way to do this?

When opening in Nestopia itll say if it uses extra WRAM. BUT even games that dont use it, it seems to come up.

Ive opened games that use TLROM and it says it uses 8k WRAM auto. How would I know what games actually NEED the
extra 8k WRAM (like Mike Tysons Intergalatic Power Punch)?
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Confirming rom uses extra WRAM?

Post by tepples »

Legal answer: Open the original cart with a GameBit and find out, or search NesCartDB for the title.

Illegal answer: Unless a mapper doesn't have ports at $6000-$7FFF, an emulator will put RAM there. if the mapper itself doesn't support WRAM decoding, an emulator will likely assume the Family BASIC circuit, which contains a 74HC20 computing NAND(M2, /PRGSEL, A14, A13). The only way to say definitively that a game doesn't have RAM there is to use an NES 2.0 header. But because most ROMs floating around on pirate sites don't have NES 2.0 headers, I recommend running a game in a debugging emulator, such as Nintendulator or FCEUX for Windows, and watching for writes to $6000-$7FFF.
guitarzombie
Posts: 164
Joined: Sat Dec 07, 2013 6:18 pm

Re: Confirming rom uses extra WRAM?

Post by guitarzombie »

Simple enough! Ill try this thanks
guitarzombie
Posts: 164
Joined: Sat Dec 07, 2013 6:18 pm

Re: Confirming rom uses extra WRAM?

Post by guitarzombie »

Im talking about prototype games, or famicom games that were translated.

I was looking at a game that I KNOW uses TLROM and inside of nestopia it said it was TSROM.

I checked a few roms I had that had that hex area blank, but then opened up Robocop vs. Term and saw it was filled. So I know that one is legit. Sucks now I gotta try a WHOLE lot of roms to make sure haha. But thanks
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Confirming rom uses extra WRAM?

Post by tepples »

I can't speak for protos, other than "run it in a debugger". But in the vast majority of cases, a fan-translated Famicom game will use PRG RAM in one of two cases:
  1. The Japanese game used it.
  2. The translation's README states that it drops the original game's password system in favor of battery save.
Another thing to consider: A game might write to nonexistent RAM in standard init code but never actually depend on values read back from it. Such a game doesn't need RAM. This might be especially common for protos, whose code hasn't been trimmed down to use features of the boilerplate code that aren't actually used in the game. So if you find writes in a debugger, especially if they're of the "clear all RAM" type, also check the code after reads. Or add an NES 2.0 header without RAM and see if the game still works in an emulator that supports NES 2.0.
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Confirming rom uses extra WRAM?

Post by rainwarrior »

Open it in a debugger, put a breakpoint on read/write to the WRAM region, and play the game to see if anything gets written there. Here's some instructions for using FCEUX's debugger: http://www.fceux.com/web/help/fceux.html?Debugger.html
guitarzombie
Posts: 164
Joined: Sat Dec 07, 2013 6:18 pm

Re: Confirming rom uses extra WRAM?

Post by guitarzombie »

Oh so code wont necessarily be there when you start the game? I opened up the game played it and just read the readout. Most of the time I didnt even need to play it.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Confirming rom uses extra WRAM?

Post by tokumaru »

guitarzombie wrote:I was looking at a game that I KNOW uses TLROM and inside of nestopia it said it was TSROM.
The iNES file format, the most common format for distribution of NES ROMs, is not very good at defining boards. With the older version of the format, which is the more common one by far, it's only possible to define a mapper number, and both TLROM and TSROM use the MMC3 mapper, so it's impossible to distinguish between those 2. Also, the old iNES format can't specify whether RAM at $6000-$7FFF is present, only if it's battery backed (which is why most emulators map RAM to that range for all games). So yeah, the deductions that can be made based on the iNES header aren't the best, and you'll get inaccurate information from emulator reports.
I checked a few roms I had that had that hex area blank
Using breakpoints like rainwarrior suggested will save you the trouble of manually looking at that memory. A proper breakpoint will open the debugger on any access (read or write) to $6000-$7FFF, so you'll know that the game is using extra RAM.
guitarzombie wrote:Oh so code wont necessarily be there when you start the game? I opened up the game played it and just read the readout. Most of the time I didnt even need to play it.
Like all RAM that's not battery backed, it's empty/undefined on power up. Most games will probably access that memory very early on, which is why you don't have to play very far into the game in order to see data stored there.
Post Reply