It is currently Tue Oct 17, 2017 2:50 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 5 posts ] 
Author Message
PostPosted: Thu May 29, 2014 3:40 pm 
Offline

Joined: Sat Apr 12, 2014 12:11 pm
Posts: 120
Location: Gothenburg, Sweden
Hello again! My question is about Super Mario Bros [JU] but any version might work just as well.

This might be a stupid question, but I can´t seem to find any good answer anywhere. :oops:

So, I discovered that memory located @ $6000 acts like (somewhat static) RAM when writing anything there.
I hex edited a small sub routine @ $6000-$6004, and it works just fine to jump there and execute code.

Am I missing something here? Is this possible in emulator only? Or did I just magically find tons of free RAM to use for hacking purposes?

_________________
I´ve got %01100011 problems but the BITs aint one.


Top
 Profile  
 
PostPosted: Thu May 29, 2014 3:51 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6273
Location: Seattle
A lot of emulators pretend that every NES game ever had RAM made available from $6000-$7FFF.

This is not particularly true; only 268 of the 1382 games that NesCartDB knows of provided RAM (battery-backed or otherwise) there.


Top
 Profile  
 
PostPosted: Thu May 29, 2014 4:28 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10046
Location: Rio de Janeiro - Brazil
The old iNES header format specified whether RAM at $6000-$7FFF was battery-backed, but it didn't specify whether it was present, so many emulators map RAM there just in case. IIRC, with iNES 2.0 you can specify how much WRAM a game uses, and 0 bytes is an option. In an actual cart, you obviously need a RAM chip and some logic to map it to $6000-$7FFF. Putting your SMB1 hack that uses RAM at $6000-$7FFF into an actual SMB1 NROM cart will not work unless you mod the cart with the extra RAM chip and the logic chips to map it.


Top
 Profile  
 
PostPosted: Thu May 29, 2014 5:19 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19084
Location: NE Indiana, USA (NTSC)
Vs. Super Mario Bros. needs RAM there, possibly for copying extra level data out of CHR ROM. (You'll need to patch it with 2C03 compatibility and DIP switch hacks before it'll run correctly on an NES though.) So does Family BASIC, which is the canonical example of an NROM + RAM board. You'll need a 6264 and a 74HC20, as described here.


Top
 Profile  
 
PostPosted: Sat May 31, 2014 2:09 pm 
Offline

Joined: Sat Apr 12, 2014 12:11 pm
Posts: 120
Location: Gothenburg, Sweden
Oh. So this works much like I expected it to. Thank you all for your replies! It clarified a lot to me.

I might consider using the memory for hacks anyway if I ever need to expand upon the few free bytes of RAM from the original.

_________________
I´ve got %01100011 problems but the BITs aint one.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group