Do mappers effect save ram ?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Do mappers effect save ram ?
by on (#53735)
Well do they ?

by on (#53736)
Effect them how? Mappers sometimes can Disable/Enable reading of the SRAM as well as Disable/Enable writing SRAM. But you'd have to ask a less vague question about it. For emulators it's important to understand that some mappers have different sizes of SRAM available.

by on (#53737)
well as i can gather the sram is always on the cartrige and i wonder if theres like bank switching for sram and similar stuff to worry about

by on (#53738)
Very few boards support more than 8 KiB of PRG RAM. SOROM and SXROM, two MMC1 boards with CHR RAM, repurpose the MMC1's CHR ROM bank lines to select a RAM bank. ETROM (MMC5) supports two 8 KiB chips (one battery-backed and the other not), and EWROM (also MMC5) supports one 32 KiB chip. What you see more often are mappers that allow the $6000-$7FFF area to be switched between ROM and RAM. FME-7 and MMC5 have this.

by on (#53741)
so $6000 - $7FFF is remapable ?

by on (#53742)
Actually how much of the address space is remapable and how much is fixed
so far i'm under the impression it's
$0000 - $5FFF = fixed
$6000 - $0000 = remapable
or maybe
$0000 - $4FFF = fixed
$5000 - $0000 = remapable

by on (#53743)
Quote:
so $6000 - $7FFF is remapable ?


Yes

Quote:
Actually how much of the address space is remapable and how much is fixed


I'm not entirely sure whether all reads are run through the cartridge or not. If they are, I suspect that all of it may be remappable. I don't know enough about hardware details to say that for sure though.

I will say that $4018-FFFF is definately remappable.

by on (#53745)
well have you ever met a game that does it ?

by on (#53746)
Mapper 69 (Sunsoft FME-7: Return of the Joker, Mr. Gimmick, etc) maps ROM to 6000-7FFF.

by on (#53753)
Coldberg:

You'd be surprised at what some mappers do. They get really crazy. Especially some of the obscure pirate mappers.

Although... I haven't seen anything that changes $0000-401F.

The FDS, though, puts regs at $4020 and up.

by on (#53755)
$0000-4017 is decoded inside the console, you can't remap it.

by on (#53757)
For emulator development you will probably want to have atleast Five 8Kbyte Windows at $6000, $8000,$A000,$C000, and $E000. You could go even further and have more smaller windows but you can get by without doing so. $6000 - $DFFF can all be writable memory on various mappers. So you might as well make sure that all sections can be toggled between Writable and Read Only.

Similarly you may want CHR space to be divided into Eight 1Kbyte windows all with Write & Read Only Status as there are mappers that mix both CHR-ROM and CHR-RAM.

by on (#53759)
I think it's a good idea to use a function pointer that handles decoding on a mapper basis instead of predefined banks. That way there isn't overhead on simple mappers and the actual mapper functionality can be carried out at the same time.

by on (#53768)
Just a comment in passing (since I saw a couple people going with the flow): in this context it's affect, not effect.

A guy even made a Youtube video about it (NSFW; coarse language). "What is that! The 'e' one is in the definition of the 'a' one?!?!"

Yes yes, I know, the forum is filled with a large number of folks who don't speak English as their first language -- and that's cool, no offence intended...... but English is such an awesome language! *cough* *cough*

by on (#53771)
Well i'm not a native english speaker so i gues affect/effect never cought on
<offtopic>I love this guys "trailer failure" series</offtopic>