nesdev.com
http://forums.nesdev.com/

What does it mean to be Mapper 28 compatible?
http://forums.nesdev.com/viewtopic.php?f=10&t=18298
Page 1 of 1

Author:  paetramon [ Thu Jan 10, 2019 7:45 am ]
Post subject:  What does it mean to be Mapper 28 compatible?

I'm very new to NES homebrew development, but I saw this NESDev competition (https://forums.nesdev.com/viewtopic.php?f=34&t=17743) ending at the end of January that I'm very interested in trying to get an entry into. One of the requirements for the competition is that the game is Mapper 28 compatible which I've gathered is so that the multicart they create at the end of January works right with multiple games on it. What I haven't figured out is how you make a game Mapper 28 compatible? It also says that there can be no PRG-RAM, do they mean that I can't bank switch to access more memory or use the NRAM on the cart? (Also if that last sentence makes no sense can someone also help with my understanding of bank switching and NRAM?)

Thank you!

Author:  gauauu [ Thu Jan 10, 2019 8:22 am ]
Post subject:  Re: What does it mean to be Mapper 28 compatible?

paetramon wrote:
I'm very new to NES homebrew development, but I saw this NESDev competition (https://forums.nesdev.com/viewtopic.php?f=34&t=17743) ending at the end of January that I'm very interested in trying to get an entry into. One of the requirements for the competition is that the game is Mapper 28 compatible which I've gathered is so that the multicart they create at the end of January works right with multiple games on it. What I haven't figured out is how you make a game Mapper 28 compatible?



If you make your game to use one of the mappers that it mentions, you'll generally be ok:
NROM
CNROM
BNROM
UNROM
AOROM

Quote:
It also says that there can be no PRG-RAM, do they mean that I can't bank switch to access more memory or use the NRAM on the cart? (Also if that last sentence makes no sense can someone also help with my understanding of bank switching and NRAM?)


You can bank switch, and use ROM from multiple banks, but you can't use a mapper with expansion RAM (other than CHR-RAM). SRAM or additional WRAM, for example, are not allowed.

Author:  tepples [ Thu Jan 10, 2019 8:38 am ]
Post subject:  Re: What does it mean to be Mapper 28 compatible?

paetramon wrote:
What I haven't figured out is how you make a game Mapper 28 compatible?

Two ways.

  1. The simpler way is to use one of the supported discrete mappers: NROM (0), UNROM (2), CNROM (3), AOROM (7), BNROM (34), or UNROM (Crazy Climber variant) (180).
  2. The other, more flexible way is to use Action 53 mapper (28) directly. This method lets your game switch nametable mirroring among horizontal, vertical, and 1-screen. A compo entry using this approach must write to the outer bank register ($81) only once during hardware init; this allows the game to run by itself in an emulator while allowing the menu builder to patch out the write for multicart inclusion. When it writes to $80, bits 5 and 4 must also specify the correct game size, which in the case of compo entries is usually $1x for 64 KiB.

paetramon wrote:
It also says that there can be no PRG-RAM

It means your program should not read or write $6000-$7FFF, as the production cartridge does not have RAM there.

Author:  Hokum_52 [ Thu Jan 24, 2019 8:29 am ]
Post subject:  Re: What does it mean to be Mapper 28 compatible?

Thanks for the answer, wrapping my head around this issue is one of the reasons why I've joined this forum in the first place. Now, I'm going to the next issue: actually understanding how RAM works...

Author:  tokumaru [ Thu Jan 24, 2019 11:46 am ]
Post subject:  Re: What does it mean to be Mapper 28 compatible?

Hokum_52 wrote:
Now, I'm going to the next issue: actually understanding how RAM works...

Each byte of RAM has an address you use to access it (i.e. $0000, $0001, $0002, ..., $07FF), and you can write and read values to/from these addresses. These values are used by your program to keep track of the state (i.e. everything that changes) of your game. Some CPU instructions write to RAM, others read from it, and others don't access RAM at all. This is basically all there is to know about RAM. :wink:

Page 1 of 1 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/