About iNES mappers, memory sizes...

Are you new to 6502, NES, or even programming in general? Post any of your questions here. Remember - the only dumb question is the question that remains unasked.

Moderator: Moderators

Post Reply
User avatar
Petruza
Posts: 311
Joined: Mon Dec 22, 2008 10:45 pm
Location: Argentina

About iNES mappers, memory sizes...

Post by Petruza »

Hi, I've read about iNES mappers on the Nesdev wiki and got surprised to know that for example, there's a mapper with 128K for CHR-ROM! While I was thinking how to fit all the game's tiles in 4k...

Let's say I want to make a library and a game or some app, and I only plan it to be run on emulators, then I could choose the mapper that has more PRG-RAM and CHR-ROM / RAM possible, right?
Because the only concern on using strange mappers with lots of memory is when you have to actually build the cartridges, but if it all remains in software, then there shouldn't be any constraints.

Taking this into account, what mapper would you suggest for developing apps for emulators?

Do all emulators support all mappers? Or at least most of them?
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Post by MottZilla »

If you want lots of features you could go with Nintendo MMC-5 for emulation as it's very flexible and powerful, although it doesn't have CHR-RAM technically though some emulators will give it that. Alternatively I recommend FME-7 (Sunsoft) which is mapper #069.

You mentioned more PRG-RAM, the MMC5 can have something like 32kb or 64kb of PRG-RAM maximum. You should really just look at mapper documents and find what you like.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: About iNES mappers, memory sizes...

Post by tepples »

Petruza wrote:I only plan it to be run on emulators
Then you can make it for Game Boy Advance instead of NES. You get 88 KB of CHR RAM (56 KB for backgrounds and 32 KB for sprite cels) on the GBA, although it's really more like 44 KB because it's 4bpp instead of 2bpp like on the NES. That's on top of 32 KB of main RAM, 256 KB of non-battery-backed WRAM, 64 KB of battery-backed WRAM, a CPU whose assembly language feels like a 32-bit successor to the 6502, and a usable C compiler.

Or you can make it in Java.
MottZilla wrote:If you want lots of features you could go with Nintendo MMC-5 for emulation
Does the best Free emulator for each platform emulate all known features of the MMC5 yet, including ExGrafix bankswitching per tile? I don't think PocketNES does.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: About iNES mappers, memory sizes...

Post by tokumaru »

Petruza wrote:Do all emulators support all mappers? Or at least most of them?
The good ones do. Stick to the newer emulators that are still being worked on and you will have better chances of mapper support. The MMC5 is indeed the mapper that expanded the NES in more ways than any other.

I believe that you should pick your mapper on a project-by-project basis though. Always sticking to a complex mapper could often be overkill. I doubt anyone in the NESDEV community can afford to release a large series of complex MMC5 projects.
User avatar
Petruza
Posts: 311
Joined: Mon Dec 22, 2008 10:45 pm
Location: Argentina

Re: About iNES mappers, memory sizes...

Post by Petruza »

tepples wrote:Game Boy Advance instead of NES
No thanks, NES is the reason I'm posting in this forum.
tepples wrote:Or you can make it in Java.
If this is some kind of sarcasm, Idon't get it.
I've developed games in Java for cell phones, and C++ for Wintel, but that's not what I'm looking for in this forum.
User avatar
blargg
Posts: 3717
Joined: Mon Sep 27, 2004 8:33 am
Location: Central Texas, USA
Contact:

Re: About iNES mappers, memory sizes...

Post by blargg »

Petruza wrote:
tepples wrote:Game Boy Advance instead of NES
No thanks, NES is the reason I'm posting in this forum.
Perhaps, but in your question you specifically excluded the NES:
Petruza wrote:Let's say I want to make a library and a game or some app, and I only plan it to be run on emulators
If it's for the general NES graphics and programming architecture, the GBA is similar (NES on steroids).
User avatar
Petruza
Posts: 311
Joined: Mon Dec 22, 2008 10:45 pm
Location: Argentina

Re: About iNES mappers, memory sizes...

Post by Petruza »

What Petruza really meant when he wrote:Let's say I want to make a library and a game or some app, and I only plan it to be run on NES emulators, and not build a cartridge to be run on the actual console
Anyway, yes, I could develop for a number of more powerful platforms.
Believe me I am, and I will, but in this forum, I want to focus on the NES.
The main goal that drove me here is that I wanted to make some apps for my MP4 player, and there a lot more documentation for NES development than for the player's processor, and most important: a C compiler :D
And then, reading docs and this forum, I really liked the Nes, though I dind't have one when I was a child, but now I felt like developing something for it.

But again, as I don't plan on building cartridges and don't own a NES ( just some crappy Fami-Clones ) I though that it wouldn't be necessary to be worried about memory limitations of some mappers, because choosing any of them wouldn't mean higer costs or anything else...
User avatar
Memblers
Site Admin
Posts: 3901
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers »

MMC1 is super common (thus widely supported) and pretty useful. There are a few MMC1 titles that use 16kB of PRG-RAM (Genghis Khan is one - probably not so widely supported), but I doubt you'll need more than 8kB, right?
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: About iNES mappers, memory sizes...

Post by tepples »

Petruza wrote:The main goal that drove me here is that I wanted to make some apps for my MP4 player
Then you have to use one of the mappers that your MP4 player's NES emu supports. It's unlikely that this would include accurate MMC5 emulation. And even if you get an app to work on a highly accurate PC-based emulator, that doesn't mean your MP4 player will run it; we had a topic about a portable DVD player that Failed It when blargg and I were trying to make a simple e-book reader.
Post Reply