It is currently Wed Sep 20, 2017 8:23 pm

All times are UTC - 7 hours



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 new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: Fri May 26, 2017 8:25 am 
Offline

Joined: Fri May 26, 2017 8:01 am
Posts: 1
EDIT - Never mind, found my answer

Hi!

I am trying to teach myself a bit more about the way SNES carts work, I have made many repros in the past but that has often been with the advice of others and not with my own understanding of how they work.

I was reading through this tutorial on how to make an Earthbound cart from an original Mother 2 cart and I was curious to understand how the MAD-1 was manipulated in order to make the cart work with only 1 ROM chip instead of the original 2.

Maybe someone could help check if I am understanding this all correctly, I would really appreciate it:

As far as I understand it:
- The original game is 24Mb in size, Mask ROM P0 is 16Mb and P1 is 8Mb (hence why P1 has less address lines on it).
- Mother 2 is a HiROM, meaning it ignores A22 and A23 - this gives us 22 remaining address lines, and 2^22 is 4MB (or 32Mb).
- The MAD-1 is there to decide whether we should be reading from P0 or P1, in this case we are most interested in the value of A21, since it controls the space between 16Mb and 32Mb (2^21 is 16Mb, therefore the 22nd address line [A21] pushes us outside the capacity of P0).
- For the purposes of the modification we need to access A21 since our replacement Flash ROM contains the entire ROM file, we don't need the MAD-1 to choose our chip anymore.
- To this end, we connect pin 2 of the new chip (A21) to pin 13 of the MAD-1 (this is BA5, or A21/cart pin 46 in other words) and disconnect it from GND. It was previously grounded because the old chip "stopped" at 16Mb.
- We also need to connect the /OE of the new chip to pin 4 of the MAD-1. We don't want the /OE of our new chip controlled by pin 16 of the MAD-1 anymore since we want it to be enabled at all times, and not just when the address the console is asking for falls in the first 16Mb of the ROM file.

Here's where I have a question - pin 4 of the MAD-1 is not connnected to anything on cartridges that contain more than 1 MaskROM, I assume that it is held high all the time since it is used for single MaskRom arrangements. Since we have not disconnected the other MaskROM for the purposes of this mod (P1), when the SNES is asking for data in the 16-24Mb range of the ROM (i.e. what would have been on P1 originally, but is now on our new chip), doesn't the MAD-1 still activate P1 even with these modifications (i.e. pulls pin 1 of the MAD-1 high)? If both chips are active, then are they both trying to communicate with the SNES at the same time? Isn't there some kind of conflict here? Some help clearing up my understanding in this matter would be appreciated as I can't work it out...

I'm sorry if this is a rookie question, I am trying to teach myself about this stuff but it's a slow process! Is the stuff in my bullet points accurate, or have I misunderstood something?

Thanks guys.


Last edited by jaskamakkara on Fri Jun 02, 2017 2:01 am, edited 1 time in total.

Top
 Profile  
 
PostPosted: Fri May 26, 2017 9:08 am 
Offline
User avatar

Joined: Sun Dec 13, 2009 11:37 am
Posts: 207
Location: Wisconsin
Forum rules

Related:

For making cartridges of your Super NES games, see Reproduction


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 4 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