Mapping Help - MMC 1

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

User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Bregalad wrote:What you describe furiously reminds me the MMC5.
Yeah, but without the terribly complex PPU features (extended attributes, increased number of BKG tiles and SPR tiles). What I described might be possible to implement without much cost.
Also, remember that a game is something else than its mapper.
Of course, great games were made with simple or no mapper hardware in the past.
People here seem to only talk about mappers and all, but you can do a decent amount of raster effect with mapper 0 without much problem, it just is a little harder.
I don't know, I'd say it's imossible to make a water effect like that in the Sonic games without a scanline counter. Even if you menaged to set up a sprite 0 hit, you'd have to waste a lot of time waiting for it to happen, something that would slow the hell out of the game. If only Nintendo had decided to generate an IRQ on sprite 0 hits (like someone said), that would already help a lot.
In fact a scanline IRQ counter only make things easier for the programmer, but it doesn't allow the impossible..
It allows for interesting graphical effects without the need to sacrifice other aspects of your game.
I was going to make a MMC5 RPG back then but I moved to a smaller project to increase my chances of success. Once it's done I'll do a RPG for sure but I don't know if I will do it on MMC5 as planned or if I'll move to a simpler mapper. It depends if I want to sell the game or not, currently I don't know much about selling NES game so I don't care for this, but in the future this may change.
I once thought about using it too, but I ended up giving up on a few things, and settled for the MMC3. The background will not be as detailed as I'd like, and the sprites will not have as much animation, but it's still all good. The MMC5 is much more than a mapper, it is able to modify the console in so many ways, like in an attempt to make it less outdated.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »


Yeah, but without the terribly complex PPU features (extended attributes, increased number of BKG tiles and SPR tiles). What I described might be possible to implement without much cost.
Well, then if you're experienced at programming CPLD/FPGA stuff (I'm not) you could implement a simpler MMC5 that is "compatible" with the real one, but that only allow scanline counter, multiply and PRG/CHR switches, but that lacks ExRAM ($5104 would always be $00) and that ignores special nametable modes ($5015 would be ANDed with $55), and also obviously lacks sound.
You could also most likely run Castlevania III on such a mapper, since it doesn't use those features of the MMC5.

I'm pretty sure that such a mapper would be able to emulate 99% of existing commercial games if they were proprely hacked to init the mapper proprely at reset, to have compatible IRQs and to adapt the timing on games that relies on timed mapper writes.

If anyone is doing that, I'd then highly unrecommand relying on writes to registers that are implemented in the real MMC5 but unimplemented on this mini-MMC5 to not be taken, alse we'd end up with the same crap that already exists with the real MMC3 and the N109 that acts as a mini-MMC3.
User avatar
Disch
Posts: 1848
Joined: Wed Nov 10, 2004 6:47 pm

Post by Disch »

Bregalad wrote:You could also most likely run Castlevania III on such a mapper, since it doesn't use those features of the MMC5.
Castlevania 3 (and I'm pretty sure all commercial MMC5 games that don't use extended attributes) uses the "12K CHR swapped in at once" trick MMC5 does which involves the mapper seperating which CHR fetches are for BG and which are for sprites (and using different CHR regs appropriately) -- and if you're going that far, ExRAM and extended attributes probably isn't much more work. I'd imagine seperating BG fetches from Sprite fetches is the hardest part.
I'm pretty sure that such a mapper would be able to emulate 99% of existing commercial games if they were proprely hacked to init the mapper proprely at reset, to have compatible IRQs and to adapt the timing on games that relies on timed mapper writes.
I don't really see the point in hacking existing games to use a theoretical mapper (or even a real mapper, for that matter). This kind of talk makes me think of the FFE mapper hack fiasco.

I guess if you're talking about for ease of putting on a cart... but isn't that what the PowerPak is for?



I actually wish I knew how to do this stuff. I can't imagine that designing such a cart would be difficult... but it'd probably be expensive to build.
strangenesfreak
Posts: 155
Joined: Thu May 03, 2007 3:07 pm
Contact:

Post by strangenesfreak »

tokumaru wrote:I'd find it great if someone in the "scene" (bunnyboy?) created this new mapper, with 1KB CHR switching, 8KB PRG switching and a reliable scanline (cycle?) counter. Oh, and nametable layout selection. I'd love this mapper, and would use it for all my projects.
The closest mapper to this would be Sunsoft's FME-7. It doesn't allow 8KB switching for the last PRG bank, though - but it allows ROM to be mapped to CPU $6000-$7FFF, something even MMC5 can't do. Specifically, IRQs are triggered by CPU cycles instead of scanlines. FME-7 appears to be supported by the PowerPak (it's marked good on the mapper table on the PowerPak website).

And in addition to using extended CHR banks (for the new 2nd Quest enemies), Castlevania III uses ExRAM as an extra nametable for the flooding water during stage 6B (the sunken city stage). Akumajou Densetsu switches to horizontal mirroring (from vertical) when there's the flooding water, and clips the left side - including the status bar, which was stupid because it blanks out letters of the status bar (i.e. PLAYER becomes LAYER, SCORE becomes CORE, ENEMY becomes NEMY). Konami took advantage of MMC5's ExRAM and managed to preserve the vertical mirroring and status bar during the flooding scenes.
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Post by MottZilla »

I did a couple mapper conversions to FME-7 and the mapper does seem quite nice. But that's again what I was talking about, a MMC3 level mapper. As it's already been said the MMC3 is like bottom of the barrel of MMC3 level mappers. Things like VRC4, FME-7, maybe Namco 106 don't have the limitations that MMC3 has. Gradius 2 was a great example of why the MMC3 sucks for its scanline counter that won't allow you to use sprites from the BG pattern table side. Yet obviously the VRC4 could do that.

I think that there would be people interested in a new mapper with MMC3 level features. Even if it is just a clone of the MMC3, though because better than MMC3 would be nice. I guess just in general we can all dream up some nice features for new mappers.

One thing I had a thought about was if you have your mapper registers between $4020 and $4FFF, then you could map something to $5000 - $5FFF. More memory space is always handy. You could put extra RAM or even have a ROM swap bank there. Generally the space is just wasted. I'm sure there's some technical reason behind it.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

And in addition to using extended CHR banks (for the new 2nd Quest enemies), Castlevania III uses ExRAM as an extra nametable for the flooding water during stage 6B (the sunken city stage). Akumajou Densetsu switches to horizontal mirroring (from vertical) when there's the flooding water, and clips the left side - including the status bar, which was stupid because it blanks out letters of the status bar (i.e. PLAYER becomes LAYER, SCORE becomes CORE, ENEMY becomes NEMY). Konami took advantage of MMC5's ExRAM and managed to preserve the vertical mirroring and status bar during the flooding scenes.
Yeah, I remember that now that you mention it. That's the only place the game use EXRAM it seems.
Also, on a real TV I'm often unable to see the 'S' of Score even if it's not technically clipped, because it's hidden by the topright corner.
Post Reply