Fixed a few unlicensed games

This commit is contained in:
Souryo 2017-05-01 20:45:07 -04:00
parent c96f7d1c9c
commit 04048dc30b
3 changed files with 37 additions and 6 deletions

View File

@ -324,12 +324,21 @@ void GameDatabase::SetGameInfo(uint32_t romCrc, RomData &romData, bool updateRom
if(!info.Chip.empty()) {
MessageManager::Log("[DB] Chip: " + info.Chip);
}
if(!info.BusConflicts.empty()) {
MessageManager::Log("[DB] Bus conflicts: " + info.BusConflicts);
switch(GetBusConflictType(info.BusConflicts)) {
case BusConflictType::Yes: MessageManager::Log("[DB] Bus conflicts: Yes"); break;
case BusConflictType::No: MessageManager::Log("[DB] Bus conflicts: No"); break;
}
if(!info.Mirroring.empty()) {
MessageManager::Log("[DB] Mirroring: " + string(info.Mirroring.compare("h") == 0 ? "Horizontal" : (string(info.Mirroring.compare("v") == 0 ? "Vertical" : "4 Screens"))));
string msg = "[DB] Mirroring: ";
switch(info.Mirroring[0]) {
case 'h': msg += "Horizontal"; break;
case 'v': msg += "Vertical"; break;
case '4': msg += "4 Screens"; break;
case 'a': msg += "Single screen"; break;
}
MessageManager::Log(msg);
}
MessageManager::Log("[DB] PRG ROM: " + std::to_string(info.PrgRomSize) + " KB");
MessageManager::Log("[DB] CHR ROM: " + std::to_string(info.ChrRomSize) + " KB");
@ -382,6 +391,7 @@ void GameDatabase::UpdateRomData(GameInfo &info, RomData &romData)
case 'h': romData.Mirroring = MirroringType::Horizontal; break;
case 'v': romData.Mirroring = MirroringType::Vertical; break;
case '4': romData.Mirroring = MirroringType::FourScreens; break;
case 'a': romData.Mirroring = MirroringType::ScreenAOnly; break;
}
}
}

View File

@ -7,10 +7,12 @@ class Mapper112 : public MMC3
{
private:
uint8_t _currentReg;
uint8_t _outerChrBank;
protected:
void InitMapper() override
{
_outerChrBank = 0;
MMC3::InitMapper();
SetMirroringType(MirroringType::Vertical);
}
@ -22,7 +24,19 @@ protected:
void StreamState(bool saving) override
{
MMC3::StreamState(saving);
Stream(_currentReg);
Stream(_currentReg, _outerChrBank);
}
void SelectCHRPage(uint16_t slot, uint16_t page, ChrMemoryType memoryType)
{
switch(slot){
case 4: page |= (_outerChrBank & 0x10) << 4; break;
case 5: page |= (_outerChrBank & 0x20) << 3; break;
case 6: page |= (_outerChrBank & 0x40) << 2; break;
case 7: page |= (_outerChrBank & 0x80) << 1; break;
}
MMC3::SelectCHRPage(slot, page, memoryType);
}
void WriteRegister(uint16_t addr, uint8_t value) override
@ -42,6 +56,10 @@ protected:
_registers[_currentReg] = value;
break;
case 0xC000:
_outerChrBank = value;
break;
case 0xE000:
SetMirroringType(value & 0x01 ? MirroringType::Horizontal : MirroringType::Vertical);
break;

View File

@ -4,7 +4,7 @@
#
# Automatically generated database based on Nestopia's DB and NesCartDB
#
# Generated on 16/04/2017 using:
# Generated on 01/05/2017 using:
# -NesCartDB (dated 2016-08-20)
# -Nestopia UE's latest DB (dated 2015-10-22)
#
@ -701,6 +701,7 @@
3963F12A,Famicom,,,,198,640,,8,1,8,1,,,
396F0D59,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1A,1,128,128,,0,0,0,,,
398B8182,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,
39AB0FC7,NesNtsc,,,,64,128,256,,0,0,0,v,,
39B68AA3,Famicom,KONAMI-VRC-2,351179,VRC2,23,128,256,,0,0,0,,,
39BB6616,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,
39D43261,NesPal,NES-TKROM,NES-TKROM-10,MMC3B,4,128,256,,0,8,1,,,
@ -881,7 +882,7 @@
490E8A4C,Famicom,KONAMI-VRC-4,352400,VRC4,25,256,256,,0,0,0,,,
49123146,Famicom,KONAMI-VRC-2,350636,VRC2,23,128,128,,0,0,0,,,
491ACB83,NesNtsc,,,,3,32,32,,0,0,0,h,,
491CD95E,NesNtsc,,,,4,128,256,,0,0,0,4,,
491CD95E,NesNtsc,,,,4,256,128,,0,0,0,4,,
491D8CDB,Famicom,NAMCOT-3406,LROG052-00,109,206,128,64,,0,0,0,h,,
493BD2FF,Famicom,HVC-NROM-128,9011-04,,0,16,8,,0,0,0,v,,
4942BDA8,Famicom,,,,4,256,128,,0,8,1,,,
@ -1491,6 +1492,7 @@
7F7F2821,Famicom,,,,255,2048,1024,,0,0,0,,,
7F801368,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,
7F9BC8E5,Famicom,,,,45,512,512,,8,0,0,,,
7F9C1DEC,NesNtsc,,,,0,32,8,,0,0,0,a,,
7FA191E7,NesNtsc,KONAMI-SLROM,351908,MMC1B2,1,128,128,,0,0,0,,,
7FA2CC55,Famicom,HVC-CNROM,HVC-CNROM-256K-01,,3,32,32,,0,0,0,v,TurboFile,
7FB74A43,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,
@ -2182,6 +2184,7 @@ B5D28EA2,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,
B5E24324,Famicom,,,,4,128,,8,0,0,0,,,
B5E38091,Famicom,,,,4,128,128,,0,0,0,,,
B5E392E2,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,256,128,,0,0,0,,,
B5E83C9A,NesNtsc,,,,241,512,,,0,0,0,h,,
B5F7E661,Famicom,HVC-SKROM,HVC-SKROM-03,MMC1A,1,128,128,,0,8,1,,,
B5FF71AB,Famicom,NAMCOT-163,LROG053-00,163,19,128,128,,0,0,1,,,
B616885C,Famicom,,,,195,512,256,4,1,8,1,,,