It is currently Thu Dec 13, 2018 8:03 am

 All times are UTC - 7 hours

### Forum rules

• For making cartridges of your Super NES games, see Reproduction.

 Page 1 of 1 [ 3 posts ]
 Print view Previous topic | Next topic
Author Message
 Post subject: how mapped memory?Posted: Mon Aug 19, 2013 3:53 pm

Joined: Thu Aug 08, 2013 2:14 pm
Posts: 43
hello friends

I'm trying to understand how memory is mapped

invent this table to check if IP routing is similar to snes mapping

someone can explain how memory is addressed

example: (2 ROM of 32 Mbits)

00-3F in bank 8000-FFFF (1 ROM) and C0-FF in bank 8000-FFFF (2 ROM)

excuse my bad English

regards.

Top

 Post subject: Re: how mapped memory?Posted: Mon Aug 19, 2013 5:59 pm

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3723
Location: Mountain View, CA
"2 ROM of 32mbits" means 64mbit.

Mode 21 does not have enough addressing space for a 64mbit ROM. The maximum ROM addressing space available with mode 21 is 32mbit. The only solutions to this:

1. Use what's called a "mapper", which is a chip that can let software dynamically swap portions of ROM around (change address lines and where they go). There are are only a handful of games which use this on the SNES/SFC (mode 21 with a special mapper chip),

2. Use mode 25, which supports up to 63mbit (not 64mbit!) of addressing space. The reason it doesn't support up to 64mbit is because, again, of the memory map (see attached picture). There are two main areas for ROM (the others are mirrors):

* Area 1: Banks \$c0-ff (64 banks), address ranges \$0000-ffff (64KB). Simple math: 64 * 65536 = 4,194,304 bytes
* Area 2: Banks \$40-7d (62 banks), address ranges \$0000-ffff (64KB). Simple math: 62 * 65536 = 4,063,232 bytes
* Area 3: Banks \$3e-3f (2 banks), address ranges \$8000-ffff (32KB). Simple math: 2 * 32768 = 65,536 bytes

Thusly, 4,194,304 + 4,063,232 + 65,536 = 8,323,072 bytes, which is just short of 64mbit (8,388,608 bytes).

Make sense?

I can't help you with the hardware part of this (addressing lines, etc.).

Also: what is your native language? I ask because this forum is extremely diverse, we have people who speak Russian, Spanish, Chinese, Japanese, Swedish, and Portuguese who reside here. It may be more beneficial if someone explained this in your native tongue.

 Attachments: mode25.png [ 136.71 KiB | Viewed 1455 times ]
Top

 Post subject: Re: how mapped memory?Posted: Mon Aug 19, 2013 9:51 pm

Joined: Thu Aug 08, 2013 2:14 pm
Posts: 43
koitsu wrote:
"2 ROM of 32mbits" means 64mbit.
Mode 21 does not have enough addressing space for a 64mbit ROM. The maximum ROM addressing space available with mode 21 is 32mbit.

mode21 (HIGH ROM), without SRAM or decoder can only handle 32 Mbit?

koitsu wrote:
The only solutions to this:

1. Use what's called a "mapper", which is a chip that can let software dynamically swap portions of ROM around (change address lines and where they go). There are are only a handful of games which use this on the SNES/SFC (mode 21 with a special mapper chip),

you mean a memory decoder, like 74LS139 or MAD-1

YEAH, I now understand better, the memory are not static towards a direction, in other words, when access is required to MASKROM 1, it is placed in a position, and when it requires access to MASKROM 2, then, the MASKROM 1 is erased from memory, and places the MASKROM 2...
must be the same address?

koitsu wrote:
2. Use mode 25, which supports up to 63mbit (not 64mbit!) of addressing space. The reason it doesn't support up to 64mbit is because, again, of the memory map (see attached picture). There are two main areas for ROM (the others are mirrors):

* Area 1: Banks \$c0-ff (64 banks), address ranges \$0000-ffff (64KB). Simple math: 64 * 65536 = 4,194,304 bytes
* Area 2: Banks \$40-7d (62 banks), address ranges \$0000-ffff (64KB). Simple math: 62 * 65536 = 4,063,232 bytes
* Area 3: Banks \$3e-3f (2 banks), address ranges \$8000-ffff (32KB). Simple math: 2 * 32768 = 65,536 bytes

Thusly, 4,194,304 + 4,063,232 + 65,536 = 8,323,072 bytes, which is just short of 64mbit (8,388,608 bytes).
Make sense?

thank you very much for this information, thanks for your time and thank your willingness

koitsu wrote:

I can't help you with the hardware part of this (addressing lines, etc.).

no problem, however, mention something I found

kyuusaku wrote:
I've come up with a REALLY easy 96M ROM + SRAM decoder using the 139 already in many SNES carts:

Clever huh? It doesn't look like SRAM will conflict with anything but I'm going by internet memory maps.

where A14 and A13 are HIGH
I think it means this (according to my table):

A14 -------> 004000
A13 -------> 002000

004000 + 002000 = 006000

but not as calculating addresses 00-3F.

kyuusaku wrote:
Also: what is your native language? I ask because this forum is extremely diverse, we have people who speak Russian, Spanish, Chinese, Japanese, Swedish, and Portuguese who reside here. It may be more beneficial if someone explained this in your native tongue.

I'm Chilean, my language is Spanish, but, I understand English, however, I have trouble writing.

thanks for all estimated

Top

 Display posts from previous: All posts1 day7 days2 weeks1 month3 months6 months1 year Sort by AuthorPost timeSubject AscendingDescending
 Page 1 of 1 [ 3 posts ]

 All times are UTC - 7 hours

#### Who is online

Users browsing this forum: No registered users and 2 guests

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

Search for:
 Jump to:  Select a forum ------------------ NES / Famicom    NESdev    NESemdev    NES Graphics    NES Music    Homebrew Projects       2018 NESdev Competition       2017 NESdev Competition       2016 NESdev Competition       2014 NESdev Competition       2011 NESdev Competition    Newbie Help Center    NES Hardware and Flash Equipment       Reproduction    NESdev International       FCdev       NESdev China       NESdev Middle East Other    General Stuff    Membler Industries    Other Retro Dev       SNESdev       GBDev    Test Forum Site Issues    phpBB Issues    Web Issues    nesdevWiki
Powered by phpBB® Forum Software © phpBB Group