Page 1 of 1

Help with mapper numbers, proper ID

Posted: Fri Mar 02, 2012 8:18 pm
by Zepper
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.

Posted: Sat Mar 03, 2012 7:08 pm
by Zepper
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?

Posted: Sat Mar 03, 2012 7:28 pm
by Dwedit
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.

Posted: Sat Mar 03, 2012 8:26 pm
by Zepper
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.

Posted: Sun Mar 04, 2012 8:43 am
by cpow
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.

Posted: Sun Mar 04, 2012 11:43 am
by Zepper
Yup, I fixed it.

Posted: Sun Mar 04, 2012 5:51 pm
by cpow
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?

Posted: Sun Mar 04, 2012 6:07 pm
by Zepper
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.

Posted: Mon Mar 05, 2012 7:54 am
by tokumaru
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.