It is currently Fri Oct 20, 2017 2:08 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Fri Nov 13, 2009 8:20 am 
Offline

Joined: Tue Nov 23, 2004 9:35 pm
Posts: 615
Nintendo claimed in a Gameboy Color brochure aimed at developers that the MBC5 controller was backwards compatible with all prior MBCs except for the MBC3's Real Time Clock functionality. Aside from the Rumble and RTC capabilities, I can understand that in the case of the MBC3. But what about the MCB1 and MCB2?


Top
 Profile  
 
 Post subject:
PostPosted: Fri Nov 13, 2009 8:55 am 
Offline
User avatar

Joined: Mon Sep 27, 2004 2:13 pm
Posts: 1667
Location: .ma.us
It's not truly backwards compatible because extra features can't be disabled and things aren't decoded exactly the same way. How the mappers bankswitch over 2M, lock/unlock RAM and select RAM pages is slightly different between them all. It's possible to make your homebrew compatible with all mappers though, determining which one you're running on is pretty easy.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Nov 13, 2009 1:47 pm 
Offline

Joined: Tue Nov 23, 2004 9:35 pm
Posts: 615
Actually, I would think that the majority of MBC1 (at least those released outside of Japan) and all MBC2 games would work fine with an MBC3 or MBC5.

First, all the MCB1 games released outside of Japan contain no more than 512Kbyte ROM and 8Kbyte of RAM (with the exception of Mortal Kombat 1 & 2, which uses 1Mbyte of ROM and 0Kbyte of RAM). MBC3 should be able to support any MCB1 game with a ROM size less than or equal to 512Kbyte. Both MCB 1 & 3 support banking for up to 32Kbyte of RAM in the same way as well as RAM enabling. MCB1 uses five bits (512Kbyte or less) for selecting a ROM bank, MBC3 uses seven and they are in the same place. MBC5 supports 128Kbyte of RAM, but the selecting bits are in the same place. MBC5 uses 9 bits to select a ROM page, but the lower bits are also in the same place. Mortal Kombat 1 & 2 would not work in MBC3 or 5 because the manner in which it selects banks above 512Kbyte is not supported on those devices. Games with 512Kbyte ROM/32Kbyte RAM should also work, the write to

MBC2 games are very similar ROM-select wise to MBC1 except that they use 4 bits in the same area as MBC1, 3, 5. The 512bytes of RAM are in the same area as the 8+Kbytes of MBC1, 3, 5. One would hope that since the RAM is supposed to be 4-bit, yet the bytes read in an MBC1, 3, 5 would be 8-bit, the game ignores the upper nybble. The RAM Enable value (0A) should be the same as in MBC1, 3, 5. The only peculiarity is that MBC2 will only write to certain areas to switch ROM/RAM banks. Such writes would still be valid on MBC 1, 3 or 5.

Of course, if the old games do things like write in the 3000-4FFF area for ROM select on an MBC5 or use a write value with 1s above the 4th/5th bit, they may select the wrong ROM bank. Similarly, using a write value with 1s above the 2nd bit may select the wrong RAM bank.on an MBC5. This also applies to an MBC3 game. ROM only games should also run just fine, as they have no reason to write anything to the bankswitch controller.

I used the following sites in figuring this out:
http://nocash.emubase.de/pandocs.htm#thecartridgeheader
http://verhoeven272.nl/cgi-bin/FSgz?fru ... &GBcontent

So, if you had an MBC5 cart, you could play all games except those that use MBC3 + RTC, MMM01, TAMA5, HuC-1, HuC-3, MBC4, MBC6, MBC7, Camera,


Top
 Profile  
 
 Post subject:
PostPosted: Fri Nov 13, 2009 2:29 pm 
Offline
User avatar

Joined: Wed Dec 06, 2006 8:18 pm
Posts: 2801
I think the point really was that MBC5 could do anything the previous MBCs could do and there was no point in using an older MBC. Assuming you are the developer, you could easily adjust your game to use MBC5 rather than an older MBC.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Nov 13, 2009 7:52 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19104
Location: NE Indiana, USA (NTSC)
MottZilla wrote:
I think the point really was that MBC5 could do anything the previous MBCs could do and there was no point in using an older MBC.

But weren't higher numbered MBCs more expensive for the publisher? That was true on NES, where MMC1 was the cheapest and MMC5 the most expensive. Or did Nintendo just discontinue old MBCs in favor of new ones?


Top
 Profile  
 
 Post subject:
PostPosted: Sat Nov 14, 2009 12:36 pm 
Offline

Joined: Tue Nov 23, 2004 9:35 pm
Posts: 615
tepples wrote:
MottZilla wrote:
I think the point really was that MBC5 could do anything the previous MBCs could do and there was no point in using an older MBC.

But weren't higher numbered MBCs more expensive for the publisher? That was true on NES, where MMC1 was the cheapest and MMC5 the most expensive. Or did Nintendo just discontinue old MBCs in favor of new ones?


That isn't how it worked on the Gameboy. Almost everybody used MBC1 for their Gameboy (DMG) games, unless they were unlicensed, were publishing a 32K game. MBC3 came later, and was only required if the game was too large for MBC1 or needed RTC functionality. MBC2 was an alternative option for those games needing just a small amount of battery-backed RAM on the cart.

Almost everybody used an MBC5 for a Gameboy Color game, because that was the only MBC guaranteed to operate in the double-speed mode. The only Gameboy Color games that did not were the ones that used a RTC, which only MBC3 supported, or were unlicensed.

Other MBCs were for speciality uses only.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Nov 14, 2009 2:53 pm 
Offline
User avatar

Joined: Wed Dec 06, 2006 8:18 pm
Posts: 2801
Well my point really was that as time progressed I would assume the newer MBCs as well as ROM memory would get cheaper and I don't see why you'd bother with lesser MBCs. From what I remember when I worked on my Gameboy emulator, the MBCs aren't all that drastically different. Still they aren't just straight compatible across the board. But if you have the source for your game you could adjust it to work on whatever MBC you want assuming the features required are available.

Gameboy sure had alot more uniformity with mappers since Nintendo controlled it unlike with NES and the Famicom really.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Nov 16, 2009 11:25 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19104
Location: NE Indiana, USA (NTSC)
MottZilla wrote:
Gameboy sure had alot more uniformity with mappers since Nintendo controlled it unlike with NES and the Famicom really.

Also because the Game Boy's PPU was designed not to need as much support from a mapper:
  • An accurate scanline counter was built-in.
  • The status bar was automatic, not needing an IRQ or the MMC5's "split mode".
  • All games used CHR RAM, and there was far more bandwidth to the pattern tables due to a comparatively long hblank.

So games didn't really need any more mapper than the equivalent of HVC/NES-S[NOUX]ROM.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Nov 16, 2009 11:46 am 
Offline
User avatar

Joined: Wed Dec 06, 2006 8:18 pm
Posts: 2801
It perfectly illustrates how Nintendo learned from the mistakes in the NES's design or atleast the features that would have gone a long way had they been standard.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 3 guests


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

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group