Mapper 185 Submapper test ROMs

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

Post Reply
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Mapper 185 Submapper test ROMs

Post by NewRisingSun »

I was told that the tedious reason that the proposed submappers for Mapper 185 are not official is the lack of test ROMs. I have attempted to produce such for the second (lidnariq's) proposal, meaning submappers 4..7 indicate the CHR bank number for which CHR ROM is not disabled. The test ROM attempts to identify the submapper used, or in the absence of a valid submapper, which one of the two described heuristics is used by the emulator. 000.NES is set to mapper 0 and should return "invalid", 185.NES lacks a NES 2.0 header and should be identified as submapper 0, the other ones are NES 2.0-headered ROMs with the different submappers set in the header, which should be identified by the test ROM as such.

Attached find also a Nintendulator source implementing this second proposal. If "NEW_HEURISTIC" is 1, then the games' protection check is evaded by just disabling CHR ROM for the first two PPU writes, and enabling it afterwards. As it was predicted, this works for all Mapper 185 games, including the rev1 Seicross. Nevertheless, I still think submappers are the cleaner way to do things.

Normal Nestopia refuses to run the Mapper 185 test ROMs because they are not found in Nestopia's internal database.
Attachments
185_testroms.zip
(14.56 KiB) Downloaded 411 times
mapper185.cpp
(1.99 KiB) Downloaded 387 times
zxbdragon
Posts: 498
Joined: Mon Dec 12, 2011 8:15 pm

Re: Mapper 185 Submapper test ROMs

Post by zxbdragon »

Nestopia using db set pin ce to working game.
this Nestopia Plus!
case 4:
this->chr.Pin(26) = L"/CE";
this->chr.Pin(27) = L"/CE";
name = "CNROM with CHR disable";
id = Type::STD_CXROM;
break;
case 5:
this->chr.Pin(26) = L"CE";
this->chr.Pin(27) = L"/CE";
name = "CNROM with CHR disable";
id = Type::STD_CXROM;
break;
case 6:
this->chr.Pin(26) = L"/CE";
this->chr.Pin(27) = L"CE";
name = "CNROM with CHR disable";
id = Type::STD_CXROM;
break;
case 7:
this->chr.Pin(26) = L"CE";
this->chr.Pin(27) = L"CE";
name = "CNROM with CHR disable";
id = Type::STD_CXROM;
break;
Attachments
5.jpg
4.jpg
3.jpg
2.jpg
1.jpg
zxbdragon
Posts: 498
Joined: Mon Dec 12, 2011 8:15 pm

Re: Mapper 185 Submapper test ROMs

Post by zxbdragon »

That's right ?
NewRisingSun Master!
Attachments
7.jpg
6.jpg
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: Mapper 185 Submapper test ROMs

Post by NewRisingSun »

With the test ROMs provided and the proposal on which they are based having been implemented in at least one other emulator, unless somebody objects, I will move this (lidnariq's) specification from the submapper proposals to the main submapper wiki page.
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: Mapper 185 Submapper test ROMs

Post by NewRisingSun »

NesCartDB, and as a consequence, the Nesdev wiki, claim that the protected version of Seicross came later (by calling it "Version 2.0"). What is that based on? It would make no sense to release an unprotected version first and a protected one later. The protection-bearing PRG ROM is marked NBE-SE-0, indicating that it is the first version. The unprotected ROM still has the protection check inside it, but an RTS placed before it. (The never-protected U.S. version ROM has the protection checking code removed completely.)

Based on all this, I would say that the protected version came first and the unprotected version came second.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Mapper 185 Submapper test ROMs

Post by lidnariq »

The unprotected dump of Seicross in NesCartDB is made with UVEPROMs. The only thing that we can say with certainty is that the UVEPROMs in it were manufactured in the 6th week of 1986, so the cart couldn't have been made before then.
Post Reply