It is currently Wed Nov 22, 2017 12:39 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Sun Nov 12, 2017 9:40 am 
Offline

Joined: Thu May 19, 2005 11:30 am
Posts: 311
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 14 times
mapper185.cpp [1.99 KiB]
Downloaded 12 times
Top
 Profile  
 
PostPosted: Thu Nov 16, 2017 2:36 am 
Offline

Joined: Mon Dec 12, 2011 8:15 pm
Posts: 352
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
5.jpg [ 96.06 KiB | Viewed 101 times ]
4.jpg
4.jpg [ 86.89 KiB | Viewed 101 times ]
3.jpg
3.jpg [ 88.32 KiB | Viewed 101 times ]
2.jpg
2.jpg [ 88.01 KiB | Viewed 101 times ]
1.jpg
1.jpg [ 88.14 KiB | Viewed 101 times ]
Top
 Profile  
 
PostPosted: Thu Nov 16, 2017 2:38 am 
Offline

Joined: Mon Dec 12, 2011 8:15 pm
Posts: 352
That's right ?
NewRisingSun Master!


Attachments:
7.jpg
7.jpg [ 96.04 KiB | Viewed 100 times ]
6.jpg
6.jpg [ 96.31 KiB | Viewed 100 times ]
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 5 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