Help with mapper numbers, proper ID

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

Post Reply
User avatar
Zepper
Formerly Fx3
Posts: 3192
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Help with mapper numbers, proper ID

Post by Zepper » Fri Mar 02, 2012 8:18 pm

Long time ago, I added a couple of mappers that seem unknown or with another iNES mapper number. All these mappers are from old nesdev e-mails sent by Mark K.

I'd like some help to identify & fix the iNES number.

Mapper #255 (110-in-1)
Mapper #246 (Taiwan Number 1)
Mapper #243 (PC-Sachen/Hacker)
Mapper #241 (Used by a chinese game identified as "Edu")
Mapper #240 (C&E/Supertone) - VirtuaNES (and myself) identify only one chinese game, "Gen Ke Le Zhuan".
Mapper #235 (150-in-1 cart)
Mapper #234 (Used by AVE Maxi-15 cart)
Mapper #233 (Used by 42-in-1 cart)
Mapper #232 (BF9096 chip) - Used by Codemasters' Quattro carts
Mapper #231 (NINA-07) - used by Wally Bear and the NO Gang (doesn't work with my standard map11 setup though)
Mapper #230 (22-in-1 Famicom-compatible multi-game cartridge)
Mapper #229 (31-in-1 cart)
Mapper #117 (Future Media) (InfoNES source)
Mapper #110 (SACHEN SA-006) - Used by Honey Peach
Mapper #101 (Taito?)

EDIT: added a link to the SACHEN mappers, found in the cah4e3 page. It doesn't mention a mapper 110 though.
EDIT2: added VirtuaNES' mapper 240 information.
Last edited by Zepper on Sun Mar 11, 2012 5:02 pm, edited 4 times in total.

User avatar
Zepper
Formerly Fx3
Posts: 3192
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Post by Zepper » Sat Mar 03, 2012 7:08 pm

The wiki says that "$8000-$FFFF: In the "Quattro" games, A16 and A17 are controlled by a separate register, allowing 64 KiB super-banks", and assigns mapper 71 for them.

However, this is the info I have, assigned for mapper 232:

Code: Select all

    if(addr == 0x9000)
    {
       MMC.write = (data & 0x18) >> 1;
       cpu_swap16k(4,MMC.write);
       cpu_swap16k(6,MMC.write+3);
    }
    else if(addr >= 0x8000)
    {
       cpu_swap16k(4,MMC.write+(data&3));
       cpu_swap16k(6,MMC.write+3);
    }
Could someone confirm it?
Last edited by Zepper on Mon Mar 05, 2012 8:03 am, edited 3 times in total.

User avatar
Dwedit
Posts: 4298
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit » Sat Mar 03, 2012 7:28 pm

232 is the quattro mapper, 71 is the other Codemasters' games mapper.

Mapper 71 is basically the exact same thing as mapper 2, except bank switching registers are mapped in at C000-FFFF instead of 8000-FFFF.

And Fire Hawk uses mapper-controlled single screen mirroring at 8000-BFFF.

Someone probably mistyped when they said 71 was the Quattro mapper.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

User avatar
Zepper
Formerly Fx3
Posts: 3192
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Post by Zepper » Sat Mar 03, 2012 8:26 pm

OK. Nintendulator uses a different setup though...

Code: Select all

  $8000-9FFF:   [...B B...]   PRG Block Select
  $A000-FFFF:   [.... ..PP]   PRG Page Select

The PRG ROM page at $C000-$FFFF is set by BB | 3.
...much like what I was using for this mapper. Kevtris gives a similar info, much like Disch's.

User avatar
cpow
NESICIDE developer
Posts: 1097
Joined: Mon Oct 13, 2008 7:55 pm
Location: Minneapolis, MN
Contact:

Post by cpow » Sun Mar 04, 2012 8:43 am

Zepper wrote:OK. Nintendulator uses a different setup though...

Code: Select all

  $8000-9FFF:   [...B B...]   PRG Block Select
  $A000-FFFF:   [.... ..PP]   PRG Page Select

The PRG ROM page at $C000-$FFFF is set by BB | 3.
...much like what I was using for this mapper. Kevtris gives a similar info, much like Disch's.
Not sure this is relevant but +3 is not the same as |3. Your coxe snippet has +3 but the mapper doc has |3.

User avatar
Zepper
Formerly Fx3
Posts: 3192
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Post by Zepper » Sun Mar 04, 2012 11:43 am

Yup, I fixed it.

User avatar
cpow
NESICIDE developer
Posts: 1097
Joined: Mon Oct 13, 2008 7:55 pm
Location: Minneapolis, MN
Contact:

Post by cpow » Sun Mar 04, 2012 5:51 pm

Zepper wrote:Yup, I fixed it.
Curious but you don't say whether that [+3 vs |3] was your problem or not.

Also, I know this has been pointed out to you before. Your habit of editing previous posts to remove things that are relevant [in this case, my post refers to a code snippet you subsequently deleted] is not very friendly to future readers of these threads. Instead, why not post a follow-up with the corrected code snippet?

User avatar
Zepper
Formerly Fx3
Posts: 3192
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Post by Zepper » Sun Mar 04, 2012 6:07 pm

Habit of editing previous posts to remove things that are IRrelevant. ;)

Nintendulator had the proper address setup; other than that, it was the same. Anyway, I read Kevtris page about the various BF9xxx types, but couldn't boot a Quattro Adventure, since it says $8000-$BFFF and $C000-$FFFF; it works for $8000-$9FFF and $A000-$FFFF.

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

Post by tokumaru » Mon Mar 05, 2012 7:54 am

Zepper wrote:Habit of editing previous posts to remove things that are IRrelevant. ;)
Irrelevant to you, after you've fixed the problem, but relevant to people that will be reading the posts in the future. The threads sometimes become very confusing after your edits.

Post Reply