From cf0bd50b9ecb47da971af30d285c2fc6ee87dd35 Mon Sep 17 00:00:00 2001 From: Sour Date: Thu, 4 Jan 2018 19:03:47 -0500 Subject: [PATCH] Libretro support (Windows) --- Core/CPU.cpp | 5 + Core/Console.cpp | 86 +- Core/Console.h | 8 +- Core/ControlManager.cpp | 2 + Core/Core.vcxproj | 101 + Core/Debugger.cpp | 10 + Core/EmulationSettings.cpp | 3 +- Core/EmulationSettings.h | 21 + Core/FdsLoader.h | 9 +- Core/GameDatabase.cpp | 298 ++- Core/GameDatabase.h | 3 + Core/HdPpu.h | 5 +- Core/MessageManager.cpp | 6 + Core/PPU.cpp | 8 +- Core/VideoDecoder.cpp | 4 + Core/VideoRenderer.cpp | 4 + Core/VsControlManager.cpp | 18 +- Core/VsControlManager.h | 11 - DependencyPacker/DependencyPacker.csproj | 29 + GUI.NET/GUI.NET.csproj | 27 + InteropDLL/ConsoleWrapper.cpp | 2 +- InteropDLL/InteropDLL.vcxproj | 91 +- InteropDLL/InteropDLL.vcxproj.filters | 3 - Libretro/Libretro.vcxproj | 269 ++ Libretro/Libretro.vcxproj.filters | 18 + Libretro/LibretroKeyManager.h | 114 + Libretro/LibretroMessageManager.h | 30 + Libretro/LibretroRenderer.h | 49 + Libretro/LibretroSoundManager.h | 56 + Libretro/MesenDB.inc | 3100 ++++++++++++++++++++++ Libretro/libretro.cpp | Bin 0 -> 62892 bytes Libretro/libretro.h | 2323 ++++++++++++++++ Libretro/stdafx.cpp | Bin 0 -> 592 bytes Libretro/stdafx.h | Bin 0 -> 1552 bytes Lua/Lua.vcxproj | 73 + Mesen.sln | 93 +- PGOHelper/PGOHelper.vcxproj | 80 + SevenZip/SevenZip.vcxproj | 73 + TestHelper/TestHelper.vcxproj | 80 + UpdateHelper/UpdateHelper.csproj | 29 + Utilities/Utilities.vcxproj | 102 + Windows/Windows.vcxproj | 74 + 42 files changed, 7238 insertions(+), 79 deletions(-) create mode 100644 Libretro/Libretro.vcxproj create mode 100644 Libretro/Libretro.vcxproj.filters create mode 100644 Libretro/LibretroKeyManager.h create mode 100644 Libretro/LibretroMessageManager.h create mode 100644 Libretro/LibretroRenderer.h create mode 100644 Libretro/LibretroSoundManager.h create mode 100644 Libretro/MesenDB.inc create mode 100644 Libretro/libretro.cpp create mode 100644 Libretro/libretro.h create mode 100644 Libretro/stdafx.cpp create mode 100644 Libretro/stdafx.h diff --git a/Core/CPU.cpp b/Core/CPU.cpp index f6dd29a7..d7da9fa3 100644 --- a/Core/CPU.cpp +++ b/Core/CPU.cpp @@ -234,6 +234,7 @@ uint16_t CPU::FetchOperand() default: break; } +#ifndef LIBRETRO Debugger::BreakIfDebugging(); if(NsfMapper::GetInstance()) { @@ -243,6 +244,10 @@ uint16_t CPU::FetchOperand() } else { throw std::runtime_error("Invalid OP code - CPU crashed"); } +#else + return 0; +#endif + } void CPU::IncCycleCount() diff --git a/Core/Console.cpp b/Core/Console.cpp index 0119dce1..a7a3a306 100644 --- a/Core/Console.cpp +++ b/Core/Console.cpp @@ -63,11 +63,15 @@ void Console::Release() void Console::SaveBatteries() { - _mapper->SaveBattery(); + if(_mapper) { + _mapper->SaveBattery(); + } - shared_ptr device = std::dynamic_pointer_cast(_controlManager->GetControlDevice(BaseControlDevice::ExpDevicePort)); - if(device) { - device->SaveBattery(); + if(_controlManager) { + shared_ptr device = std::dynamic_pointer_cast(_controlManager->GetControlDevice(BaseControlDevice::ExpDevicePort)); + if(device) { + device->SaveBattery(); + } } } @@ -115,7 +119,10 @@ bool Console::Initialize(VirtualFile &romFile, VirtualFile &patchFile) StopRecordingHdPack(); } +#ifndef LIBRETRO + //Don't use auto-save manager for libretro _autoSaveManager.reset(new AutoSaveManager()); +#endif _mapper = mapper; _memoryManager.reset(new MemoryManager(_mapper)); @@ -123,9 +130,18 @@ bool Console::Initialize(VirtualFile &romFile, VirtualFile &patchFile) _apu.reset(new APU(_memoryManager.get())); switch(_mapper->GetGameSystem()) { - case GameSystem::FDS: _systemActionManager.reset(new FdsSystemActionManager(Console::GetInstance(), _mapper)); break; - case GameSystem::VsUniSystem: _systemActionManager.reset(new VsSystemActionManager(Console::GetInstance())); break; - default: _systemActionManager.reset(new SystemActionManager(Console::GetInstance())); break; + case GameSystem::FDS: + EmulationSettings::SetPpuModel(PpuModel::Ppu2C02); + _systemActionManager.reset(new FdsSystemActionManager(Console::GetInstance(), _mapper)); + break; + + case GameSystem::VsUniSystem: + _systemActionManager.reset(new VsSystemActionManager(Console::GetInstance())); + break; + + default: + EmulationSettings::SetPpuModel(PpuModel::Ppu2C02); + _systemActionManager.reset(new SystemActionManager(Console::GetInstance())); break; } //Temporarely disable battery saves to prevent battery files from being created for the wrong game (for Battle Box & Turbo File) @@ -399,6 +415,24 @@ void Console::Resume() } } +void Console::RunSingleFrame() +{ + //Used by Libretro + uint32_t lastFrameNumber = PPU::GetFrameCount(); + _emulationThreadId = std::this_thread::get_id(); + UpdateNesModel(false); + + while(PPU::GetFrameCount() == lastFrameNumber) { + _cpu->Exec(); + } + + EmulationSettings::DisableOverclocking(_disableOcNextFrame || NsfMapper::GetInstance()); + _disableOcNextFrame = false; + + _systemActionManager->ProcessSystemActions(); + _apu->EndFrame(); +} + void Console::Run() { Timer clockTimer; @@ -771,6 +805,44 @@ void Console::StopRecordingHdPack() } } +bool Console::UpdateHdPackMode() +{ + //Switch back and forth between HD PPU and regular PPU as needed + Console::Pause(); + + VirtualFile romFile = _romFilepath; + VirtualFile patchFile = _patchFilename; + LoadHdPack(romFile, patchFile); + + bool isHdPackLoaded = std::dynamic_pointer_cast(_ppu) != nullptr; + bool hdPackFound = _hdData && (!_hdData->Tiles.empty() || !_hdData->Backgrounds.empty()); + + bool modeChanged = false; + if(isHdPackLoaded != hdPackFound) { + std::stringstream saveState; + Instance->SaveState(saveState); + + Instance->_memoryManager->UnregisterIODevice(Instance->_ppu.get()); + Instance->_ppu.reset(); + if(_hdData && (!_hdData->Tiles.empty() || !_hdData->Backgrounds.empty())) { + _ppu.reset(new HdPpu(_mapper.get(), _controlManager.get(), _hdData->Version)); + } else if(std::dynamic_pointer_cast(_mapper)) { + //Disable most of the PPU for NSFs + _ppu.reset(new NsfPpu(_mapper.get(), _controlManager.get())); + } else { + _ppu.reset(new PPU(_mapper.get(), _controlManager.get())); + } + Instance->_memoryManager->RegisterIODevice(Instance->_ppu.get()); + + Instance->LoadState(saveState); + modeChanged = true; + } + + Console::Resume(); + + return modeChanged; +} + ConsoleFeatures Console::GetAvailableFeatures() { ConsoleFeatures features = ConsoleFeatures::None; diff --git a/Core/Console.h b/Core/Console.h index 82dbb035..9f6063ee 100644 --- a/Core/Console.h +++ b/Core/Console.h @@ -68,13 +68,17 @@ class Console void UpdateNesModel(bool sendNotification); double GetFrameDelay(); - void SaveBatteries(); - public: Console(); ~Console(); + + void SaveBatteries(); + void Run(); void Stop(); + + void RunSingleFrame(); + bool UpdateHdPackMode(); shared_ptr GetSystemActionManager(); diff --git a/Core/ControlManager.cpp b/Core/ControlManager.cpp index 98c8afe2..c3e86031 100644 --- a/Core/ControlManager.cpp +++ b/Core/ControlManager.cpp @@ -261,6 +261,8 @@ void ControlManager::UpdateInputState() _isLagging = true; } + KeyManager::RefreshKeyState(); + auto lock = _deviceLock.AcquireSafe(); //string log = ""; diff --git a/Core/Core.vcxproj b/Core/Core.vcxproj index 0f96ae6a..810acd42 100644 --- a/Core/Core.vcxproj +++ b/Core/Core.vcxproj @@ -9,6 +9,14 @@ Debug x64 + + Libretro + Win32 + + + Libretro + x64 + PGO Optimize Win32 @@ -61,6 +69,13 @@ true Unicode + + StaticLibrary + false + v141 + true + Unicode + StaticLibrary false @@ -82,6 +97,13 @@ true Unicode + + StaticLibrary + false + v141 + true + Unicode + StaticLibrary false @@ -108,6 +130,9 @@ + + + @@ -117,6 +142,9 @@ + + + @@ -143,6 +171,11 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + false + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + false $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ @@ -158,6 +191,11 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + false + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + false $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ @@ -257,6 +295,34 @@ true + + + Level3 + Use + Full + true + true + LIBRETRO;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + true + AnySuitable + true + Speed + + + Default + MultiThreaded + true + true + + + + + Console + true + true + true + + Level3 @@ -346,6 +412,39 @@ true + + + Level3 + Use + Full + true + true + LIBRETRO;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + false + AnySuitable + true + Speed + + + Default + MultiThreaded + true + true + + + + + false + + + + + Console + true + true + true + + Level3 @@ -897,9 +996,11 @@ Create Create Create + Create Create Create Create + Create Create Create diff --git a/Core/Debugger.cpp b/Core/Debugger.cpp index 3e7b3962..9b950809 100644 --- a/Core/Debugger.cpp +++ b/Core/Debugger.cpp @@ -840,31 +840,41 @@ void Debugger::SetNextStatement(uint16_t addr) void Debugger::ProcessPpuCycle() { +#ifndef LIBRETRO if(Debugger::Instance) { Debugger::Instance->PrivateProcessPpuCycle(); } +#endif } bool Debugger::ProcessRamOperation(MemoryOperationType type, uint16_t &addr, uint8_t &value) { +#ifndef LIBRETRO if(Debugger::Instance) { return Debugger::Instance->PrivateProcessRamOperation(type, addr, value); } return true; +#else + return true; +#endif } void Debugger::ProcessVramReadOperation(MemoryOperationType type, uint16_t addr, uint8_t &value) { +#ifndef LIBRETRO if(Debugger::Instance) { Debugger::Instance->PrivateProcessVramReadOperation(type, addr, value); } +#endif } void Debugger::ProcessVramWriteOperation(uint16_t addr, uint8_t &value) { +#ifndef LIBRETRO if(Debugger::Instance) { Debugger::Instance->PrivateProcessVramWriteOperation(addr, value); } +#endif } void Debugger::GetCallstack(int32_t* callstackAbsolute, int32_t* callstackRelative) diff --git a/Core/EmulationSettings.cpp b/Core/EmulationSettings.cpp index 30ce9aa1..d892297b 100644 --- a/Core/EmulationSettings.cpp +++ b/Core/EmulationSettings.cpp @@ -18,7 +18,7 @@ uint64_t EmulationSettings::_flags = 0; bool EmulationSettings::_audioSettingsChanged = true; uint32_t EmulationSettings::_audioLatency = 50; double EmulationSettings::_channelVolume[11] = { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 }; -double EmulationSettings::_channelPanning[11] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; +double EmulationSettings::_channelPanning[11] = { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 }; EqualizerFilterType EmulationSettings::_equalizerFilterType = EqualizerFilterType::None; vector EmulationSettings::_bandGains = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; vector EmulationSettings::_bands = { { 40,56,80,113,160,225,320,450,600,750,1000,2000,3000,4000,5000,6000,7000,10000,12500,15000 } }; @@ -64,6 +64,7 @@ std::unordered_map> EmulationSettings::_shortcu RamPowerOnState EmulationSettings::_ramPowerOnState = RamPowerOnState::AllZeros; uint32_t EmulationSettings::_dipSwitches = 0; +VsInputType EmulationSettings::_vsInputType = VsInputType::Default; InputDisplaySettings EmulationSettings::_inputDisplaySettings = { 0, InputDisplayPosition::TopLeft, false }; diff --git a/Core/EmulationSettings.h b/Core/EmulationSettings.h index 811dfc22..853046b8 100644 --- a/Core/EmulationSettings.h +++ b/Core/EmulationSettings.h @@ -285,6 +285,16 @@ enum class PpuModel Ppu2C05E = 10 }; +enum class VsInputType +{ + Default = 0, + TypeA = 1, + TypeB = 2, + TypeC = 3, + TypeD = 4, + TypeE = 5 +}; + struct KeyMapping { uint32_t A = 0; @@ -634,6 +644,7 @@ private: static RamPowerOnState _ramPowerOnState; static uint32_t _dipSwitches; + static VsInputType _vsInputType; static SimpleLock _shortcutLock; static SimpleLock _equalizerLock; @@ -1407,6 +1418,16 @@ public: return _dipSwitches; } + static void SetVsInputType(VsInputType inputType) + { + _vsInputType = inputType; + } + + static VsInputType GetVsInputType() + { + return _vsInputType; + } + static bool IsKeyboardMode() { return _keyboardModeEnabled; diff --git a/Core/FdsLoader.h b/Core/FdsLoader.h index 11b151b0..78fa03a6 100644 --- a/Core/FdsLoader.h +++ b/Core/FdsLoader.h @@ -54,11 +54,16 @@ private: //For FDS, the PRG ROM is the FDS BIOS (8k) vector biosData; - ifstream biosFile("FdsBios.bin", ios::in | ios::binary); + ifstream biosFile(FolderUtilities::CombinePath(FolderUtilities::GetHomeFolder(), "FdsBios.bin"), ios::in | ios::binary); if(biosFile) { return vector(std::istreambuf_iterator(biosFile), {}); } else { - MessageManager::SendNotification(ConsoleNotificationType::FdsBiosNotFound); + biosFile.open(FolderUtilities::CombinePath(FolderUtilities::GetHomeFolder(), "disksys.rom"), ios::in | ios::binary); + if(biosFile) { + return vector(std::istreambuf_iterator(biosFile), {}); + } else { + MessageManager::SendNotification(ConsoleNotificationType::FdsBiosNotFound); + } } return {}; } diff --git a/Core/GameDatabase.cpp b/Core/GameDatabase.cpp index 6fdf8d4e..df694f8c 100644 --- a/Core/GameDatabase.cpp +++ b/Core/GameDatabase.cpp @@ -20,11 +20,52 @@ T GameDatabase::ToInt(string value) return std::stoi(value); } +void GameDatabase::LoadGameDb(vector data) +{ + for(string &row : data) { + vector values = StringUtilities::Split(row, ','); + if(values.size() >= 16) { + GameInfo gameInfo { + (uint32_t)std::stoll(values[0], nullptr, 16), + values[1], + values[2], + values[3], + values[4], + (uint16_t)ToInt(values[5]), + ToInt(values[6]), + ToInt(values[7]), + ToInt(values[8]), + ToInt(values[9]), + ToInt(values[10]), + ToInt(values[11]) == 0 ? false : true, + values[12], + values[13], + values[14], + values[15] + }; + + if(gameInfo.MapperID == 65000) { + gameInfo.MapperID = UnifLoader::GetMapperID(gameInfo.Board); + } + + if(!gameInfo.InputType.empty() && gameInfo.InputType[gameInfo.InputType.size() - 1] == '\r') { + gameInfo.InputType = gameInfo.InputType.substr(0, gameInfo.InputType.size() - 1); + } + + _gameDatabase[gameInfo.Crc] = gameInfo; + } + } + + MessageManager::Log(); + MessageManager::Log("[DB] Initialized - " + std::to_string(_gameDatabase.size()) + " games in DB"); +} + void GameDatabase::InitDatabase() { if(_gameDatabase.size() == 0) { string dbPath = FolderUtilities::CombinePath(FolderUtilities::GetHomeFolder(), "MesenDB.txt"); ifstream db(dbPath, ios::in | ios::binary); + vector dbData; while(db.good()) { string lineContent; std::getline(db, lineContent); @@ -34,41 +75,9 @@ void GameDatabase::InitDatabase() if(lineContent.empty() || lineContent[0] == '#') { continue; } - vector values = StringUtilities::Split(lineContent, ','); - if(values.size() >= 16) { - GameInfo gameInfo{ - (uint32_t)std::stoll(values[0], nullptr, 16), - values[1], - values[2], - values[3], - values[4], - (uint16_t)ToInt(values[5]), - ToInt(values[6]), - ToInt(values[7]), - ToInt(values[8]), - ToInt(values[9]), - ToInt(values[10]), - ToInt(values[11]) == 0 ? false : true, - values[12], - values[13], - values[14], - values[15] - }; - - if(gameInfo.MapperID == 65000) { - gameInfo.MapperID = UnifLoader::GetMapperID(gameInfo.Board); - } - - if(!gameInfo.InputType.empty() && gameInfo.InputType[gameInfo.InputType.size() - 1] == '\r') { - gameInfo.InputType = gameInfo.InputType.substr(0, gameInfo.InputType.size() - 1); - } - - _gameDatabase[gameInfo.Crc] = gameInfo; - } + dbData.push_back(lineContent); } - - MessageManager::Log(); - MessageManager::Log("[DB] Initialized - " + std::to_string(_gameDatabase.size()) + " games in DB"); + LoadGameDb(dbData); } } @@ -448,6 +457,10 @@ void GameDatabase::SetGameInfo(uint32_t romCrc, RomData &romData, bool updateRom MessageManager::Log("[DB] Game not found in database"); } +#ifdef LIBRETRO + SetVsSystemDefaults(romData.PrgCrc32); +#endif + romData.DatabaseInfo = info; } @@ -476,4 +489,219 @@ void GameDatabase::UpdateRomData(GameInfo &info, RomData &romData) case 'a': romData.Mirroring = MirroringType::ScreenAOnly; break; } } -} \ No newline at end of file +} + +void GameDatabase::SetVsSystemDefaults(uint32_t prgCrc32) +{ + //Used by Libretro port since the data for VS system games is stored in the C# UI (needs to be refactored eventually) + VsInputType inputType = VsInputType::Default; + PpuModel model = PpuModel::Ppu2C03; + uint8_t defaultDip = 0; + + switch(prgCrc32) { + case 0xEB2DBA63: case 0x98CFE016: + //TKOBoxing + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C04C; + break; + + case 0x135ADF7C: + //RBIBaseball + inputType = VsInputType::TypeB; + model = PpuModel::Ppu2C04A; + break; + + case 0xED588F00: + //"DuckHunt", use defaults + model = PpuModel::Ppu2C03; + break; + + case 0x16D3F469: + //NinjaJajamaruKun + inputType = VsInputType::TypeC; + model = PpuModel::Ppu2C05A; + break; + + case 0x8850924B: + //Tetris + model = PpuModel::Ppu2C03; + inputType = VsInputType::TypeB; + defaultDip = 32; + break; + + case 0x8C0C2DF5: + //TopGun + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C05D; + break; + + case 0x70901B25: + //Slalom + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C04B; + break; + + case 0xCF36261E: + //SuperSkyKid + inputType = VsInputType::TypeC; + model = PpuModel::Ppu2C04A; + break; + + case 0xE1AA8214: + //StarLuster + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C04A; + defaultDip = 32; + break; + + case 0xD5D7EAC4: + //DrMario + inputType = VsInputType::TypeB; + model = PpuModel::Ppu2C04C; + break; + + case 0xFFBEF374: + //Castlevania + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C04B; + break; + + case 0xE2C0A2BE: + //Platoon + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C04A; + break; + + case 0x29155E0C: + //ExciteBike + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C04D; + break; + + case 0xCBE85490: + //ExciteBikeB + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C04C; + break; + + case 0x07138C06: + //Clu Clu Land + inputType = VsInputType::TypeB; + model = PpuModel::Ppu2C04D; + break; + + case 0x43A357EF: + //IceClimber + inputType = VsInputType::TypeB; + model = PpuModel::Ppu2C04D; + break; + + case 0xD4EB5923: + //IceClimberB + inputType = VsInputType::TypeD; + model = PpuModel::Ppu2C04D; + break; + + case 0x737DD1BF: case 0x4BF3972D: case 0x8B60CC58: case 0x8192C804: + //SuperMarioBros + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C04D; + break; + + case 0xE528F651: + //Pinball + inputType = VsInputType::TypeE; + model = PpuModel::Ppu2C03; + break; + + case 0xEC461DB9: + //PinballB + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C04A; + break; + + case 0xAE8063EF: + //MachRiderFightingCourse, defaults + model = PpuModel::Ppu2C03; + break; + + case 0x0B65A917: case 0x8A6A9848: + //MachRider + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C04B; + break; + + case 0x46914E3E: + //Soccer + inputType = VsInputType::TypeB; + model = PpuModel::Ppu2C04C; + break; + + case 0x70433F2C: + //Battle City + inputType = VsInputType::TypeB; + model = PpuModel::Ppu2C04A; + break; + + case 0xD99A2087: + //Gradius + inputType = VsInputType::TypeB; + model = PpuModel::Ppu2C04A; + break; + + case 0x1E438D52: + //Goonies + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C04C; + break; + + case 0xFF5135A3: + //HoganAlley + model = PpuModel::Ppu2C04A; + break; + + case 0x17AE56BE: + //FreedomForce + model = PpuModel::Ppu2C04A; + break; + + case 0xC99EC059: + //RaidBungelingBay + inputType = VsInputType::TypeD; + model = PpuModel::Ppu2C04B; + break; + + case 0xF9D3B0A3: case 0x66BB838F: case 0x9924980A: + //SuperXevious + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C04A; + break; + + case 0xA93A5AEE: + //Golf + inputType = VsInputType::TypeB; + model = PpuModel::Ppu2C03; + break; + + case 0xCC2C4B5D: case 0x86167220: + //GolfB + inputType = VsInputType::TypeB; + model = PpuModel::Ppu2C04B; + break; + + case 0xCA85E56D: + //MightyBombJack + inputType = VsInputType::TypeA; + model = PpuModel::Ppu2C05B; + break; + + case 0xFE446787: + //Gumshoe + model = PpuModel::Ppu2C05C; + break; + } + + EmulationSettings::SetPpuModel(model); + EmulationSettings::SetDipSwitches(defaultDip); + EmulationSettings::SetVsInputType(inputType); +} diff --git a/Core/GameDatabase.h b/Core/GameDatabase.h index 28991685..a93d93cf 100644 --- a/Core/GameDatabase.h +++ b/Core/GameDatabase.h @@ -16,8 +16,11 @@ private: static void InitDatabase(); static void UpdateRomData(GameInfo &info, RomData &romData); + static void SetVsSystemDefaults(uint32_t prgCrc32); public: + static void LoadGameDb(vector data); + static void InitializeInputDevices(string inputType, GameSystem system); static void SetGameInfo(uint32_t romCrc, RomData &romData, bool updateRomData); static bool GetiNesHeader(uint32_t romCrc, NESHeader &nesHeader); diff --git a/Core/HdPpu.h b/Core/HdPpu.h index 2bceb2f2..6c5c720c 100644 --- a/Core/HdPpu.h +++ b/Core/HdPpu.h @@ -155,13 +155,16 @@ public: { MessageManager::SendNotification(ConsoleNotificationType::PpuFrameDone, _currentOutputBuffer); +#ifdef LIBRETRO + VideoDecoder::GetInstance()->UpdateFrameSync(_currentOutputBuffer, _screenTiles); +#else if(RewindManager::IsRewinding()) { VideoDecoder::GetInstance()->UpdateFrameSync(_currentOutputBuffer, _screenTiles); } else { VideoDecoder::GetInstance()->UpdateFrame(_currentOutputBuffer, _screenTiles); } - _currentOutputBuffer = (_currentOutputBuffer == _outputBuffers[0]) ? _outputBuffers[1] : _outputBuffers[0]; _screenTiles = (_screenTiles == _screenTileBuffers[0]) ? _screenTileBuffers[1] : _screenTileBuffers[0]; +#endif } }; \ No newline at end of file diff --git a/Core/MessageManager.cpp b/Core/MessageManager.cpp index 8f0173a3..83b014f8 100644 --- a/Core/MessageManager.cpp +++ b/Core/MessageManager.cpp @@ -654,6 +654,7 @@ void MessageManager::DisplayMessage(string title, string message, string param1, void MessageManager::Log(string message) { +#ifndef LIBRETRO auto lock = _logLock.AcquireSafe(); if(message.empty()) { message = "------------------------------------------------------"; @@ -662,6 +663,11 @@ void MessageManager::Log(string message) _log.pop_front(); } _log.push_back(message); +#else + if(MessageManager::_messageManager) { + MessageManager::_messageManager->DisplayMessage("", message + "\n"); + } +#endif } string MessageManager::GetLog() diff --git a/Core/PPU.cpp b/Core/PPU.cpp index 4403f545..4e7fb376 100644 --- a/Core/PPU.cpp +++ b/Core/PPU.cpp @@ -15,8 +15,6 @@ PPU::PPU(BaseMapper *mapper, ControlManager *controlManager) { PPU::Instance = this; - EmulationSettings::SetPpuModel(PpuModel::Ppu2C02); - _mapper = mapper; _controlManager = controlManager; _outputBuffers[0] = new uint16_t[256 * 240]; @@ -992,7 +990,6 @@ void PPU::ProcessSpriteEvaluation() uint8_t PPU::ReadSpriteRam(uint8_t addr) { - //return _spriteRAM[addr]; if(!_enableOamDecay) { return _spriteRAM[addr]; } else { @@ -1026,6 +1023,9 @@ void PPU::SendFrame() MessageManager::SendNotification(ConsoleNotificationType::PpuFrameDone, _currentOutputBuffer); +#ifdef LIBRETRO + VideoDecoder::GetInstance()->UpdateFrameSync(_currentOutputBuffer); +#else if(RewindManager::IsRewinding()) { if(!RewindManager::IsStepBack()) { VideoDecoder::GetInstance()->UpdateFrameSync(_currentOutputBuffer); @@ -1033,7 +1033,6 @@ void PPU::SendFrame() } else { VideoDecoder::GetInstance()->UpdateFrame(_currentOutputBuffer); } - //Switch output buffer. VideoDecoder will decode the last frame while we build the new one. //If VideoDecoder isn't fast enough, UpdateFrame will block until it is ready to accept a new frame. _currentOutputBuffer = (_currentOutputBuffer == _outputBuffers[0]) ? _outputBuffers[1] : _outputBuffers[0]; @@ -1042,6 +1041,7 @@ void PPU::SendFrame() } _enableOamDecay = EmulationSettings::CheckFlag(EmulationFlags::EnableOamDecay); +#endif } void PPU::BeginVBlank() diff --git a/Core/VideoDecoder.cpp b/Core/VideoDecoder.cpp index dc0e5110..5053f681 100644 --- a/Core/VideoDecoder.cpp +++ b/Core/VideoDecoder.cpp @@ -193,6 +193,7 @@ void VideoDecoder::UpdateFrame(void *ppuOutputBuffer, HdPpuPixelInfo *hdPixelInf void VideoDecoder::StartThread() { +#ifndef LIBRETRO if(!_decodeThread) { _stopFlag = false; _frameChanged = false; @@ -201,10 +202,12 @@ void VideoDecoder::StartThread() _hud.reset(new VideoHud()); _decodeThread.reset(new thread(&VideoDecoder::DecodeThread, this)); } +#endif } void VideoDecoder::StopThread() { +#ifndef LIBRETRO _stopFlag = true; if(_decodeThread) { _waitForFrame.Signal(); @@ -225,6 +228,7 @@ void VideoDecoder::StopThread() } _ppuOutputBuffer = nullptr; } +#endif } bool VideoDecoder::IsRunning() diff --git a/Core/VideoRenderer.cpp b/Core/VideoRenderer.cpp index e63b4289..e4287b9e 100644 --- a/Core/VideoRenderer.cpp +++ b/Core/VideoRenderer.cpp @@ -33,21 +33,25 @@ void VideoRenderer::Release() void VideoRenderer::StartThread() { +#ifndef LIBRETRO if(!_renderThread) { _stopFlag = false; _waitForRender.Reset(); _renderThread.reset(new std::thread(&VideoRenderer::RenderThread, this)); } +#endif } void VideoRenderer::StopThread() { +#ifndef LIBRETRO _stopFlag = true; if(_renderThread) { _renderThread->join(); _renderThread.reset(); } +#endif } void VideoRenderer::RenderThread() diff --git a/Core/VsControlManager.cpp b/Core/VsControlManager.cpp index 65214e77..a6b323d0 100644 --- a/Core/VsControlManager.cpp +++ b/Core/VsControlManager.cpp @@ -37,12 +37,9 @@ VsControlManager* VsControlManager::GetInstance() void VsControlManager::StreamState(bool saving) { ControlManager::StreamState(saving); - Stream(_prgChrSelectBit, _protectionCounter, _refreshState, _inputType); -} -void VsControlManager::SetInputType(VsInputType inputType) -{ - _inputType = inputType; + VsInputType unusedInputType = VsInputType::Default; + Stream(_prgChrSelectBit, _protectionCounter, _refreshState, unusedInputType); } void VsControlManager::GetMemoryRanges(MemoryRanges &ranges) @@ -67,14 +64,15 @@ void VsControlManager::RemapControllerButtons() return; } - if(_inputType == VsInputType::TypeA) { + VsInputType inputType = EmulationSettings::GetVsInputType(); + if(inputType == VsInputType::TypeA) { BaseControlDevice::SwapButtons(controllers[0], StandardController::Buttons::Select, controllers[0], StandardController::Buttons::Start); BaseControlDevice::SwapButtons(controllers[1], StandardController::Buttons::Select, controllers[1], StandardController::Buttons::Start); - } else if(_inputType == VsInputType::TypeB) { + } else if(inputType == VsInputType::TypeB) { std::swap(controllers[0], controllers[1]); BaseControlDevice::SwapButtons(controllers[1], StandardController::Buttons::Select, controllers[0], StandardController::Buttons::Start); BaseControlDevice::SwapButtons(controllers[0], StandardController::Buttons::Select, controllers[1], StandardController::Buttons::Start); - } else if(_inputType == VsInputType::TypeC) { + } else if(inputType == VsInputType::TypeC) { std::swap(controllers[0], controllers[1]); if(controllers[0]->IsPressed(StandardController::Buttons::Start)) { @@ -85,13 +83,13 @@ void VsControlManager::RemapControllerButtons() controllers[0]->ClearBit(StandardController::Buttons::Start); controllers[0]->ClearBit(StandardController::Buttons::Select); - } else if(_inputType == VsInputType::TypeD) { + } else if(inputType == VsInputType::TypeD) { std::swap(controllers[0], controllers[1]); BaseControlDevice::SwapButtons(controllers[1], StandardController::Buttons::Select, controllers[0], StandardController::Buttons::Start); BaseControlDevice::SwapButtons(controllers[0], StandardController::Buttons::Select, controllers[1], StandardController::Buttons::Start); controllers[0]->InvertBit(StandardController::Buttons::Select); controllers[1]->InvertBit(StandardController::Buttons::Select); - } else if(_inputType == VsInputType::TypeE) { + } else if(inputType == VsInputType::TypeE) { BaseControlDevice::SwapButtons(controllers[0], StandardController::Buttons::B, controllers[1], StandardController::Buttons::A); BaseControlDevice::SwapButtons(controllers[0], StandardController::Buttons::Select, controllers[0], StandardController::Buttons::Start); BaseControlDevice::SwapButtons(controllers[1], StandardController::Buttons::Select, controllers[1], StandardController::Buttons::Start); diff --git a/Core/VsControlManager.h b/Core/VsControlManager.h index 731f155c..0444f1df 100644 --- a/Core/VsControlManager.h +++ b/Core/VsControlManager.h @@ -10,22 +10,11 @@ class BaseControlDevice; -enum class VsInputType -{ - Default = 0, - TypeA = 1, - TypeB = 2, - TypeC = 3, - TypeD = 4, - TypeE = 5 -}; - class VsControlManager : public ControlManager { private: static VsControlManager *_instance; uint8_t _prgChrSelectBit; - VsInputType _inputType = VsInputType::Default; bool _refreshState = false; uint32_t _protectionCounter = 0; diff --git a/DependencyPacker/DependencyPacker.csproj b/DependencyPacker/DependencyPacker.csproj index 75261846..3fc7adfb 100644 --- a/DependencyPacker/DependencyPacker.csproj +++ b/DependencyPacker/DependencyPacker.csproj @@ -131,6 +131,35 @@ MinimumRecommendedRules.ruleset true + + bin\Libretro\ + TRACE + true + pdbonly + AnyCPU + prompt + MinimumRecommendedRules.ruleset + + + bin\x64\Libretro\ + TRACE + true + pdbonly + x64 + prompt + MinimumRecommendedRules.ruleset + true + + + bin\x86\Libretro\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + true + diff --git a/GUI.NET/GUI.NET.csproj b/GUI.NET/GUI.NET.csproj index 20c7faf5..1b8cdf1f 100644 --- a/GUI.NET/GUI.NET.csproj +++ b/GUI.NET/GUI.NET.csproj @@ -152,6 +152,33 @@ app.manifest + + bin\x64\Libretro\ + TRACE + true + pdbonly + AnyCPU + prompt + MinimumRecommendedRules.ruleset + + + bin\x86\Libretro\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\Libretro\ + TRACE + true + pdbonly + AnyCPU + prompt + MinimumRecommendedRules.ruleset + False diff --git a/InteropDLL/ConsoleWrapper.cpp b/InteropDLL/ConsoleWrapper.cpp index 0d3d2017..a7b13978 100644 --- a/InteropDLL/ConsoleWrapper.cpp +++ b/InteropDLL/ConsoleWrapper.cpp @@ -557,7 +557,7 @@ namespace InteropEmu { if(vs) { EmulationSettings::SetPpuModel(model); EmulationSettings::SetDipSwitches(dipSwitches); - vs->SetInputType(inputType); + EmulationSettings::SetVsInputType(inputType); } } diff --git a/InteropDLL/InteropDLL.vcxproj b/InteropDLL/InteropDLL.vcxproj index f8215775..06f3808c 100644 --- a/InteropDLL/InteropDLL.vcxproj +++ b/InteropDLL/InteropDLL.vcxproj @@ -9,6 +9,14 @@ Debug x64 + + Libretro + Win32 + + + Libretro + x64 + PGO Optimize Win32 @@ -60,6 +68,13 @@ true Unicode + + DynamicLibrary + false + v141 + true + Unicode + DynamicLibrary false @@ -81,6 +96,13 @@ true Unicode + + DynamicLibrary + false + v141 + true + Unicode + DynamicLibrary false @@ -107,6 +129,9 @@ + + + @@ -116,6 +141,9 @@ + + + @@ -141,6 +169,12 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + false + MesenCore + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + false MesenCore @@ -159,6 +193,12 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + false + MesenCore + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + false MesenCore @@ -237,6 +277,30 @@ /ignore:4099 %(AdditionalOptions) + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;INTEROPDLL_EXPORTS;%(PreprocessorDefinitions) + + + MultiThreaded + true + true + + + Windows + true + true + true + dinput8.lib;Xinput9_1_0.lib;d3d11.lib;d3dcompiler.lib;dxguid.lib;winmm.lib;comctl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib; + $(OutDir);%(AdditionalLibraryDirectories) + /ignore:4099 %(AdditionalOptions) + + Level3 @@ -310,6 +374,30 @@ /ignore:4099 %(AdditionalOptions) + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;INTEROPDLL_EXPORTS;%(PreprocessorDefinitions) + + + MultiThreaded + true + true + + + Windows + true + true + true + dinput8.lib;Xinput9_1_0.lib;d3d11.lib;d3dcompiler.lib;dxguid.lib;winmm.lib;comctl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib; + $(OutDir);%(AdditionalLibraryDirectories) + /ignore:4099 %(AdditionalOptions) + + Level3 @@ -361,7 +449,6 @@ - @@ -370,9 +457,11 @@ Create Create Create + Create Create Create Create + Create Create Create diff --git a/InteropDLL/InteropDLL.vcxproj.filters b/InteropDLL/InteropDLL.vcxproj.filters index 946c4759..f5807edb 100644 --- a/InteropDLL/InteropDLL.vcxproj.filters +++ b/InteropDLL/InteropDLL.vcxproj.filters @@ -14,9 +14,6 @@ Header Files - - Header Files - diff --git a/Libretro/Libretro.vcxproj b/Libretro/Libretro.vcxproj new file mode 100644 index 00000000..f8483bd0 --- /dev/null +++ b/Libretro/Libretro.vcxproj @@ -0,0 +1,269 @@ + + + + + Debug + Win32 + + + Libretro + Win32 + + + Libretro + x64 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 15.0 + {4432139E-528B-44DE-961C-B37CD5E92E0E} + Win32Proj + Libretro + 10.0.16299.0 + Libretro + + + + DynamicLibrary + true + v141 + Unicode + + + DynamicLibrary + false + v141 + true + Unicode + + + DynamicLibrary + false + v141 + true + Unicode + + + DynamicLibrary + true + v141 + Unicode + + + DynamicLibrary + false + v141 + true + Unicode + + + DynamicLibrary + false + v141 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + false + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + mesen_libretro + + + false + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + mesen_libretro + + + true + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + mesen_libretro + + + true + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + mesen_libretro + + + false + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + mesen_libretro + + + false + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + mesen_libretro + + + + Use + Level3 + MaxSpeed + true + true + true + NDEBUG;LIBRETRO_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + MultiThreaded + + + Windows + true + true + true + $(OutDir);%(AdditionalLibraryDirectories) + + + + + Use + Level3 + MaxSpeed + true + true + true + NDEBUG;LIBRETRO_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + MultiThreaded + + + Windows + true + true + true + $(OutDir);%(AdditionalLibraryDirectories) + + + + + Use + Level3 + Disabled + true + WIN32;_DEBUG;LIBRETRO_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + MultiThreadedDebug + + + Windows + true + $(OutDir);%(AdditionalLibraryDirectories) + + + + + Use + Level3 + Disabled + true + _DEBUG;LIBRETRO_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + MultiThreadedDebug + + + Windows + true + $(OutDir);%(AdditionalLibraryDirectories) + + + + + Use + Level3 + MaxSpeed + true + true + true + WIN32;NDEBUG;LIBRETRO_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + MultiThreaded + + + Windows + true + true + true + $(OutDir);%(AdditionalLibraryDirectories) + + + + + Use + Level3 + MaxSpeed + true + true + true + WIN32;NDEBUG;LIBRETRO_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + MultiThreaded + + + Windows + true + true + true + $(OutDir);%(AdditionalLibraryDirectories) + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + + \ No newline at end of file diff --git a/Libretro/Libretro.vcxproj.filters b/Libretro/Libretro.vcxproj.filters new file mode 100644 index 00000000..297e9df6 --- /dev/null +++ b/Libretro/Libretro.vcxproj.filters @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Libretro/LibretroKeyManager.h b/Libretro/LibretroKeyManager.h new file mode 100644 index 00000000..539a800e --- /dev/null +++ b/Libretro/LibretroKeyManager.h @@ -0,0 +1,114 @@ +#pragma once +#include "libretro.h" +#include "../Core/IKeyManager.h" +#include "../Core/KeyManager.h" +#include "../Core/FdsSystemActionManager.h" +#include "../Core/VsSystemActionManager.h" + +class LibretroKeyManager : public IKeyManager +{ +private: + retro_input_state_t _getInputState; + retro_input_poll_t _pollInput; + bool _mouseButtons[3] = { false, false, false }; + +public: + LibretroKeyManager(retro_input_state_t getInputState, retro_input_poll_t pollInput) + { + _getInputState = getInputState; + _pollInput = pollInput; + KeyManager::RegisterKeyManager(this); + } + + ~LibretroKeyManager() + { + KeyManager::RegisterKeyManager(nullptr); + } + + // Inherited via IKeyManager + virtual void RefreshState() override + { + if(_pollInput) { + _pollInput(); + } + + int32_t x = _getInputState(0, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_X); + int32_t y = _getInputState(0, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_Y); + + x += 0x8000; + y += 0x8000; + + KeyManager::SetMousePosition((double)x / 0x10000, (double)y / 0x10000); + + int16_t dx = _getInputState(0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_X); + int16_t dy = _getInputState(0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_Y); + KeyManager::SetMouseMovement(dx, dy); + + _mouseButtons[(int)MouseButton::LeftButton] = _getInputState(0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_LEFT) != 0; + _mouseButtons[(int)MouseButton::RightButton] = _getInputState(0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_RIGHT) != 0; + _mouseButtons[(int)MouseButton::MiddleButton] = _getInputState(0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_MIDDLE) != 0; + + shared_ptr fdsSam = Console::GetInstance()->GetSystemActionManager(); + if(fdsSam) { + if(_getInputState(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_L)) { + fdsSam->InsertNextDisk(); + } else if(_getInputState(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_R)) { + fdsSam->SwitchDiskSide(); + } + } + + shared_ptr vsSam = Console::GetInstance()->GetSystemActionManager(); + if(vsSam) { + if(_getInputState(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_L2)) { + vsSam->InsertCoin(0); + } else if(_getInputState(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_L2)) { + vsSam->InsertCoin(1); + } + } + } + + virtual bool IsKeyPressed(uint32_t keyCode) override + { + if(keyCode > 0) { + return _getInputState(keyCode >> 8, RETRO_DEVICE_JOYPAD, 0, (keyCode - 1) & 0xFF) != 0; + } else { + return false; + } + } + + virtual void UpdateDevices() override + { + } + + virtual bool IsMouseButtonPressed(MouseButton button) override + { + return _mouseButtons[(int)button]; + } + + virtual vector GetPressedKeys() override + { + return vector(); + } + + virtual string GetKeyName(uint32_t keyCode) override + { + return string(); + } + + virtual uint32_t GetKeyCode(string keyName) override + { + return 0; + } + + virtual void SetKeyState(uint16_t scanCode, bool state) override + { + } + + virtual void ResetKeyState() override + { + } + + virtual void SetDisabled(bool disabled) override + { + } +}; \ No newline at end of file diff --git a/Libretro/LibretroMessageManager.h b/Libretro/LibretroMessageManager.h new file mode 100644 index 00000000..4745c01d --- /dev/null +++ b/Libretro/LibretroMessageManager.h @@ -0,0 +1,30 @@ +#pragma once +#include "libretro.h" +#include "../Core/IMessageManager.h" +#include "../Core/MessageManager.h" + +class LibretroMessageManager : public IMessageManager +{ +private: + retro_log_printf_t _log = nullptr; + +public: + LibretroMessageManager(retro_log_printf_t logCallback) + { + _log = logCallback; + MessageManager::RegisterMessageManager(this); + } + + ~LibretroMessageManager() + { + MessageManager::RegisterMessageManager(nullptr); + } + + // Inherited via IMessageManager + virtual void DisplayMessage(string title, string message) override + { + if(_log) { + _log(RETRO_LOG_INFO, message.c_str()); + } + } +}; \ No newline at end of file diff --git a/Libretro/LibretroRenderer.h b/Libretro/LibretroRenderer.h new file mode 100644 index 00000000..e48499db --- /dev/null +++ b/Libretro/LibretroRenderer.h @@ -0,0 +1,49 @@ +#pragma once +#include "stdafx.h" +#include "../Core/IRenderingDevice.h" +#include "../Core/VideoRenderer.h" +#include "libretro.h" + +class LibretroRenderer : public IRenderingDevice +{ +private: + retro_video_refresh_t _sendFrame = nullptr; + bool _skipMode = false; + +public: + LibretroRenderer(retro_video_refresh_t sendFrame) + { + _sendFrame = sendFrame; + VideoRenderer::GetInstance()->RegisterRenderingDevice(this); + } + + ~LibretroRenderer() + { + VideoRenderer::GetInstance()->UnregisterRenderingDevice(this); + } + + // Inherited via IRenderingDevice + virtual void UpdateFrame(void *frameBuffer, uint32_t width, uint32_t height) override + { + if(!_skipMode) { + _sendFrame(frameBuffer, width, height, sizeof(uint32_t) * width); + } + } + + void SetSkipMode(bool skip) + { + _skipMode = skip; + } + + virtual void Render() override + { + } + + virtual void Reset() override + { + } + + virtual void SetFullscreenMode(bool fullscreen, void *windowHandle, uint32_t monitorWidth, uint32_t monitorHeight) override + { + } +}; \ No newline at end of file diff --git a/Libretro/LibretroSoundManager.h b/Libretro/LibretroSoundManager.h new file mode 100644 index 00000000..8cfbdcb7 --- /dev/null +++ b/Libretro/LibretroSoundManager.h @@ -0,0 +1,56 @@ +#pragma once +#include "stdafx.h" +#include "../Core/IAudioDevice.h" +#include "../Core/SoundMixer.h" +#include "libretro.h" + +class LibretroSoundManager : public IAudioDevice +{ +private: + retro_audio_sample_t _sendAudioSample = nullptr; + bool _skipMode = false; + +public: + LibretroSoundManager(retro_audio_sample_t sendAudioSample) + { + _sendAudioSample = sendAudioSample; + SoundMixer::RegisterAudioDevice(this); + } + + ~LibretroSoundManager() + { + SoundMixer::RegisterAudioDevice(nullptr); + } + + // Inherited via IAudioDevice + virtual void PlayBuffer(int16_t *soundBuffer, uint32_t sampleCount, uint32_t sampleRate, bool isStereo) override + { + if(!_skipMode) { + for(uint32_t i = 0; i < sampleCount; i++) { + _sendAudioSample(soundBuffer[i * 2], soundBuffer[i * 2 + 1]); + } + } + } + + void SetSkipMode(bool skip) + { + _skipMode = skip; + } + + virtual void Stop() override + { + } + + virtual void Pause() override + { + } + + virtual string GetAvailableDevices() override + { + return string(); + } + + virtual void SetAudioDevice(string deviceName) override + { + } +}; diff --git a/Libretro/MesenDB.inc b/Libretro/MesenDB.inc new file mode 100644 index 00000000..ea47dc1d --- /dev/null +++ b/Libretro/MesenDB.inc @@ -0,0 +1,3100 @@ +"001388B3,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,256,128,,0,0,0,,,,", +"0021ED29,Famicom,HVC-SGROM,HVC-SGROM-02,MMC1A,1,256,,8,0,0,0,,,,", +"007BB58A,Famicom,,,,3,32,16,,0,0,0,v,,,", +"00837960,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3C,4,256,256,,8,0,0,,,,", +"008E2D30,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"009AF6BE,NesNtsc,NES-ANROM,NES-ANROM-03,,7,128,,8,0,0,0,,,,", +"00A53242,NesPal,,,,113,128,128,,0,0,0,,,,", +"00AD1189,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"00E95D86,NesNtsc,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"0123BFFE,NesNtsc,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"01357944,VsUni,,,,99,32,16,,0,0,0,4,,,", +"015D4555,NesPal,NES-TKEPROM,NES-TKEPROM-02,MMC3C,4,128,128,,0,0,0,,,,", +"0163CA53,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,v,,,", +"016C93D8,Famicom,HVC-SGROM,HVC-SGROM-02,MMC1A,1,256,,8,0,0,0,,,,", +"018A8699,NesNtsc,ACCLAIM-MC-ACC,53361-2,MC-ACC,4,128,256,,0,0,0,,,,", +"01934171,NesNtsc,,,,4,128,128,,0,0,0,,,,", +"01B07343,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"01B4CA89,NesNtsc,NES-CNROM,NES-CNROM-06,,3,32,32,,0,0,0,h,,,", +"022589B9,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,256,128,,0,8,1,,,,", +"023A5A32,Famicom,HVC-NROM-256,3I,,0,32,8,,0,0,0,v,Rob,,", +"02589598,Famicom,HVC-SGROM,HVC-SGROM-01,MMC1,1,128,,8,0,0,0,,3dGlasses,,", +"02669C33,Famicom,,,,185,32,8,,0,0,0,h,,,", +"026C5FCA,Famicom,BANDAI-74*161/161/32,BA ワラ,,152,128,128,,0,0,0,,,,", +"026E41C5,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"028374F2,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,128,128,,0,8,1,,,,", +"02863604,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"02B9E7C2,NesNtsc,NES-SL1ROM,NES-SL1ROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"02C41438,Famicom,,,,179,512,,8,0,8,1,,,,", +"02CC3973,NesNtsc,NES-CNROM,NES-CN-ROM-256-01,,3,32,32,,0,0,0,v,,,", +"02D7976B,Famicom,HVC-NROM-256,3A,,0,32,8,,0,0,0,h,,,", +"02E0ADA4,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"02EE3706,NesNtsc,NES-SGROM,NES-SGROM-02,MMC1B2,1,256,,8,0,0,0,,,,", +"03272E9B,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"0354868A,Famicom,BANDAI-CNROM,BA-アスレチックス,,3,32,32,,0,0,0,v,FamilyTrainer,,", +"035DC2E9,Famicom,HVC-NROM-128,2,,0,16,8,,0,0,0,h,,,", +"039B4A9C,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"03B8DEFA,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"03D56CF7,Famicom,,,,1,128,,8,8,0,0,,,,", +"03E2898F,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,256,256,,0,8,1,,,,", +"03EC46AF,NesNtsc,NES-BTR,NES-BTR,FME-7,69,128,256,,8,0,0,,,,", +"03F899CD,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"03FB57B6,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"03FDEFAD,Famicom,,,,230,640,,8,0,0,0,v,,,", +"04109355,Famicom,IREM-UNROM,FC-00-02,,2,128,,8,0,0,0,h,,,", +"04142764,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"0430DB08,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"045E8CD8,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"04766130,NesNtsc,NES-SKROM,NES-SKROM-06,MMC1B2,1,128,128,,0,8,1,,,,", +"049325D9,Famicom,,,,112,128,256,,8,0,0,,,,", +"04BE2206,Famicom,,,,0,32,8,,0,0,0,v,,,", +"04D800DA,Famicom,,,,3,32,32,,0,0,0,v,,,", +"04F3354D,Famicom,,,,3,32,32,,0,0,0,v,,,", +"0504B007,NesNtsc,NES-NROM-128,NES-NROM-128-01,,0,16,8,,0,0,0,v,,,", +"05104517,NesPal,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,FourPlayer,,", +"051CD5F2,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,128,,0,0,0,,,,", +"052AE3F5,Famicom,,,,2,128,,8,0,0,0,v,,,", +"0537322A,NesNtsc,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,,,", +"05378607,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"0546BD12,Famicom,,,,4,128,128,,0,8,1,,,,", +"054BD3E9,Famicom,,,,74,512,256,2,1,8,1,,,,", +"054CB4EB,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"0554394F,NesNtsc,,,,79,32,32,,0,0,0,v,,,", +"058F23A2,NesNtsc,NES-TSROM,NES-TSROM-07,MMC3B,4,128,128,,8,0,0,,,,", +"059E0CDF,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"05A688C8,NesNtsc,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,h,,,", +"05CE560C,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"05F04EAC,Famicom,TAITO-X1-017,J9100231A,X1-017,82,128,128,,0,0,1,,,,", +"06144B4A,Famicom,IREM-74*161/161/21/138,LROG017-00,,77,128,32,8,0,0,0,,,,", +"062DCB6D,Famicom,,,,211,256,256,,0,0,0,,,,", +"063B1151,Famicom,,,,209,128,256,,0,0,0,,,,", +"063E5653,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"06406EB9,NesPal,,,,113,128,64,,0,0,0,,,,", +"06689AA4,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"06961BE4,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,256,128,,0,0,0,,,,", +"06D13D9E,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"06D72C83,NesNtsc,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"06F15215,Famicom,HVC-NROM-256,HVC-NROM-256K-02,,0,32,8,,0,0,0,h,,,", +"06F9C714,Famicom,JALECO-JF-25,JF-25,SS88006,18,128,128,,0,0,0,,,,", +"0719260C,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,,,", +"071D4C2D,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"073A0EBE,NesPal,NES-SLRROM,NES-SLRROM-01,MMC1B2,1,128,128,,0,0,0,,,,", +"074EC424,Famicom,HVC-SLROM,HVC-SLROM-01,MMC1,1,128,128,,0,0,0,,,,", +"078864F2,Famicom,,,,3,32,32,,0,0,0,h,,,", +"078CED30,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,0,8,1,,,,", +"07910BF9,Famicom,HVC-UNROM,HVC-UNROM-09,,2,128,,8,0,0,0,v,,,", +"0794F2A5,Famicom,HVC-SUROM,HVC-SUROM-01,MMC1B2,1,512,,8,0,8,1,,,,", +"07977186,Famicom,HVC-SLRROM,HVC-SLRROM-01,MMC1B2,1,128,128,,0,0,0,,,,", +"07D3F6CB,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"07D92C31,Famicom,,,,118,256,128,,0,8,1,,,,", +"07EB2C12,Famicom,,,,208,128,256,,0,0,0,,,,", +"0809E07E,Famicom,,,,2,128,,8,0,0,0,v,,,", +"083E4FC1,NesPal,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"084F61CD,Famicom,NAMCOT-3301,3301,,0,8,8,,0,0,0,h,,,", +"085DE7C9,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"087211F9,Famicom,,,,196,128,128,,0,0,0,,,,", +"0897021B,Famicom,SUNSOFT-FME-7,GRM-E301,SUNSOFT-5B,69,128,256,,0,0,0,,,,", +"08CF510F,Famicom,,,,83,128,256,,0,0,0,,,,", +"08E11357,Famicom,,,,0,32,8,,0,0,0,v,,,", +"0902C8F0,Famicom,HVC-SKROM,HVC-SKROM-01,MMC1A,1,128,128,,0,8,1,,,,", +"091ED5A9,Famicom,HVC-TLROM,HVC-TLROM-02,MMC3A,4,128,128,,0,0,0,,,,", +"092EC15C,Famicom,HVC-CNROM,HVC-CNROM-256K-01,,3,32,16,,0,0,0,v,,,", +"0939852F,NesNtsc,NES-SNROM,NES-SNROM-05,MMC1B2,1,128,,8,8,0,0,,FourPlayer,,", +"093E845F,Famicom,HVC-SJROM,HVC-SJROM-01,MMC1,1,128,32,,0,8,1,,,,", +"0955B54C,NesNtsc,AVE-NINA-06,NINA-06,,79,32,32,,0,0,0,h,,,", +"096D8364,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"0973F714,Famicom,,,,1,256,,8,0,8,1,,,,", +"09874777,NesNtsc,NES-ANROM,NES-ANROM-01,,7,128,,8,0,0,0,,,,", +"098C672A,Famicom,NAMCOT-163,LROG076-00,163,19,256,256,,0,8,1,,,,", +"099B8CAA,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"09C083B7,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"09C1FC7D,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1B2,1,256,,8,0,0,0,,,,", +"09C31CD4,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,32,32,,0,0,0,h,,,", +"09FFDF45,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B3,1,256,,8,0,8,1,,,,", +"0A0926BD,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"0A3FC393,Famicom,HVC-NROM-128,HVC-NROM-02,,0,16,8,,0,0,0,v,,,", +"0A42D84F,Famicom,HVC-UNROM,HVC-UNROM-05,,2,128,,8,0,0,0,v,,,", +"0A73A792,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1A,1,256,,8,0,0,0,,,,", +"0A7E62D4,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,,", +"0AA49929,Dendy,,,,4,256,256,,0,0,0,,,,", +"0AB26DB6,NesNtsc,COLORDREAMS-74*377,BC6,,11,128,128,,0,0,0,v,,,", +"0ABDD5CA,Famicom,,,,1,128,,8,8,0,0,,FourPlayer,,", +"0AC1AA8F,NesNtsc,NES-UNROM,NES-UN-ROM-03,,2,128,,8,0,0,0,v,,,", +"0AE3CC5E,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,128,128,,0,8,1,,,,", +"0AE6C9E2,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"0AEA38F7,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,64,64,,0,0,0,v,,,", +"0AFB395E,Famicom,HVC-ELROM,HVC-ELROM-01,MMC5,5,128,128,,0,0,0,,Zapper,,", +"0B0E128F,NesNtsc,NES-EVENT,NES-EVENT-02,MMC1B2,105,256,,8,8,0,0,,,,", +"0B13658B,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"0B1E9726,Famicom,,,,164,1024,,8,0,8,1,v,,,", +"0B404915,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"0B58880C,Famicom,HVC-NROM-128,3I,,0,16,8,,0,0,0,h,,,", +"0B6443D4,Famicom,,,,4,256,256,,0,0,0,,,,", +"0B7FFE6A,NesNtsc,,,,1,128,128,,0,0,0,,,,", +"0B8E8649,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"0B8F8128,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,FourPlayer,,", +"0BB4FD7A,Famicom,,,,236,512,,8,0,0,0,,,,", +"0BB5B3A0,Famicom,,,,66,128,32,,0,0,0,v,,,", +"0BBF80CB,Famicom,TAITO-X1-017,P3-044B,X1-017,82,128,256,,0,0,1,,,,", +"0BCAA4D7,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,,", +"0BDD8DD9,NesNtsc,NES-ANROM,NES-ANROM-03,,7,128,,8,0,0,0,,,,", +"0BE0A328,Famicom,,,,157,256,,8,0,0,0,,,,", +"0BF306D1,Famicom,,,,4,128,128,,0,0,0,,,,", +"0C1792DA,Famicom,NAMCOT-163,110F0,163,19,128,128,,0,0,1,,,,", +"0C1FE23D,Famicom,,,,0,32,8,,0,0,0,v,,,", +"0C222495,NesNtsc,MLT-ACTION52,023-N507,4520,228,1536,512,,0,0,0,,,,", +"0C2E7863,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,256,128,,0,0,0,,,,", +"0C401790,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,128,,8,8,0,0,,FourPlayer,,", +"0C47946D,Famicom,NAMCOT-175,60-19,175,210,128,128,,0,0,0,v,,,", +"0C5A6297,Famicom,SUNSOFT-3,UNK-SUNSOFT-FZII,Sunsoft-3,67,128,128,,0,0,0,,,,", +"0C5F40A6,Famicom,,,,4,256,256,,0,0,0,,,,", +"0C783F0C,NesPal,NES-NROM-128,NES-NROM-128-03,,0,16,8,,0,0,0,h,,,", +"0C7A7B3E,Famicom,,,,0,32,8,,0,0,0,v,,,", +"0C7E94C3,Famicom,,,,56,256,128,,8,0,0,,,,", +"0C918A65,Famicom,KONAMI-NROM-128,400302V,,0,16,8,,0,0,0,h,,,", +"0CC9FFEC,Famicom,KONAMI-VRC-2,350926,VRC2,23,128,128,,0,0,0,,,,", +"0CD79B71,Famicom,HVC-CNROM,N04,,3,32,32,,0,0,0,h,,,", +"0CF42E69,Famicom,BANDAI-LZ93D50+24C01,DRAGON BALL Z-B,FCG-3,159,128,128,,0,0,0,,,,", +"0D14285A,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"0D15687D,NesNtsc,,,,141,256,256,,0,0,0,h,,,", +"0D203DE5,NesNtsc,,,,141,256,256,,0,0,0,h,,,", +"0D3482D7,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,256,128,,0,0,0,,,,", +"0D65E7C7,Famicom,SUNSOFT-5B,FC-GMK,SUNSOFT-5B,69,256,128,,0,0,0,,,,", +"0D98DB53,Famicom,,,,182,256,256,,0,0,0,h,,,", +"0D9F5BD1,NesNtsc,NES-SNROM,NES-SNROM-05,MMC1B2,1,256,,8,0,8,1,,,,", +"0DA00298,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,256,128,,0,0,0,,,,", +"0DA0E723,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"0DA28A50,NesPal,NES-CNROM,NES-CNROM-06,,3,32,32,,0,0,0,h,FamilyFunFitness,,", +"0DA5E32E,Famicom,JALECO-JF-10,JF-10,,87,32,32,,0,0,0,v,,,", +"0DB4B382,Famicom,JALECO-JF-24,JF-24A,SS88006,18,128,128,,0,0,0,,,,", +"0DC53188,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1A,1,256,,8,0,0,0,,,,", +"0E1683C5,Famicom,TAITO-X1-005,P3-034A,X1-005,80,128,128,,0,0,1,,,,", +"0E197A5E,Famicom,,,,0,32,8,,0,0,0,h,,,", +"0E76E4C1,Famicom,,,,190,256,128,,0,0,0,,,,", +"0E997CF6,Famicom,HVC-SNROM,HVC-SNROM-08,MMC1B2,1,256,,8,0,8,1,,,,", +"0EAA7515,Famicom,,,,2,128,,8,0,0,0,v,,,", +"0EC6C023,NesNtsc,NES-EKROM,NES-EKROM-01,MMC5,5,256,256,,0,8,1,,,,", +"0ED96F42,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,256,,0,0,0,,,,", +"0EF730E7,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"0F05FF0A,Famicom,HVC-CNROM+SECURITY,HVC-CNROM-256K-01,,185,32,8,,0,0,0,v,,,", +"0F141525,Famicom,TAITO-74*161/161/32,ARKANOID2,,152,64,128,,0,0,0,,Arkanoid,,", +"0F1BABE7,Famicom,JALECO-JF-27,JF-27B,SS88006,18,128,128,,0,8,1,,,,", +"0F1CC048,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"0F5410E3,Famicom,,,,2,128,,8,0,0,0,h,,,", +"0F5F1F86,Famicom,,,,1,128,128,,0,0,0,,,,", +"0F86FEB4,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"0FA322C2,VsUni,,,,99,32,16,,0,0,0,4,,,", +"0FB244C8,Famicom,,,,4,128,128,,8,0,0,,,,", +"0FC72A80,NesNtsc,,,,1,128,128,,0,0,0,,,,", +"0FC8E9B7,Famicom,HVC-TSROM,HVC-TSROM-03,MMC3B,4,128,128,,8,0,0,,,,", +"0FCFC04D,NesNtsc,NES-SGROM,NES-SGROM-02,MMC1B2,1,256,,8,0,0,0,,,,", +"0FD6BFC8,Famicom,,,,4,256,256,,0,0,0,,,,", +"0FEC90D2,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,v,,,", +"0FF6A3B5,Famicom,SUNSOFT-FME-7,FC-DBT-1,FME-7,69,128,256,,8,0,0,,,,", +"0FFDE258,NesNtsc,TENGEN-800030,800030-01 REV A,337001,206,64,64,,0,0,0,h,,,", +"10092781,Famicom,,,,1,128,128,,0,0,0,,,,", +"10119E6B,Famicom,SUNSOFT-1,SUNSOFT-4,Sunsoft-1,93,128,,8,0,0,0,h,,,", +"10124E09,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,64,64,,0,0,0,v,,,", +"10155A92,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"10180072,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"1027C432,Famicom,HVC-UOROM,HVC-UOROM-01,,2,256,,8,0,0,0,v,,,", +"103E7E7F,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"104D84DF,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,v,,,", +"1066B66D,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,128,128,,0,8,1,,,,", +"109F1ACC,Famicom,,,,3,32,32,,0,0,0,h,,,", +"10B0F8B0,Famicom,TAITO-X1-005,P3-33A,X1-005,80,128,128,,0,0,0,,,,", +"10BAEEF3,Famicom,HVC-NROM-256,3A,,0,32,8,,0,0,0,v,,,", +"10C8F2FA,Famicom,NAMCOT-163,60-12,163,19,128,128,,0,8,1,,,,", +"10C9A789,Famicom,,,,19,256,256,,0,8,1,,,,", +"10D62149,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"1104A5B9,Famicom,,,,4,256,256,,0,8,1,,,,", +"1117CE85,Famicom,,,,0,32,8,,0,0,0,h,,,", +"11D08CC6,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,32,32,,0,0,0,v,,,", +"12012CD9,VsUni,,,,206,128,32,,0,0,0,h,,,", +"12078AFD,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"1208E754,Famicom,HVC-SNROM,HVC-SNROM-07,MMC1A,1,256,,8,0,8,1,,,,", +"12481CC0,NesNtsc,NES-TKEPROM,NES-TKEPROM-01,MMC3B,4,256,128,,0,0,0,,,,", +"1248326D,Famicom,HVC-TKROM,HVC-TKROM-01,MMC3A,4,128,128,,0,8,1,,,,", +"126EBF66,NesNtsc,NES-TSROM,NES-TSROM-07,MMC3B,4,128,128,,8,0,0,,,,", +"12748678,NesNtsc,NES-TKEPROM,NES-TKEPROM-01,MMC3B,4,128,256,,0,8,1,,,,", +"127D76F4,NesPal,NES-TKROM,NES-TKROM-10,MMC3C,4,512,256,,0,8,1,,,,", +"12906664,NesNtsc,NES-CNROM,NES-CNROM-06,,3,32,32,,0,0,0,v,,,", +"12B2C361,NesNtsc,NES-ANROM,NES-ANROM-02,,7,128,,8,0,0,0,,,,", +"12B57E82,NesNtsc,,,,1,128,128,,0,0,0,,,,", +"12C6D5C7,NesNtsc,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,h,,,", +"12D2B6B0,Famicom,,,,4,128,128,,0,0,0,,,,", +"12E6CB79,Famicom,HVC-NROM-128,9011-06,,0,16,8,,0,0,0,h,,,", +"12EE543E,Famicom,,,,3,32,32,,0,0,0,v,,,", +"12F048DF,Famicom,JALECO-JF-22,JF-22,VRC1,75,128,128,,0,0,0,,,,", +"1300A8B7,Famicom,NAMCOT-3413,023-01,109,206,64,32,,0,0,0,v,,,", +"1306EE62,Famicom,,,,90,256,256,,0,0,0,h,,,", +"13332BFA,NesNtsc,,,,0,16,8,,0,0,0,v,,,", +"1335CB05,NesNtsc,NES-TKROM,NES-TKROM-01,MMC3B,4,256,128,,0,8,1,,,,", +"1347D6C9,Famicom,,,,0,32,8,,0,0,0,h,,,", +"1352F1B9,NesNtsc,NES-SNROM,NES-SNROM-05,MMC1B2,1,128,,8,0,8,1,,FourPlayer,,", +"1353A134,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"136CA449,Famicom,BANDAI-LZ93D50+24C02,DRAGON BALL Z-B,FCG-3,16,256,256,,0,0,0,,,,", +"138862C5,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"138F0BB0,Famicom,,,,2,128,,8,0,0,0,v,,,", +"1394F57E,NesNtsc,NES-SEROM,NES-SEROM-03,MMC1B1,1,32,16,,0,0,0,,,,", +"139B15BA,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"139EB5B5,NesNtsc,TENGEN-800030,800030-01 REV A,337001,206,128,64,,0,0,0,h,,,", +"13C6617E,NesNtsc,NES-B4,NES-B4,MMC3B,4,128,128,,0,0,0,,,,", +"13C774DD,NesNtsc,NES-TL1ROM,NES-TL1ROM-01,MMC3A,4,128,128,,0,0,0,,,,", +"13D5B1A4,NesNtsc,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,,,", +"13DA2122,Famicom,NAMCOT-3443,3443,118,88,128,128,,0,0,0,v,,,", +"13E01649,NesPal,NES-TKROM,NES-TKROM-02,MMC3B,4,128,128,,0,8,1,,,,", +"14105C13,NesNtsc,COLORDREAMS-74*377,BC6,,11,128,128,,0,0,0,v,,,", +"1411005B,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3B,4,128,128,,0,8,1,,,,", +"14255C57,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"1425D7F4,NesNtsc,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,h,,,", +"14374128,Famicom,HVC-SKEPROM,HVC-SKEPROM-01,MMC1B2,1,128,128,,0,0,0,,,,", +"143B2F27,Famicom,,,,60,64,32,,0,0,0,h,,,", +"145A9A6C,Famicom,HVC-SROM,HVC-SROM-03,,0,16,8,,0,0,0,h,,,", +"1460EC7B,Dendy,,,,15,128,,8,8,0,0,h,SuborKeyboard,,", +"147733DF,Famicom,,,,226,2048,,8,0,0,0,,,,", +"1488E95F,NesNtsc,,,,146,64,64,,0,0,0,v,,,", +"149C0EC3,Famicom,,,,1,128,128,,0,8,1,,,,", +"14A81635,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVB,,11,64,64,,0,0,0,v,,,", +"14CD576E,Famicom,,,,1,128,128,,0,0,0,,,,", +"1500E835,Famicom,,,,48,128,256,,0,0,0,,,,", +"1512E0B1,Famicom,,,,0,32,8,,0,0,0,v,,,", +"15141401,Famicom,,,,4,128,128,,0,0,0,,,,", +"153EB948,Famicom,,,,4,64,64,,0,0,0,,,,", +"1545BD13,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1B3,1,256,,8,0,0,0,,PartyTap,,", +"1570A0C8,NesPal,TXC-PT8154,PN\01-22018-400,PT8154,189,128,128,,0,0,0,,,,", +"1590CF62,NesPal,NES-TKROM,NES-TKROM-10,MMC3C,4,128,128,,0,8,1,,,,", +"159EF3C1,VsUni,,,,99,32,16,,0,0,0,4,,,", +"15BFC1B4,Famicom,,,,57,128,128,,0,0,0,,,,", +"15F0D3F1,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"15FE6D0F,NesNtsc,NES-ETROM,NES-ETROM-01,MMC5,5,256,128,,8,8,1,,,,", +"161D717B,NesNtsc,NES-TL1ROM,NES-TL1ROM-01,MMC3B,4,128,128,,0,0,0,,,,", +"162CCBD0,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B3,1,128,128,,0,0,0,,,,", +"163A5EDA,Famicom,,,,4,128,256,,0,0,0,,,,", +"163ECCAE,Famicom,KONAMI-NROM-128,400302V,,0,16,8,,0,0,0,h,,,", +"1677D21D,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"16A0A3A3,Famicom,HVC-SNROM,HVC-SNROM-06,MMC1A,1,256,,8,8,0,0,,,,", +"16AA4E2D,VsUni,,,,99,32,16,,0,0,0,4,Zapper,,", +"16E93F39,Famicom,,,,1,128,128,,0,0,0,,,,", +"16EBA50A,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,,", +"171251E3,Famicom,HVC-NROM-256,3E,,0,32,8,,0,0,0,h,,,", +"17389E3D,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"174F860A,Famicom,HVC-SNROM,HVC-SNROM-04,MMC1,1,128,,8,0,8,1,,,,", +"175C4A3C,Famicom,JALECO-JF-20,JF-20,VRC1,75,128,128,,0,0,0,,,,", +"175EDA0B,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"1771EA8F,NesNtsc,NES-CNROM,NES-CN-ROM-256-01,,3,32,32,,0,0,0,v,PowerPad,,", +"1773F76D,Famicom,TAITO-CNROM,J9100189A,,3,32,32,,0,0,0,h,,,", +"179A0D57,NesNtsc,NES-TKROM,NES-TKROM-02,MMC3C,4,256,128,,0,8,1,,,,", +"17D43AF9,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"18027A1F,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"1829616A,Famicom,HVC-CNROM,HVC-CNROM-2,,3,32,32,,0,0,0,v,,,", +"183859D2,Famicom,BANDAI-LZ93D50+24C01,DRAGON BALL Z,FCG-3,159,256,256,,0,0,0,,,,", +"184C2124,Famicom,HVC-EWROM,HVC-EWROM-01,MMC5,5,256,256,,0,32,1,,,,", +"18A04825,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"18A2E74F,NesNtsc,NES-TGROM,NES-TGROM-01,MMC3B,4,512,,8,0,0,0,,,,", +"18A885B0,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"18A9F0D9,NesNtsc,NES-TKROM,NES-TKROM-10,MMC3B,4,256,128,,0,8,1,,,,", +"18B249E5,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"18D44BBA,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"192D546F,NesNtsc,NES-TL1ROM,NES-TL1ROM-01,MMC3B,4,128,128,,0,0,0,,,,", +"19411BD7,Famicom,,,,3,32,32,,0,0,0,h,,,", +"1948810E,NesNtsc,COLORDREAMS-74*377,BC5,,11,128,128,,0,0,0,v,,,", +"194942DB,NesNtsc,,,,11,64,64,,0,0,0,v,,,", +"1973AEA8,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"198C2F41,Famicom,HVC-SEROM,HVC-SEROM-01,MMC1B2,1,32,32,,0,0,0,,,,", +"198F1C37,NesNtsc,Sachen-8259A,,,65000,64,32,,0,0,0,h,,,", +"1992D163,NesNtsc,NES-TEROM,NES-TEROM-03,MMC3B,4,32,32,,0,0,0,,,,", +"19A7F794,Famicom,,,,2,128,,8,0,0,0,h,,,", +"19C1ED51,Famicom,,,,243,64,64,,0,0,0,h,,,", +"19CE7F12,NesPal,,,,0,32,8,,0,0,0,v,,,", +"19E81461,Famicom,,,,157,256,,8,0,0,0,,,,", +"19F4CA6B,NesNtsc,NES-SJROM,NES-SJROM-03,MMC1B2,1,128,32,,8,0,0,,,,", +"1A128930,Famicom,,,,241,512,,8,0,8,1,v,SuborKeyboard,,", +"1A1D3CA2,Famicom,,,,2,128,,8,0,0,0,v,,,", +"1A2A7EF7,Famicom,,,,178,512,,8,0,8,1,,,,", +"1A2EA6B9,Famicom,,,,1,128,,8,0,0,0,,,,", +"1A39343C,Famicom,,,,0,16,8,,0,0,0,v,,,", +"1A3A22A1,NesNtsc,CAMERICA-GAMEGENIE,CODEMASTERS 9205,[GENIE_IC],0,4,,,0,0,0,h,,,", +"1A7E97ED,Famicom,,,,1,256,,8,0,0,0,,,,", +"1AA0DBAF,Famicom,,,,3,32,16,,0,0,0,v,,,", +"1AC701B5,Famicom,HVC-SNROM,HVC-SNROM-07,MMC1A,1,256,,8,0,8,1,,,,", +"1AE7B933,NesNtsc,NES-SGROM,NES-SGROM-03,MMC1B2,1,128,,8,0,0,0,,PowerGlove,,", +"1B0909AB,Famicom,,,,3,32,16,,0,0,0,v,,,", +"1B219E01,Famicom,,,,15,1024,,8,0,0,0,,,,", +"1B3A3DB3,Famicom,,,,4,256,256,,0,0,0,,,,", +"1B421E9C,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,,,", +"1B45A73E,Famicom,JALECO-JF-04,JF,,0,16,8,,0,0,0,h,,,", +"1B71CCDB,NesNtsc,NES-TSROM,NES-TSROM-07,MMC3B,4,128,128,,8,0,0,,FourPlayer,,", +"1B7BD879,Famicom,,,,1,128,128,,0,0,0,,,,", +"1B932BEA,NesPal,NES-TGROM,NES-TGROM-01,MMC3C,4,512,,8,0,0,0,,,,", +"1BC0BE6C,Famicom,,,,195,512,256,,9,0,0,4,,,", +"1BC686A8,NesNtsc,CAMERICA-BF9097,BIC-62,BF9097,71,128,,8,0,0,0,,,,", +"1C212E9D,NesPal,NES-TQROM,NES-TQROM-01,MMC3B,119,128,64,8,0,0,0,,,,", +"1C2A58FF,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,128,,0,0,0,,,,", +"1C31DD60,NesNtsc,NES-CNROM,NES-CN-ROM-256-04,,3,32,32,,0,0,0,h,,,", +"1C66BAF6,Famicom,HVC-UNROM,HVC-UNROM-01,,2,128,,8,0,0,0,v,,,", +"1C6BA3B2,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"1C7C7A75,NesNtsc,COLORDREAMS,,,11,64,64,,0,0,0,v,,N,", +"1C9EA55C,NesNtsc,,,,1,128,128,,0,0,0,,,,", +"1CA45A6D,VsUni,,,,99,32,16,,0,0,0,4,,,", +"1CB9A019,NesNtsc,NES-TKEPROM,NES-TKEPROM-02,MMC3C,4,128,128,,0,0,0,,FourPlayer,,", +"1CED086F,Famicom,HVC-ETROM,HVC-ETROM-01,MMC5,5,256,128,,8,8,1,,,,", +"1CEE0C21,NesNtsc,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,,,", +"1CF48EF1,Famicom,,,,3,32,32,,0,0,0,h,,,", +"1D0F4D6B,NesNtsc,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"1D20A5C6,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"1D2D93FF,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,256,,0,0,0,,,,", +"1D41CC8C,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"1D5B03A5,NesNtsc,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"1D6DECCC,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B3,1,256,,8,0,0,0,,,,", +"1D715C1A,Famicom,,,,4,256,256,,0,8,1,,,,", +"1D89610E,Famicom,HVC-TSROM,HVC-TSROM-04,MMC3C,4,128,256,,8,0,0,,,,", +"1D8BF724,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"1DA2C17B,Famicom,,,,0,16,8,,0,0,0,h,,,", +"1DAC6208,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"1DB07C0D,NesNtsc,NES-NROM-256,NES-NROM-256-04,,0,32,8,,0,0,0,h,,,", +"1DBD1D2B,Famicom,HVC-NROM-256,HVC-NROM-256K-02,,0,32,8,,0,0,0,v,,,", +"1DC0F740,Famicom,NAMCOT-340,60-22,340,210,256,128,,0,0,0,,,,", +"1E472E7A,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,0,8,1,,,,", +"1E4D3831,Famicom,HVC-SFROM,SF-01A,MMC1B2,1,128,32,,0,0,0,,,,", +"1E66861F,Playchoice,,,,1,128,128,,0,0,0,,,,", +"1EB4A920,NesNtsc,AVE-NINA-06,NINA-06,,79,32,32,,0,0,0,v,,,", +"1EBB5B42,NesNtsc,NES-SNROM,NES-SNROM-06,MMC1B2,1,128,,8,8,0,0,,FourPlayer,,", +"1EC1DFEB,NesNtsc,UNL-255in1,,,65000,64,32,,0,0,0,v,,,", +"1ED48C5C,Famicom,HVC-UNROM,HVC-UNROM-09,,2,128,,8,0,0,0,v,,,", +"1ED5C801,NesPal,NES-TSROM,NES-TSROM-08,MMC3B,4,256,128,,8,0,0,,,,", +"1ED7D6BE,Famicom,HVC-TLROM,HVC-TLROM-02,MMC3A,4,128,128,,0,0,0,,,,", +"1EEB3A4E,Famicom,,,,1,128,128,,0,0,0,,,,", +"1EFE38EB,NesPal,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,,,", +"1F1326D4,Famicom,,,,121,256,256,,0,0,0,,,,", +"1F2D9DB7,Famicom,HVC-NROM-256,HVC-NROM-256K-02,,0,32,8,,0,0,0,v,,,", +"1F6660E6,NesPal,NES-SCROM,NES-SCROM-03,MMC1B2,1,64,128,,0,0,0,,Zapper,,", +"1F6EA423,NesNtsc,NES-SKROM,NES-SKROM-04,MMC1B2,1,128,128,,0,8,1,,,,", +"1F74EA6C,Famicom,,,,2,128,,8,0,0,0,h,,,", +"1FA8C4A4,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"2019FE65,VsUni,,,,68,128,128,,0,0,0,,,,", +"20353E63,NesNtsc,NES-SFROM,NES-SFROM-03,MMC1B2,1,128,64,,0,0,0,,,,", +"2055971A,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"2061772A,Famicom,HVC-UNROM,HVC-UNROM-10,,2,128,,8,0,0,0,v,,,", +"207E618C,Famicom,,,,0,16,8,,0,0,0,v,,,", +"208DF309,Famicom,,,,0,32,8,,0,0,0,v,,,", +"209B4BED,Famicom,KONAMI-VRC-6,351949A,VRC6,26,256,128,,0,8,1,,,,", +"209F3587,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"20A5219B,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"20AF7E1A,Famicom,,,,4,128,128,,0,0,0,,,,", +"20C5D187,Famicom,,,,4,128,128,,0,0,0,,,,", +"20C795EB,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"20CC079D,Famicom,HVC-TKROM,HVC-TKROM-01,MMC3A,4,256,128,,0,8,1,,,,", +"20DF0149,Famicom,,,,45,512,512,,0,0,0,,,,", +"20F98977,Famicom,JALECO-JF-05,JF-05,,87,16,16,,0,0,0,v,,,", +"20F98F2A,Famicom,TAITO-74*161/161/32,,,152,128,128,,0,0,0,,,,", +"213CB3FB,Famicom,HVC-TLROM,HVC-TLROM-03,MMC3A,4,128,128,,0,0,0,,FourPlayer,,", +"2194BB29,Famicom,,,,159,256,256,,0,0,0,,,,", +"219DFABF,Famicom,,,,2,128,,8,0,0,0,v,,,", +"21A653C7,VsUni,NES-DRROM,,,206,32,32,2,0,0,0,,,,", +"21DD2174,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1,1,128,128,,0,0,0,,TurboFile,,", +"21F2A1A6,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"21F85681,Famicom,KONAMI-74*139/74,302017A,,87,32,16,,0,0,0,v,KonamiHypershot,,", +"21F8C4AB,Famicom,SUNSOFT-2,SUNSOFT-3,Sunsoft-2,89,128,128,,0,0,0,,,,", +"2220E14A,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,,", +"2225C20F,NesNtsc,NES-SOROM,NES-SOROM-01,MMC1B2,1,256,,8,8,8,1,,,,", +"22276213,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,64,64,,0,0,0,v,,,", +"227CF577,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"22A228BD,Famicom,,,,3,32,32,,0,0,0,h,,,", +"22A711C6,Famicom,,,,0,32,8,,0,0,0,h,,,", +"22AB9694,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"22D6D5BD,Famicom,NAMCOT-3416,3416,118,206,128,64,,0,0,0,v,,,", +"22EEEC6D,Famicom,,,,3,32,32,,0,0,0,v,,,", +"22F95FF1,Famicom,,,,0,32,8,,0,0,0,h,,,", +"231BC76E,NesPal,,,,11,32,32,,0,0,0,v,Zapper,,", +"2328046E,NesNtsc,NES-AOROM,NES-AOROM-02,,7,256,,8,0,0,0,,,,", +"23386B90,Famicom,,,,83,256,512,,0,0,0,,,,", +"2370C0A9,NesNtsc,ACCLAIM-MC-ACC,53361-2,MC-ACC,4,128,128,,0,0,0,,,,", +"238E1848,NesNtsc,,,,3,32,32,,0,0,0,h,,,", +"2394AE1C,Famicom,,,,150,32,64,,0,0,0,,,,", +"23B87A6D,Famicom,,,,0,32,8,,0,0,0,v,,,", +"23BEFF5E,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"23BF0507,Famicom,,,,1,128,128,,0,0,0,,,,", +"23C3FB2D,NesNtsc,NES-SKROM,NES-SKROM-04,MMC1B2,1,128,128,,0,8,1,,,,", +"23D17F5E,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,256,128,,0,0,0,,Zapper,,", +"23D7D48F,NesPal,NES-AOROM,NES-AOROM-03,,7,256,,8,0,0,0,,,,", +"23D91BC6,Famicom,HVC-NROM-128,2I,,0,16,8,,0,0,0,v,,,", +"23E4906A,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"23E9C736,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"23F4B48F,Famicom,HVC-TGROM,HVC-TGROM-01,MMC3C,4,256,,8,0,0,0,,,,", +"240C6DE8,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"240DE736,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,,", +"243A8735,Famicom,IREM-G101,UNK-IF-13,G-101,32,128,128,,0,0,0,,,,", +"2447E03B,Famicom,NAMCOT-340,CS 0003,340,210,128,128,,0,0,0,v,,,", +"24598791,Famicom,HVC-RROM,HVC-RROM-05,,0,16,8,,0,0,0,v,Zapper,,", +"24673747,Famicom,,,,3,32,32,,0,0,0,v,,,", +"2470402B,Famicom,,,,1,128,32,,8,0,0,,,,", +"2472C3EB,NesNtsc,AVE-NINA-06,NINA-06,,79,16,8,,0,0,0,h,,,", +"247CC73D,Famicom,,,,150,32,16,,0,0,0,,,,", +"24826927,Famicom,,,,2,128,,8,0,0,0,h,,,", +"248566A7,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"24BA12DD,NesNtsc,CAMERICA-ALGN,ALGNV1-1,CF30288,71,256,,16,0,0,0,v,,,", +"24BA90CA,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"24EECC15,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"24F4F397,Famicom,,,,4,128,128,,0,8,1,,,,", +"250F7913,Famicom,HVC-SNROM,HVC-SNROM-03,MMC1,1,256,,8,0,8,1,,,,", +"2526C943,Famicom,HVC-GNROM,GN-01C,,66,128,32,,0,0,0,v,,,", +"252FFD12,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"2538D860,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"2545214C,NesNtsc,NES-SAROM,NES-SAROM-01,MMC1B2,1,64,16,,0,8,1,,,,", +"25468546,Famicom,BANDAI-CNROM,BA-ゲゲゲ,,3,32,32,,0,0,0,v,,,", +"2554F9FD,Famicom,,,,0,32,8,,0,0,0,h,,,", +"25551F3F,NesPal,NES-PNROM,NES-PNROM-05,MMC2-L,9,128,128,,0,0,0,,,,", +"256392F1,NesPal,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"2565786D,Famicom,,,,19,128,256,,0,0,0,,,,", +"25952141,NesNtsc,NES-TKROM,NES-TKROM-10,MMC3C,4,512,128,,0,8,1,,,,", +"25EDAF5C,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"26049798,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3B,4,256,256,,0,8,1,,,,", +"262B5A1D,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"263AC8A0,NesNtsc,NES-TFROM,NES-TFROM-01,MMC3A,4,128,64,,0,0,0,,,,", +"264F26B1,Famicom,HVC-SL1ROM,HVC-SL1ROM-01,MMC1A,1,128,128,,0,0,0,,,,", +"2651F227,NesNtsc,NES-TKROM,NES-TKROM-10,MMC3C,4,128,256,,0,8,1,,,,", +"26535EF5,NesNtsc,NES-ANROM,NES-ANROM-01,,7,128,,8,0,0,0,,,,", +"26796758,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"267DE4CC,NesNtsc,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,v,,,", +"267E592F,Famicom,NAMCOT-3406,3406,108,206,128,64,,0,0,0,h,,,", +"268E39D0,Famicom,,,,1,128,128,,0,0,0,,,,", +"26BB1C8C,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,,,", +"26BD6EC6,Famicom,NAMCOT-3303,3303,,0,32,8,,0,0,0,h,,,", +"26BFED27,Famicom,HVC-TLROM,HVC-TLROM-02,MMC3A,4,128,128,,0,0,0,,,,", +"26CEC726,Famicom,HVC-SNROM,HVC-SNROM-07,MMC1A,1,256,,8,0,8,1,,,,", +"26D3082C,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"26E39935,Famicom,,,,4,256,256,,0,0,0,,,,", +"26E82008,Famicom,,,,4,128,128,,0,0,0,,,,", +"26EF50E3,Famicom,,,,195,512,256,,9,0,0,4,,,", +"2705EAEB,NesNtsc,MLT-MAXI15,D-1012,4053,234,512,512,,0,0,0,,,,", +"270EAED5,Famicom,HVC-NROM-256,3A,,0,32,8,,0,0,0,v,,,", +"2746B39E,Famicom,HVC-TSROM,HVC-TSROM-04,MMC3C,4,128,128,,8,0,0,,,,", +"276237B3,Famicom,,,,206,128,64,,0,0,0,h,,,", +"276AC722,Famicom,BANDAI-LZ93D50+24C01,DRAGON BALL Z,FCG-3,159,256,128,,0,0,0,,,,", +"2772F17C,Famicom,,,,3,32,32,,0,0,0,v,,,", +"27738241,Famicom,HVC-SROM,HVC-SROM-03,,0,16,8,,0,0,0,h,,,", +"27777635,NesNtsc,NES-NROM-256,NES-NROM-256-02,,0,32,8,,0,0,0,v,,,", +"279710DC,NesNtsc,NES-AOROM,NES-AOROM-03,,7,256,,8,0,0,0,,,,", +"27AA3933,NesNtsc,NES-NROM-256,NES-NROM-256-04,,0,32,8,,0,0,0,v,,,", +"27C16011,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1B2,1,256,,8,0,0,0,,,,", +"27CA0679,NesPal,NES-AMROM,,,7,128,,8,0,0,0,,FourPlayer,,", +"27D14A54,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,h,,,", +"27D34A57,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"27DDF227,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,v,,,", +"27F3A202,Famicom,,,,4,128,256,,0,0,0,,,,", +"27F8D0D2,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"280AD3C5,NesPal,NES-SCROM,NES-SCROM-03,MMC1B2,1,64,128,,0,0,0,,,,", +"281326ED,Famicom,,,,142,128,,8,0,0,0,v,,,", +"282745C5,Famicom,,,,141,256,,8,0,0,0,,,,", +"283AD224,Famicom,,,,32,256,128,,0,0,0,,,,", +"28492586,NesPal,NES-TEROM,NES-TEROM-04,MMC3B,4,32,32,,0,0,0,,,,", +"284E65E8,NesNtsc,,,,0,16,8,,0,0,0,v,,,", +"2856111F,NesNtsc,VIRGIN-SNROM,SN1-ROM AW REV. A,MMC1B2,1,256,,8,0,8,1,,,,", +"2858933B,Famicom,HVC-SNROM,HVC-SNROM-04,MMC1A,1,256,,8,0,8,1,,,,", +"286FCD20,Famicom,KONAMI-VRC-4,352889,VRC4,21,256,256,,0,8,1,,,,", +"28A377FC,Famicom,,,,58,128,64,,0,0,0,,,,", +"28C1D3D5,Famicom,HVC-UNROM,HVC-UNROM-05,,2,128,,8,0,0,0,v,,,", +"28C2DFCE,Famicom,,,,1,128,128,,0,0,0,,,,", +"28F9B41F,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,256,128,,0,0,0,,,,", +"28FB71AE,NesNtsc,NES-SGROM,NES-SGROM-02,MMC1B2,1,256,,8,0,0,0,,,,", +"291BCD7D,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1A,1,256,,8,0,0,0,,,,", +"29582CA1,Famicom,,,,150,32,128,,0,0,0,,,,", +"2969A5C1,NesNtsc,AVE-NINA-03,NINA-03 REV. A,,79,16,8,,0,0,0,h,,,", +"297198B9,Famicom,HVC-TEROM,UNK-HVC-TEROM,MMC3A,4,32,32,,0,0,0,,,,", +"29DD37F4,NesNtsc,SUNSOFT-5A,SAP-E301,Sunsoft-5A,69,128,256,,8,0,0,,,,", +"29DE87AF,Famicom,BANDAI-PT-554,BA-エアロビ,M50805,3,32,32,,0,0,0,h,FamilyTrainer,,", +"29E173FF,Famicom,TAITO-NROM-256,P3-016B,,0,32,8,,0,0,0,v,,,", +"29EC0FD1,Famicom,,,,4,256,128,,0,0,0,,,,", +"2A01F9D1,Famicom,NAMCOT-3416,LROG048-00,109,206,128,64,,0,0,0,v,,,", +"2A1919FE,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,128,128,,0,8,1,,,,", +"2A3CA509,Famicom,,,,4,128,128,,0,0,0,,TurboFile,,", +"2A46B57F,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,h,,,", +"2A5F4C5A,Famicom,,,,132,32,32,,0,0,0,v,,,", +"2A6559A1,Famicom,TAITO-TC0190FMC,J9100161A,TC0190FMC,33,128,128,,0,0,0,,Zapper,,", +"2A662AC7,NesNtsc,NES-AOROM,NES-AOROM-01,,7,128,,8,0,0,0,,,,", +"2A7D3ADF,Famicom,NAMCOT-163,110F0,163,19,128,128,,0,0,0,,,,", +"2A971204,Famicom,,,,0,32,8,,0,0,0,v,,,", +"2AC5233C,Famicom,KONAMI-UNROM,006,,2,128,,8,0,0,0,v,,,", +"2AC87283,NesNtsc,NES-NROM-256,NES-NROM-256-03,,0,32,8,,0,0,0,h,,,", +"2AE97660,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"2AF8332A,Dendy,,,,0,32,,8,0,0,0,v,,,", +"2B11E0B0,Famicom,,,,1,256,,8,8,8,1,,,,", +"2B1497DC,NesPal,NES-TKROM,NES-TKROM-02,MMC3B,4,128,128,,0,8,1,,,,", +"2B160BF0,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,128,,0,0,0,,,,", +"2B20B022,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,256,,0,0,0,,,,", +"2B378D11,NesNtsc,NES-AOROM,NES-AOROM-03,,7,256,,8,0,0,0,,,,", +"2B462010,Famicom,HVC-RROM,HVC-RROM-05S,,0,16,8,,0,0,0,h,,,", +"2B4D80AE,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"2B511B51,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"2B85420E,VsUni,,,,1,64,32,,0,0,0,,,,", +"2BB3DABE,Famicom,TAITO-X1-017,J9100230A,X1-017,82,128,256,,0,0,1,,,,", +"2BB6A0F8,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"2BBA037A,Famicom,,,,60,128,64,,0,0,0,,,,", +"2BC25D5A,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"2BC67AA8,NesNtsc,NES-TGROM,NES-TGROM-01,MMC3C,4,512,,8,0,0,0,,,,", +"2BCF2132,Famicom,HVC-TLROM,HVC-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"2BE254E9,Famicom,NAMCOT-3312,3312,,0,32,8,,0,0,0,v,,,", +"2BF0F9C5,NesPal,NES-NROM-128,NES-NROM-128-04,,0,16,8,,0,0,0,h,,,", +"2BF61C53,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"2BFB1186,Famicom,HVC-SKROM,HVC-SKROM-01,MMC1A,1,128,128,,0,8,1,,,,", +"2C043781,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,h,,,", +"2C088DC5,NesPal,NES-TKROM,NES-TKROM-10,MMC3C,4,512,256,,0,8,1,,,,", +"2C163614,Famicom,,,,0,32,8,,0,0,0,v,,,", +"2C2DDFB4,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,,", +"2C33161D,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"2C4421B2,Famicom,BANDAI-FCG-2,BA-アクマ,FCG-2,16,128,128,,0,0,0,,,,", +"2C5908A7,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,,", +"2C7D68F3,Famicom,NAMCOT-NROM-128,LROG068-00,,0,16,8,,0,0,0,h,,,", +"2C818014,NesNtsc,NES-PNROM,NES-PNROM-03,MMC2-L,9,128,128,,0,0,0,,,,", +"2CA9BF7F,Famicom,,,,223,512,,8,0,8,1,,,,", +"2CAAE01C,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"2D020965,NesPal,NES-SNROM,NES-SNROM-05,MMC1B3,1,256,,8,0,8,1,,,,", +"2D1FEE70,NesNtsc,,,,4,128,128,,0,8,1,,,,", +"2D273AA4,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,h,,,", +"2D2F91B8,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B3,1,128,128,,0,0,0,,,,", +"2D41EF92,NesNtsc,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"2D664D99,Famicom,HVC-TGROM,HVC-TGROM-01,MMC3C,4,512,,8,0,0,0,,,,", +"2D75C7A9,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"2D782595,Famicom,,,,0,16,8,,0,0,0,v,,,", +"2DB7C31E,Famicom,,,,1,128,128,,0,0,0,,,,", +"2DC05A6F,Famicom,HVC-NROM-256,3I,,0,32,8,,0,0,0,v,,,", +"2DC331A2,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"2DDC2DC3,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"2DF81316,Famicom,HVC-TLROM,TL-01A,MMC3B,4,128,128,,0,0,0,,,,", +"2DFF7FDC,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"2E0741B6,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"2E1E7FD8,Famicom,,,,4,128,128,,0,0,0,,,,", +"2E2ACAE9,Famicom,HVC-SNROM,HVC-SNROM-08,MMC1B2,1,256,,8,8,0,0,,,,", +"2E326A1D,NesNtsc,TENGEN-800002,800002-01 REV C,337001,206,64,32,,0,0,0,v,,,", +"2E563C66,Famicom,NAMCOT-3415,3415,109,206,128,32,,0,0,0,v,,,", +"2E6301ED,NesNtsc,NES-TSROM,NES-TSROM-07,MMC3B,4,256,128,,8,0,0,,,,", +"2E68ACFC,Famicom,HVC-CNROM,HVC-CNROM-256K-01,,3,32,32,,0,0,0,h,,,", +"2E6B1432,Famicom,,,,0,32,8,,0,0,0,v,,,", +"2E6EE98D,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,FourPlayer,,", +"2EA8CC16,NesNtsc,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,h,,,", +"2EBD5FD6,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"2EBF2E0D,Famicom,,,,1,128,128,,0,0,0,,,,", +"2F128512,Famicom,BANDAI-74*161/32,BA-ジョギング,,3,32,128,,0,0,0,v,FamilyTrainer,,", +"2F1686E5,NesNtsc,,,,141,128,64,,0,0,0,h,,,", +"2F2D1FA9,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"2F2E30F7,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"2F462388,Famicom,,,,2,128,,8,0,0,0,h,,,", +"2F52BBE0,Famicom,,,,148,32,64,,0,0,0,h,,,", +"2F55BE88,Famicom,HVC-NROM-128,HVC-NROM-03,,0,16,8,,0,0,0,v,,,", +"2F66E302,NesNtsc,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"2F698C4D,NesNtsc,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,v,FourPlayer,,", +"2F8EC233,Famicom,,,,236,128,64,8,0,0,0,,,,", +"2FA8CBB4,NesNtsc,UNL-PUZZLE,,,65000,32,32,,0,0,0,h,,,", +"2FC1ABAE,Famicom,,,,1,128,128,,0,0,0,,,,", +"2FD2E632,NesPal,,,,1,256,,8,0,0,0,,,,", +"2FE20D79,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"2FFDE228,Famicom,HVC-UNROM,HVC-UNROM-10,,2,128,,8,0,0,0,v,,,", +"303D4371,NesNtsc,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"304FA926,NesPal,NES-NROM-128,NES-NROM-128-03,,0,16,8,,0,0,0,h,,,", +"3057B904,Famicom,HVC-SKROM,HVC-SKROM-03,MMC1A,1,128,128,,0,8,1,,,,", +"305B4E62,NesNtsc,KONAMI-TLROM,352026,MMC3B,4,128,128,,0,0,0,,,,", +"308DA987,NesPal,NES-AOROM,NES-AOROM-03,,7,256,,8,0,0,0,,FourPlayer,,", +"30BF2DBA,Famicom,JALECO-JF-13,JF-13,D7756C,86,128,64,,0,0,0,v,,,", +"30C5E6CF,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"30F9BB46,Famicom,,,,242,512,,8,0,8,1,h,,,", +"313491ED,Famicom,,,,50,128,,8,0,0,0,v,,,", +"31957AE4,Famicom,HVC-SEROM,SE-01A,MMC1B2,1,32,32,,0,0,0,,,,", +"31B44C65,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,256,128,,0,0,0,,,,", +"31C1BF98,Famicom,,,,163,2048,,8,0,8,1,v,,,", +"31C7AD13,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,128,128,,0,8,1,,,,", +"32086826,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,h,,,", +"322C9F6A,NesPal,NTDEC-N715062,N715062,,3,32,32,,0,0,0,h,,,", +"322F723A,Famicom,,,,0,32,8,,0,0,0,v,,,", +"3256114C,Famicom,HVC-TGROM,HVC-TGROM-01,MMC3B,4,512,,8,0,0,0,,,,", +"326AB3B6,NesNtsc,NES-TLROM,NES-TLROM-01,MMC3A,4,128,128,,0,0,0,,,,", +"3275FD7E,Famicom,HVC-CNROM,N04,,3,32,32,,0,0,0,v,,,", +"3293AFEA,Famicom,,,,140,128,32,,0,0,0,,,,", +"32CD7DE2,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"32CF4307,NesNtsc,NES-SKROM,NES-SKROM-04,MMC1B2,1,128,128,,8,0,0,,,,", +"32FA246F,Famicom,NAMCOT-3311,3311,,0,32,8,,0,0,0,h,,,", +"32FB0583,NesNtsc,NES-CNROM,NES-CN-ROM-256-02,,3,32,16,,0,0,0,h,Arkanoid,,", +"3306AAB2,Famicom,,,,1,128,128,,8,0,0,,,,", +"330DE468,Famicom,BANDAI-NROM-256,UNK-BANDAI-OBQ,,0,32,8,,0,0,0,v,,,", +"3322105A,NesNtsc,NES-SHROM,NES-SHROM-01,MMC1,1,32,128,,0,0,0,,,,", +"332C47E0,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,256,128,,0,8,1,,,,", +"333C48A0,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"3348E3BD,Famicom,,,,1,256,,8,8,0,0,,,,", +"336093EF,Famicom,HVC-GNROM,GN-01C,,66,128,32,,0,0,0,v,,,", +"3368F7FB,NesNtsc,NES-AOROM,NES-AOROM-03,,7,128,,8,0,0,0,,,,", +"339437F6,NesNtsc,NES-SEROM,NES-SEROM-02,MMC1B1,1,32,32,,0,0,0,,,,", +"33B899C9,Famicom,BANDAI-FCG-1,DORAGON2B,FCG-1,16,128,128,,0,0,0,,,,", +"33C5DF92,Famicom,,,,195,512,256,,9,0,0,4,,,", +"33CE3FF0,Famicom,,,,85,512,,8,0,8,1,,,,", +"340713DD,NesNtsc,,,,4,256,128,,0,8,1,,,,", +"3417EC46,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,FourPlayer,,", +"342727B1,Famicom,TAITO-X1-005,UNK-TAITO-KR-14,X1-005,80,128,128,,0,0,0,,,,", +"343C7BB0,NesNtsc,TENGEN-800008,800008-01 REV B,,3,32,16,,0,0,0,v,,,", +"345D3A1A,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVC,,11,64,64,,0,0,0,v,,,", +"345EE51A,Famicom,,,,245,1024,,8,0,8,1,,,,", +"34629104,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"348D3FF1,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"34BB757B,NesPal,NES-SNROM,NES-SNROM-05,MMC1B2,1,128,,8,8,0,0,,,,", +"34C1E893,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"34DDF806,Famicom,,,,150,32,32,,0,0,0,,,,", +"34DEBDFD,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,128,,8,0,8,1,,,,", +"34EAB034,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"350D835E,NesNtsc,NES-CNROM,NES-CN-ROM-256-01,,3,32,32,,0,0,0,v,,,", +"35476E87,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"358E29DD,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"35B6FEBF,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"35C41CD4,NesNtsc,NES-SJROM,NES-SJROM-02,MMC1B2,1,128,32,,8,0,0,,,,", +"35C6F574,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"35D8C961,Famicom,NAMCOT-163,LROG044-01,163,19,128,128,,0,0,0,,,,", +"35EFFD0E,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"360AA8B4,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"362000F0,Famicom,,,,90,256,512,,0,0,0,,,,", +"36584C96,Famicom,,,,4,256,128,,0,0,0,,,,", +"3674FFDB,Famicom,,,,1,256,,8,0,0,0,,,,", +"368C19A8,Dendy,,,,34,128,,8,0,0,0,h,SuborKeyboard,,", +"3691C120,Famicom,JALECO-JF-40,JF-40,SS88006,18,256,128,,0,8,1,,,,", +"369DA42D,Famicom,NAMCOT-163,60-16,163,19,128,128,,0,8,1,,,,", +"36B35988,NesNtsc,AVE-MB-91,MB-91«J»,,79,32,32,,0,0,0,v,,,", +"36C3B13A,NesPal,NES-UNEPROM,NES-UNEPROM-01,,2,128,,8,0,0,0,v,,,", +"36ECDE11,Famicom,,,,197,128,512,,0,0,0,,,,", +"37088EFF,NesNtsc,NES-TKROM,NES-TKROM-10,MMC3C,4,512,256,,0,8,1,,,,", +"370CEB65,Famicom,BANDAI-74*161/161/32,BA 迷路,,70,128,128,,0,0,0,v,FamilyTrainer,,", +"37138039,NesNtsc,NES-ANROM,NES-ANROM-01,,7,128,,8,0,0,0,,,,", +"3719A26D,Famicom,NAMCOT-3407,027-00,109,206,32,32,,0,0,0,h,,,", +"37397194,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"376138D8,Famicom,,,,33,128,256,,0,0,0,,,,", +"37A5EB52,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"37B62D04,Famicom,HVC-TKSROM,HVC-TKSROM-01,MMC3B,118,256,128,,0,8,1,,,,", +"37BA3261,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"37C474D5,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,v,,,", +"37CB1801,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,h,,,", +"37E24797,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,128,,0,0,0,,FourPlayer,,", +"37F59450,Famicom,HVC-UNROM,HVC-UNROM-01,,2,128,,8,0,0,0,v,,,", +"3824F7A5,NesPal,NES-SEROM,NES-SEROM-04,MMC1B2,1,32,32,,0,0,0,,,,", +"3836EEAC,Famicom,HVC-SNROM,HVC-SNROM-05,MMC1A,1,128,,8,0,8,1,,,,", +"383CABBF,NesNtsc,NES-TQROM,NES-TQROM-01,MMC3B,119,128,64,8,0,0,0,,,,", +"38645C11,Famicom,,,,3,32,32,,0,0,0,v,,,", +"3869E598,NesNtsc,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"3877CE9E,Famicom,,,,2,128,,8,0,0,0,v,,,", +"387A616E,Playchoice,,,,4,256,128,,8,0,0,,,,", +"38810A91,Famicom,HVC-NROM-256,3I,,0,32,8,,0,0,0,v,,,", +"38946C43,NesNtsc,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,v,,,", +"38971147,Famicom,,,,4,256,128,,0,0,0,,,,", +"38B590E4,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"38BFC03C,Famicom,HVC-UNROM,HVC-UNROM-10,,2,128,,8,0,0,0,h,,,", +"38D314DB,Famicom,,,,4,128,256,,8,0,0,,,,", +"38DE7053,NesPal,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,v,,,", +"38FBCC85,NesNtsc,CAMERICA-BF9093,BIC-48,BF9093,71,256,,8,0,0,0,v,,,", +"3907578B,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,h,,,", +"391AA1B8,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"39307391,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"394DF2DF,Famicom,,,,4,128,128,,0,0,0,,,,", +"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,,,,", +"39F2CE4B,Famicom,HVC-ETROM,HVC-ETROM-01,MMC5,5,256,128,,8,8,1,,,,", +"3A0965B1,NesNtsc,NES-UOROM,NES-UOROM-02,,2,256,,8,0,0,0,h,,,", +"3A1694F9,Famicom,,,,4,128,128,,0,0,0,,FourPlayer,,", +"3A4D4D10,NesPal,NES-PEEOROM,NES-PEEOROM-02,MMC2,9,128,128,,0,0,0,,,,", +"3A8723B9,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"3A8F81B0,Famicom,SUNSOFT-1,SUNSOFT-K,Sunsoft-1,184,32,32,,0,0,0,v,,,", +"3A990EE0,NesNtsc,CAMERICA-BF9093,BIC-48,BF9093,71,128,,8,0,0,0,v,,,", +"3AC0830A,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"3B00B967,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"3B1A7EEF,Famicom,HVC-TLROM,HVC-TLROM-02,MMC3A,4,128,128,,0,0,0,,,,", +"3B3705A6,Playchoice,,,,3,32,32,,0,0,0,v,,,", +"3B3F88F0,NesNtsc,NES-SAROM,NES-SAROM-01,MMC1B2,1,64,16,,0,8,1,,,,", +"3B7F5B3B,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"3BB31E38,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"3BBFF3A6,Famicom,HVC-SJROM,HVC-SJROM-01,MMC1A,1,128,32,,0,8,1,,TurboFile,,", +"3BE244EF,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"3BE91A23,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"3BF55966,Famicom,HVC-CNROM,HVC-CNROM-256K-01,,3,32,32,,0,0,0,v,,,", +"3C54A0BF,Famicom,,,,1,128,128,,8,0,0,,,,", +"3C5C81D4,NesNtsc,NES-DEROM,NES-DEROM-01,109,206,64,32,,0,0,0,v,,,", +"3C7E38F5,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,32,32,,0,0,0,v,,,", +"3CCB5D57,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,64,,0,0,0,,,,", +"3CD6BB0E,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"3CF67AEC,Famicom,HVC-UNROM,HVC-UNROM-10,,2,128,,8,0,0,0,v,,,", +"3D0996B2,NesNtsc,NES-SKROM,NES-SKROM-04,MMC1B2,1,128,128,,0,8,1,,,,", +"3D1C3137,Famicom,JALECO-JF-16,JF-16,,78,128,128,,0,0,0,,,,", +"3D1C4894,NesNtsc,NES-TGROM,NES-TGROM-01,MMC3B,4,128,,8,0,0,0,,,,", +"3D3FF543,Famicom,,,,113,64,64,,0,0,0,h,,,", +"3D4B64F1,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,128,128,,0,8,1,,,,", +"3D564757,NesNtsc,NES-NROM-256,NES-NROM-256-02,,0,32,8,,0,0,0,h,,,", +"3D95D866,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,,,", +"3DA2085E,Famicom,JALECO-JF-18,JF-18,,2,256,,8,0,0,0,v,,,", +"3DBD6DAF,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"3DC64CC0,Famicom,,,,2,128,,8,0,0,0,v,,,", +"3DCADA42,Famicom,HVC-UNROM,HVC-UNROM-04,,2,128,,8,0,0,0,v,,,", +"3DE9BB55,Famicom,,,,2,128,,8,0,0,0,v,,,", +"3DF39CE4,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,v,,,", +"3E00A373,Famicom,HVC-CNROM,HVC-CNROM-256K-01,,3,32,32,,0,0,0,v,,,", +"3E1271D5,NesNtsc,AVE-NINA-03,NINA-03 REV. A,,79,32,32,,0,0,0,v,,,", +"3E170708,NesNtsc,,,,139,64,16,,0,0,0,h,,,", +"3E470FE0,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,FourPlayer,,", +"3E58A87E,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,128,128,,0,0,0,,Zapper,,", +"3E59E951,NesNtsc,UNL-RACERMATE,R981-112-00,,168,64,,64,0,0,0,h,,,", +"3E785DC3,Famicom,,,,1,128,128,,8,0,0,,,,", +"3E81DD67,NesNtsc,CAMERICA-BF9093,,,71,64,,8,0,0,0,v,,,", +"3E95BA25,Famicom,NAMCOT-3301,3301,,0,16,8,,0,0,0,h,,,", +"3ECA3DDA,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,256,128,,0,0,0,,,,", +"3ECDB1F7,Famicom,HVC-UNROM,HVC-UNROM-10,,2,128,,8,0,0,0,h,,,", +"3EDCF7E8,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,,", +"3EEA372E,Famicom,,,,189,128,128,,0,0,0,,,,", +"3EFF62E4,Famicom,,,,4,256,128,,8,0,0,,,,", +"3F0C8136,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"3F0FD764,NesNtsc,NES-SL2ROM,NES-SL2ROM-01,MMC1B2,1,128,128,,0,0,0,,,,", +"3F15D20D,Famicom,BANDAI-JUMP2,BA-JUMP2,FCG-3,16,512,,8,0,8,1,,,,", +"3F2450EA,NesNtsc,UNL-SA-016-1M,SA002-72P-1D,,146,32,32,,0,0,0,h,,,", +"3F2BDA65,NesPal,NES-SNROM,NES-SNROM-05,MMC1B2,1,256,,8,0,8,1,,,,", +"3F3B4285,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"3F45C309,Famicom,,,,0,32,8,,0,0,0,v,,,", +"3F56A392,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1B2,1,256,,8,0,0,0,,,,", +"3F78037C,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"3F7AD415,Famicom,HVC-SOROM,HVC-SOROM-01,MMC1A,1,256,,8,8,8,1,,,,", +"3F8D6889,Famicom,JALECO-JF-29,JF-29A,D7756C,18,256,128,,0,0,0,,,,", +"3FA96277,Famicom,HVC-UNROM,HVC-UNROM-01,,2,128,,8,0,0,0,v,,,", +"3FC1DC19,Famicom,,,,3,32,32,,0,0,0,v,,,", +"3FE272FB,NesNtsc,NES-SNROM,NES-SNROM-01,MMC1,1,128,,8,0,8,1,,,,", +"3FEA656A,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"3FF44F87,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,128,,8,0,8,1,,,,", +"3FFA5762,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"401349A8,NesNtsc,NES-NROM-128,NES-NROM-128-02,,0,16,8,,0,0,0,h,,,", +"401521F7,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"4022C94E,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"404B2E8B,NesNtsc,NES-TVROM,NES-TVROM-01,MMC3B,4,64,64,8,0,0,0,4,,,", +"4057C51B,Famicom,HVC-CNROM,HVC-CNROM-256K-01,,3,32,32,,0,0,0,h,,,", +"40684E95,NesNtsc,NES-CNROM,NES-CN-ROM-256-01,,3,32,32,,0,0,0,h,,,", +"407D6FFD,NesNtsc,NES-QJ,NES-QJ,MMC3,47,256,256,,0,0,0,,FourPlayer,,", +"409601A5,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"40A5E676,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,64,64,,0,0,0,v,,,", +"40B8EE9A,Famicom,,,,4,128,128,,8,0,0,,,,", +"40BFA660,NesPal,NES-CNROM,NES-CNROM-06,,3,32,32,,0,0,0,h,,,", +"40C0AD47,Famicom,,,,48,128,256,,0,0,0,,,,255", +"40D159B6,NesNtsc,NES-SKROM,NES-SKROM-02,MMC1B2,1,128,128,,0,8,1,,,,", +"40DAFCBA,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"40DBF7A2,Famicom,,,,150,64,32,,0,0,0,,,,", +"40ED2A9D,NesNtsc,NES-SEROM,NES-SEROM-02,MMC1A,1,32,32,,0,0,0,,,,", +"41496EBD,Famicom,,,,0,32,8,,0,0,0,h,,,", +"4156A3CD,Famicom,HVC-SFROM,HVC-SFROM-01,MMC1B2,1,128,32,,0,0,0,,,,", +"415E5109,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"41632CB6,Famicom,HVC-SJROM,HVC-SJROM-01,MMC1,1,128,32,,0,0,0,,,,", +"417271A8,Famicom,,,,0,16,8,,0,0,0,h,,,", +"4178497A,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,h,,,", +"4185ADA1,NesNtsc,,,,141,32,32,,0,0,0,h,,,", +"419461D0,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"41CC30A7,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,FourPlayer,,", +"41CF5B6A,Famicom,,,,246,512,512,,0,8,1,h,,,", +"41D32FD7,NesPal,NES-AOROM,NES-AOROM-03,,7,256,,8,0,0,0,,,,", +"41EF9AC4,Dendy,,,,167,1024,,8,0,8,1,h,SuborKeyboard,,", +"41F5D38D,Famicom,,,,1,128,128,,0,0,0,,,,", +"41F9E0AA,NesNtsc,NES-TLSROM,NES-TLSROM-01,MMC3C,118,128,128,,0,0,0,,,,", +"4220C170,NesNtsc,NES-AOROM,NES-AOROM-03,,7,128,,8,0,0,0,,,,", +"4232C609,NesNtsc,,,,1,128,128,,0,0,0,,,,", +"423ADA8E,NesNtsc,KONAMI-UNROM,351258,,2,128,,8,0,0,0,v,,,", +"423FEDF3,Famicom,,,,0,16,8,,0,0,0,h,,,", +"426BD504,Famicom,,,,4,256,256,,0,8,1,,,,", +"42749A95,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,64,64,,0,0,0,v,,,", +"429103C9,Famicom,NAMCOT-340,CS 0001,340,210,128,128,,0,0,0,v,,,", +"42EDE8CB,Famicom,,,,3,32,32,,0,0,0,v,,,", +"4318A2F8,NesNtsc,NES-SCROM,NES-SCROM-03,MMC1B2,1,64,128,,0,0,0,,Zapper,,", +"43287E79,Famicom,,,,0,32,8,,0,0,0,v,,,", +"4339865C,Famicom,SUNSOFT-FME-7,PYK-E301,FME-7,69,128,128,,0,0,0,,,,", +"43539A3C,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1A,1,128,,8,0,0,0,,,,", +"435AEEC6,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"437E7B69,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,v,,,", +"43B0080B,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,,,", +"43B0944B,Famicom,HVC-CNROM,N04,,3,32,32,,0,0,0,v,,,", +"43D01C10,NesNtsc,NES-TKROM,NES-TKROM-01,MMC3B,4,128,256,,0,8,1,,,,", +"43D30C2F,NesNtsc,TENGEN-800003,800003-01 REV C,,0,32,8,,0,0,0,h,,,", +"441AEAE6,Famicom,HVC-UN1ROM,HVC-UN1ROM-01,,94,128,,8,0,0,0,h,,,", +"441DE6D8,NesPal,,,,1,128,128,,0,8,1,,,,", +"443FC6CD,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"4496F2F2,Famicom,,,,57,128,64,,0,0,0,,,,", +"44B060DA,Famicom,HVC-SNROM,HVC-SNROM-05,MMC1A,1,128,,8,0,8,1,,,,", +"44C20420,Famicom,,,,199,512,256,8,1,8,1,,,,", +"44D21F83,Famicom,IREM-NROM-128,IREM-01-V,,0,16,8,,0,0,0,h,,,", +"44F34172,NesNtsc,NES-NROM-256,NES-NROM-256-03,,0,32,8,,0,0,0,v,,,", +"44F92026,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,Pachinko,,", +"4536FE1C,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"455CA7DE,Famicom,,,,0,32,8,,0,0,0,h,,,", +"4582F22E,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3B,4,256,128,,0,8,1,,,,", +"45878D7F,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"459D0C2A,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,0,8,1,,,,", +"45A41784,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"45A9DB6F,NesPal,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"45F03D2E,NesNtsc,NES-SKROM,NES-SKROM-04,MMC1B2,1,128,128,,0,8,1,,,,", +"46135141,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,FourPlayer,,", +"4640EBE0,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"4642DDA6,NesNtsc,NES-SOROM,NES-SOROM-01,MMC1A,1,256,,8,8,8,1,,,,", +"46480432,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"464A67AB,NesPal,NES-NROM-256,NES-NROM-256-02,,0,32,8,,0,0,0,v,,,", +"465E5483,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"466EFDC2,Famicom,HVC-SNROM,HVC-SNROM-04,MMC1A,1,256,,8,0,8,1,,,,", +"4681691A,NesNtsc,NES-SL1ROM,NES-SL1ROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"4686C5DD,NesNtsc,MLT-CALTRON6IN1,N725012,,41,256,128,,0,0,0,,,,", +"46931EA0,NesPal,NES-SEROM,NES-SEROM-04,MMC1B2,1,32,32,,0,0,0,,,,", +"46B5751B,Famicom,,,,244,128,64,,0,0,0,v,,,", +"46CA6CF0,Famicom,,,,57,128,128,,0,0,0,,,,", +"46F30F2D,Famicom,HVC-SNROM,HVC-SNROM-06,MMC1A,1,256,,8,0,8,1,,,,", +"46FD7843,Famicom,NAMCOT-340,LROG058-00,340,210,128,128,,0,0,0,,,,", +"4706DB1D,Famicom,,,,0,32,8,,0,0,0,h,,,", +"471173E7,Famicom,,,,150,32,16,,0,0,0,,,,", +"47232739,Famicom,HVC-SFROM,HVC-SFROM-01,MMC1A,1,128,32,,0,0,0,,TopRiderBike,,", +"4751A751,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"475CDBFE,Famicom,JALECO-JF-17,JF-17,,72,128,128,,0,0,0,h,,,", +"476E022B,NesNtsc,NES-TFROM,NES-TFROM-02,MMC3A,4,128,64,,0,0,0,,,,", +"47918D84,Famicom,,,,150,32,64,,0,0,0,,,,", +"47B6A39F,NesPal,NES-SKROM,NES-SKROM-04,MMC1B2,1,128,128,,0,8,1,,,,", +"47C2020B,Famicom,NAMCOT-163,60-17,163,19,256,128,,0,0,1,,,,", +"47EA8047,NesNtsc,,,,139,256,64,,0,0,0,,,,", +"47F7F860,NesNtsc,NES-TKEPROM,NES-TKEPROM-01,MMC3B,4,128,128,,8,0,0,,,,", +"47FD88CF,NesPal,NES-SKROM,NES-SKROM-01,MMC1A,1,128,128,,0,8,1,,,,", +"481519B1,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"48239B42,NesNtsc,,,,79,64,64,,0,0,0,h,,,", +"4823EEFE,NesNtsc,NES-SNROM,NES-SNROM-06,MMC1B3,1,256,,8,0,8,1,,,,", +"48244391,Famicom,,,,164,1024,,8,0,8,1,h,,,", +"482C79AF,NesNtsc,NES-SEROM,NES-SEROM-02,MMC1B1-H,1,32,32,,0,0,0,,,,", +"48349B0B,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"484A60DB,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"484B03DB,Famicom,,,,0,32,8,,0,0,0,v,,,", +"485AC098,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,,,", +"4864C304,Famicom,HVC-HROM,HVC-HROM-01,,0,16,8,,0,0,0,v,,,", +"489D19AB,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"489EF6A2,NesNtsc,NES-SH1ROM,NES-SH1ROM-01,MMC1B2,1,32,128,,0,0,0,,,,", +"48B8EE58,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,FourPlayer,,", +"48CA0EE1,Famicom,SUNSOFT-FME-7,BBW-E301,FME-7,69,128,256,,0,8,1,,BarCodeWorld,,", +"48E904D0,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"48F0419B,Famicom,,,,3,32,32,,0,0,0,v,,,", +"48F68D40,Famicom,HVC-NROM-128,HVC-NROM-02,,0,16,8,,0,0,0,h,,,", +"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,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,,,,", +"4962C024,Famicom,,,,227,512,,8,0,0,0,,,,", +"498187B6,Famicom,HVC-SKROM,HVC-SKROM-01,MMC1A,1,128,128,,0,8,1,,TurboFile,,", +"49AEB3A6,Famicom,HVC-NROM-128,2A,,0,16,8,,0,0,0,v,,,", +"49DA2F76,Famicom,JALECO-JF-24,JF-24A,SS88006,18,128,128,,0,0,0,,,,", +"49E35593,Famicom,,,,19,256,256,,0,0,0,,,,", +"49F745E0,NesNtsc,NES-SGROM,NES-SGROM-03,MMC1B2,1,128,,8,0,0,0,,,,", +"4A601A2C,Famicom,KONAMI-VRC-4,352400,VRC4,25,256,256,,0,0,0,,,,", +"4A99B47E,Famicom,HVC-NROM-128,9011-01,,0,16,8,,0,0,0,h,,,", +"4AE58F5D,Famicom,JALECO-JF-23,JF-23A,D7756C,18,256,128,,0,0,0,,,,", +"4AEA40F7,Famicom,,,,4,128,128,,0,0,0,,,,", +"4B041B6B,NesNtsc,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,FourPlayer,,", +"4B0DACCE,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"4B1AA202,NesNtsc,NES-UNEPROM,NES-UNEPROM-01,,2,128,,8,0,0,0,v,,,", +"4B1ED62E,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"4B5177E9,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,128,,0,0,0,,FourPlayer,,", +"4B6EF399,Famicom,,,,188,256,,8,0,0,0,h,,,", +"4B750880,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"4BB6B430,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,,,", +"4BB9B840,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"4BC75F16,NesNtsc,,,,11,64,64,,0,0,0,v,,,", +"4BD3BECF,Famicom,,,,61,512,,8,0,0,0,,,,", +"4BF72F9D,Famicom,,,,0,32,8,,0,0,0,h,,,", +"4BF80AF8,NesNtsc,,,,141,256,256,,0,0,0,h,,,", +"4C049CFE,Famicom,SUNSOFT-FME-7,GRM-E301,FME-7,69,128,256,,0,0,0,,,,", +"4C0E8BBB,Famicom,HVC-SKROM,HVC-SKROM-03,MMC1A,1,128,128,,0,8,1,,,,", +"4C13B5D0,Famicom,,,,187,256,512,,0,0,0,,,,", +"4C5836BD,Famicom,NAMCOT-163,60-13,163,19,256,256,,0,0,0,,,,", +"4C7FDD56,Famicom,,,,2,128,,8,0,0,0,v,,,", +"4D1AC58C,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"4D1DF589,NesPal,NES-SKROM,NES-SKROM-04,MMC1B2,1,128,128,,0,8,1,,,,", +"4D345422,NesPal,NES-SHROM,NES-SHROM-05,MMC1B2,1,32,128,,0,0,0,,,,", +"4D3FBA78,NesNtsc,NES-SFROM,NES-SFROM-01,MMC1A,1,128,32,,0,0,0,,,,", +"4D527D4A,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,32,16,,0,0,0,v,,,", +"4D68CFB1,NesNtsc,UNL-PCI556,PCI556,,38,128,32,,0,0,0,v,Zapper,,", +"4D7859A9,Famicom,SUNSOFT-5A,BAT-E301,SUNSOFT-5A,69,128,128,,0,0,0,,,,", +"4D825E11,Famicom,,,,0,32,8,,0,0,0,v,,,", +"4DCD15EE,Famicom,,,,1,128,128,,0,0,0,,,,", +"4DFD949E,Famicom,IREM-NROM-256,IREM-01-H,,0,32,8,,0,0,0,v,,,", +"4E22368D,NesNtsc,NES-UNROM,NES-UN-ROM-06,,2,128,,8,0,0,0,h,,,", +"4E42F13A,Famicom,HVC-UNROM,HVC-UNROM-05,,2,128,,8,0,0,0,h,,,", +"4E44FF44,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,256,128,,0,0,0,,,,", +"4E5257D7,Famicom,HVC-SL1ROM,HVC-SL1ROM-01,MMC1B2,1,128,128,,0,0,0,,,,", +"4E7729FF,Famicom,,,,182,128,128,,0,0,0,v,,,", +"4E77733A,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"4E7A6181,Famicom,,,,3,32,32,,0,0,0,v,,,", +"4E800048,Famicom,,,,115,128,256,,0,0,0,,,,", +"4E959173,NesNtsc,NES-CNROM,NES-CN-ROM-256-04,,3,32,32,,0,0,0,v,Zapper,,", +"4E99CEA4,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,128,,0,0,0,,,,", +"4EAA8D0E,Famicom,,,,45,1024,1024,,8,0,0,,,,", +"4EC0FECC,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"4ECD4624,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"4ED3C6F1,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"4EF429CC,Famicom,,,,3,32,32,,0,0,0,v,,,", +"4F032933,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,FourPlayer,,", +"4F089E8A,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"4F16C504,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"4F2F1846,Famicom,NAMCOT-3416,60-10,108,206,128,64,,0,0,0,v,,,", +"4F3B2E57,NesPal,NES-GNROM,NES-GNROM-05,,66,128,32,,0,0,0,v,,,", +"4F467410,NesNtsc,NES-SGROM,NES-SGROM-02,MMC1A,1,256,,8,0,0,0,,,,", +"4F48B240,NesPal,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"4F9DBBE5,NesNtsc,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"4FBBFA74,Famicom,,,,3,32,32,,0,0,0,v,,,", +"4FC2F673,Famicom,KONAMI-VRC-1,302114A,VRC1,75,128,128,,0,0,0,,,,", +"4FFD17F0,Famicom,,,,194,256,256,2,9,0,0,,,,", +"505F9715,NesNtsc,NES-ANROM,NES-ANROM-01,,7,128,,8,0,0,0,,,,", +"5062A34B,Famicom,SUNSOFT-1,UNK-SUNSOFT-ATL,Sunsoft-1,184,32,16,,0,0,0,v,,,", +"506E259D,NesNtsc,NES-SUROM,NES-SUROM-01,MMC1B3,1,512,,8,0,8,1,,,,", +"50893B58,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"509E6032,NesPal,NES-UOROM,NES-UOROM-02,,2,256,,8,0,0,0,h,,,", +"50A1B3FE,Famicom,HVC-NROM-128,9011-01,,0,16,8,,0,0,0,h,,,", +"50CCC8ED,NesNtsc,NES-CNROM,NES-CNROM-08,,3,32,32,,0,0,0,h,,,", +"50CCDA33,Famicom,HVC-SGROM,HVC-SGROM-02,MMC1A,1,256,,8,0,0,0,,,,", +"50D141FC,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"50D296B3,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,,", +"50DA4867,Famicom,,,,4,128,256,,0,8,1,,,,", +"50F3E338,Famicom,,,,188,256,,8,0,0,0,h,,,", +"50FD0CC6,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"5104833E,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"5112DC21,Famicom,HVC-NROM-128,2I,,0,16,8,,0,0,0,v,Zapper,,", +"51392C01,Famicom,KONAMI-VRC-4,,Konami VRC IV,23,128,128,,0,0,0,,,,", +"513EB779,Dendy,,,,4,256,256,,0,0,0,,,,", +"516B2412,Famicom,,,,4,128,128,,0,0,0,,,,", +"517611FE,NesNtsc,,,,141,256,128,,0,0,0,h,,,", +"51BD8336,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,h,,,", +"51BEE3EA,NesNtsc,NES-SHROM,NES-SHROM-05,MMC1B3,1,32,128,,0,0,0,,,,", +"51BF28AF,NesPal,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,,,", +"51C0B27E,NesNtsc,MLT-ACTION52,023-N507,4520,228,1536,512,,0,0,0,,,,", +"51C51C35,NesPal,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"51C70247,NesNtsc,,,,11,128,128,,0,0,0,v,,,", +"51CEAC29,Famicom,,,,4,128,256,,0,0,0,,,,", +"5229FCDD,Famicom,,,,2,128,,8,0,0,0,v,,,", +"5248CAF3,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"524A5A32,NesPal,NES-AOROM,NES-AOROM-03,,7,256,,8,0,0,0,,,,", +"52880295,NesNtsc,NES-SGROM,NES-SGROM-02,MMC1,1,128,,8,0,0,0,,,,", +"529B621F,NesNtsc,NES-SFROM,NES-SFROM-01,MMC1,1,128,64,,0,0,0,,PowerPad,,", +"52B58732,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,64,,0,0,0,,,,", +"52C501D0,VsUni,NES-DRROM,,,206,64,64,,0,0,0,,,,", +"52D8EE1C,Playchoice,,,,4,128,128,,0,0,0,,,,", +"52E2B5E0,Famicom,HVC-TSROM,HVC-TSROM-01,MMC3A,4,256,128,,8,0,0,,,,", +"530BCCB4,Famicom,,,,4,128,128,,0,0,0,,,,", +"530F8B13,Famicom,,,,1,128,128,,0,8,1,,,,", +"5318CDB9,Famicom,,,,4,128,256,,0,8,1,,,,", +"532A27E6,NesNtsc,NES-TKROM,NES-TKROM-10,MMC3C,4,256,256,,0,8,1,,,,", +"53328FC4,Famicom,HVC-UNROM,UNK-HVC-023-PROTO,,2,128,,8,0,0,0,v,,,", +"5337F73C,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3B,4,256,128,,0,8,1,,,,", +"535C5446,Famicom,,,,148,32,64,,0,0,0,v,,,", +"535E6152,VsUni,,,,99,32,8,,0,0,0,4,,,", +"538218B2,NesPal,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,h,,,", +"538CD2EA,NesNtsc,NES-SLROM,NES-SLROM-04,MMC1B2,1,128,128,,0,0,0,,,,", +"5393D949,Famicom,NAMCOT-3446,3446,108,76,128,128,,0,0,0,v,,,", +"5397E80B,Famicom,NAMCOT-3416,LROG056-00,109,206,128,64,,0,0,0,v,,,", +"53A9B53A,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"53A9E2BA,NesNtsc,,,,4,256,256,,0,8,1,,,,", +"542BED56,Famicom,,,,225,1024,512,,0,0,0,,,,", +"543AB532,Dendy,,,,7,128,8,,0,0,0,,SuborKeyboard,,", +"543C6EDE,Famicom,,,,0,32,8,,0,0,0,h,,,", +"5440811C,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"5452966E,Famicom,,,,4,128,128,,0,0,0,,,,", +"548A2C3C,NesNtsc,NES-DE1ROM,NES-DE1ROM-01,109,206,128,64,,0,0,0,h,,,", +"54A652F0,NesNtsc,UNL-D1038,,,65000,128,64,,0,0,0,,,,", +"54E43C57,NesPal,NES-TKEPROM,NES-TKEPROM-02,MMC3B,4,256,256,,0,0,0,,,,", +"5529431F,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,Zapper,,", +"55397DB3,Famicom,HVC-TKROM,HVC-TKROM-01,MMC3A,4,128,128,,0,8,1,,TurboFile,,", +"555042B3,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,,,", +"555A555E,Famicom,,,,191,256,128,2,1,8,1,,,,", +"55761931,Famicom,HVC-NROM-256,3A,,0,32,8,,0,0,0,v,,,", +"55773880,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"5581E835,Famicom,HVC-NROM-128,9011-01,,0,16,8,,0,0,0,h,,,", +"558C0DC3,NesNtsc,,,,178,512,,,0,0,0,h,,,", +"55CF4969,Famicom,,,,45,256,,8,0,0,0,,,,", +"55DB7E2A,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"560BF5A6,NesNtsc,COLORDREAMS-74*377,196A,,11,128,128,,0,0,0,v,,,", +"562D3A94,Famicom,,,,2,128,,8,0,0,0,v,,,", +"563C2CC0,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"565A4681,Famicom,HVC-SNROM,HVC-SNROM-08,MMC1B1-H,1,256,,8,0,8,1,,,,", +"565B1BDB,NesPal,NES-NROM-128,NES-NROM-128-01,,0,16,8,,0,0,0,h,,,", +"5674D1F3,Famicom,,,,2,128,,8,0,0,0,v,,,", +"56756615,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,,", +"567E1620,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"56A0D271,Famicom,,,,164,512,,8,0,8,1,h,,,", +"56F05853,NesPal,,,,4,128,128,,0,0,0,,,,", +"5734EB9E,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,h,PowerPad,,", +"5746A461,Famicom,NAMCOT-163,60-14,163,19,128,128,,0,0,0,,,,", +"576A0DE8,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"57783E71,Famicom,,,,1,128,128,,0,0,0,,,,", +"579E5BC5,Famicom,,,,42,128,128,,0,0,0,v,,,", +"57A125B0,Famicom,,,,0,32,8,,0,0,0,h,,,", +"57AC67AF,NesNtsc,NES-TSROM,NES-TSROM-01,MMC3A,4,128,128,,8,0,0,,,,", +"57C2AE4E,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"57D162F1,Famicom,HVC-TSROM,HVC-TSROM-04,MMC3C,4,128,128,,8,0,0,,,,", +"57DD23D1,NesNtsc,NES-SGROM,NES-SGROM-02,MMC1B2,1,256,,8,0,0,0,,,,", +"57E220D0,Famicom,HVC-TNROM,HVC-TNROM-01,MMC3B,4,512,,8,0,8,1,,,,", +"57E9B21C,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"5800BE2D,NesNtsc,TENGEN-800030,800030-01 REV A,337001,206,128,64,,0,0,0,h,,,", +"58152B42,NesNtsc,,,,79,64,16,,0,0,0,v,,,", +"5816CCC5,Famicom,,,,3,32,32,,0,0,0,v,,,", +"58507BC9,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"585BA83D,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,256,128,,0,0,0,,,,", +"586A3277,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"588A31FE,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"588E7492,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"58A74747,NesPal,NES-TKEPROM,NES-TKEPROM-02,MMC3B,4,128,128,,0,8,1,,,,", +"58C7DDAF,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"58C94F66,Famicom,HVC-FAMILYBASIC,,,0,32,8,,0,2,1,v,FamilyKeyboard,,", +"58CFE142,NesNtsc,,,,4,256,128,,0,0,0,,,,", +"58D1F46A,NesNtsc,,,,139,64,16,,0,0,0,h,,,", +"58E63E82,Famicom,,,,112,128,256,,0,0,0,,,,", +"59005CCE,Famicom,,,,0,32,8,,0,0,0,h,,,", +"59114E78,Famicom,,,,4,256,128,,0,0,0,,,,", +"59280BEC,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"5931BE01,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"59449E3B,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,256,128,,0,8,1,,,,", +"5991B9D0,NesNtsc,ACCLAIM-MC-ACC,55741,MC-ACC,4,256,128,,0,0,0,,,,", +"59977A46,Famicom,HVC-NROM-256,HVC-NROM-256K-02,,0,32,8,,0,0,0,v,,,", +"5A0454F3,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,256,128,,0,8,1,,,,", +"5A18F611,Famicom,,,,2,128,,8,0,0,0,h,,,", +"5A4F156D,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"5A5A0CD9,Famicom,HVC-SJROM,HVC-SJROM-03,MMC1A,1,128,32,,0,8,1,,,,", +"5A6860F1,Famicom,,,,4,256,,8,8,0,0,,,,", +"5A8B4DA8,NesNtsc,NES-SKROM,NES-SKROM-04,MMC1B2,1,128,128,,0,8,1,,,,", +"5A9664D0,Famicom,,,,4,128,256,,0,0,0,,,,", +"5AB54795,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"5ADBF660,Famicom,KONAMI-VRC-4,351406,VRC4,25,128,128,,2,0,0,,,,", +"5AEFBC94,Famicom,,,,133,64,32,,0,0,0,h,,,", +"5B064824,Famicom,,,,1,256,,8,0,0,0,,,,", +"5B16A3C8,NesNtsc,COLORDREAMS-74*377,BC6,,11,128,128,,0,0,0,v,,,", +"5B2B72CB,NesNtsc,CAMERICA-BF9093,,,71,256,,8,0,0,0,v,,,", +"5B457641,Famicom,,,,157,256,,8,0,0,0,,,,", +"5B4B6056,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"5B4C6146,Famicom,NAMCOT-3414,3414,108,206,64,64,,0,0,0,v,,,", +"5B5AB1F8,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,256,128,,0,0,0,,,,", +"5B5FBE84,Famicom,,,,44,1024,1024,,0,0,0,,,,", +"5B6CA654,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"5B7AC91F,Famicom,,,,18,128,128,,0,0,0,,,,", +"5B837E8D,Famicom,,,,1,128,128,,0,0,0,,,,", +"5BB62688,NesNtsc,NES-DEROM,NES-DEROM-01,109,206,64,64,,0,0,0,v,,,", +"5BC3F47D,Famicom,,,,2,128,,8,0,0,0,v,,,", +"5BC9D7A1,NesNtsc,NES-SKROM,NES-SKROM-04,MMC1B2,1,128,128,,0,8,1,,,,", +"5C123EF7,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3A,4,128,128,,0,8,1,,TurboFile,,", +"5C5A1AB8,Famicom,HVC-CNROM,CN-04B,,3,32,16,,0,0,0,v,,,", +"5C9063E0,Famicom,HVC-NROM-128,3I,,0,16,8,,0,0,0,h,,,", +"5CAA3E61,NesNtsc,AGCI-50282,50282,,144,64,64,,0,0,0,v,,,", +"5CD5FDA4,Famicom,BANDAI-GNROM,BA-TAKESHI II,,66,128,32,,0,0,0,v,FamilyTrainer,,", +"5CDB2823,Famicom,NAMCOT-3301,3301,,0,16,8,,0,0,0,h,,,", +"5CE55F5B,NesPal,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,v,,,", +"5CF536F4,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"5CF6A82E,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"5D044347,Famicom,,,,0,32,8,,0,0,0,v,,,", +"5D0D3047,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"5D105C10,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,256,128,,0,8,1,,,,", +"5D1301C5,Famicom,NAMCOT-3302,3302,,0,16,8,,0,0,0,v,,,", +"5D2444D7,Famicom,JALECO-JF-13,JF-13,D7756C,86,128,64,,0,0,0,v,,,", +"5D2B1962,NesPal,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"5D40C08A,Famicom,HVC-UNROM,HVC-UNEPROM-01,,2,128,,8,0,0,0,h,,,", +"5D99053D,NesPal,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,v,,,", +"5DA9CEC8,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,32,16,,0,0,0,h,,,", +"5DBD6099,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"5DBEBD53,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"5DCE2EEA,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"5DE61639,NesNtsc,NES-SNROM,NES-SNROM-06,MMC1B2,1,256,,8,0,8,1,,,,", +"5DEC84F8,Famicom,,,,1,128,128,,0,0,0,,,,", +"5E073A1B,Dendy,,,,167,1024,,8,0,8,1,h,SuborKeyboard,,", +"5E1ADD91,Famicom,,,,3,32,16,,0,0,0,h,,,", +"5E24EEDA,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"5E345B6D,Famicom,HVC-NROM-256,3A,,0,32,8,,0,0,0,h,,,", +"5E36D3BE,NesPal,,,,113,256,128,,0,0,0,,,,", +"5E5D5963,Famicom,,,,0,16,8,,0,0,0,v,,,", +"5E66EAEA,NesNtsc,NES-CPROM,NES-CPROM-02,,13,32,,16,0,0,0,v,,,", +"5E6D9975,NesPal,NES-ANROM,NES-ANROM-02,,7,128,,8,0,0,0,,,,", +"5E767671,NesNtsc,KONAMI-UNROM,351258,,2,128,,8,0,0,0,v,,,", +"5E900522,NesNtsc,NES-SFROM,NES-SFROM-01,MMC1A,1,128,32,,0,0,0,,,,", +"5EA7D410,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"5EAE26ED,Famicom,,,,254,128,128,,8,0,0,,,,", +"5EB8E707,NesNtsc,NES-SLRROM,NES-SLRROM-01,MMC1B2,1,128,128,,0,0,0,,,,", +"5ECB6FC2,Famicom,,,,1,128,128,,0,8,1,,,,", +"5ED6F221,NesNtsc,NES-TKROM,NES-TKROM-10,MMC3C,4,512,256,,0,8,1,,,,", +"5EDEC8CD,NesNtsc,NES-SIEPROM,NES-SIEPROM-01,MMC1A,1,32,16,,0,0,0,,,,", +"5EE6008E,NesNtsc,NES-SCROM,NES-SCROM-03,MMC1B2,1,64,128,,0,0,0,,Zapper,,", +"5EFBDED8,Famicom,,,,0,16,8,,0,0,0,h,,,", +"5F0BCE2A,NesNtsc,NES-SFROM,NES-SFROM-04,MMC1B2,1,128,32,,0,0,0,,,,", +"5F14DC48,Famicom,,,,4,256,128,,0,0,0,,,,", +"5F2C3195,NesNtsc,TENGEN-800002,800002-01 REV D,337001,206,64,64,,0,0,0,v,,,", +"5F5BFA54,NesNtsc,COLORDREAMS-74*377,BC5,,11,128,128,,0,0,0,v,,,", +"5F6E8A07,Famicom,HVC-GNROM,HVC-GNROM-02,,66,128,32,,0,0,0,v,,,", +"5F96184B,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,v,,,", +"5FAB6BCE,Famicom,HVC-NROM-128,2,,0,16,8,,0,0,0,h,,,", +"5FD2AAB1,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3B,4,128,256,,8,0,0,,,,", +"600E717B,Famicom,,,,192,256,256,,1,8,1,4,,,", +"602D7E1B,Famicom,,,,45,512,512,,0,0,0,,,,", +"603AAA57,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,256,128,,0,0,0,,,,", +"6058C65D,Famicom,HVC-NROM-256,3A,,0,32,8,,0,0,0,v,,,", +"605F5D51,Famicom,,,,2,128,,8,0,0,0,v,,,", +"607BD020,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"60925D08,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"6096F84E,Famicom,,,,104,1280,,8,0,0,0,v,,,", +"60A3B803,Famicom,HVC-CNROM,097,,3,32,32,,0,0,0,v,,,", +"60A59624,NesPal,,,,113,128,128,,0,0,0,,,,", +"60AA9AE0,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"60AD090A,Famicom,BANDAI-CNROM,BA-アスレチックス,,3,32,32,,0,0,0,v,FamilyTrainer,,", +"60BFEB0C,Famicom,,,,90,128,256,,0,0,0,,,,", +"60E563F1,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"60E63537,NesNtsc,NES-SFROM,NES-WH,MMC1,1,128,64,,0,0,0,,Zapper,,", +"60EA98A0,NesPal,NES-SNROM,NES-SNROM-05,MMC1B3,1,256,,8,0,8,1,,,,", +"6104C630,Famicom,,,,0,32,8,,0,0,0,h,,,", +"61061352,Famicom,,,,112,32,32,,0,0,0,,Zapper,,", +"61179BFA,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"61253D1C,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,64,32,,0,0,0,v,,,", +"6150517C,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1B2,1,256,,8,0,0,0,,,,", +"61721163,Dendy,,,,0,32,8,,0,0,0,h,,,", +"6175B9A0,Famicom,,,,235,2048,,8,0,0,0,,,,", +"619BEA12,Famicom,,,,4,128,128,,0,0,0,,,,", +"61A852EA,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,0,8,1,,BattleBox,,", +"61B4295A,Famicom,JALECO-JF-09,JF-08,,87,32,32,,0,0,0,v,,,", +"61D86167,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1B1-H,1,128,128,,0,0,0,,PowerPad,,", +"622E054A,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"622F059D,Famicom,TAITO-NROM-128,PLT192AS1Y,,0,16,8,,0,0,0,h,,,", +"626ABD49,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,128,,0,0,0,,,,", +"6272C549,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"62B90A0C,Famicom,,,,66,128,32,,0,0,0,v,,,", +"62C67984,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,FourPlayer,,", +"62E2E7FC,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"62EF6C79,NesNtsc,,,,232,256,,8,0,0,0,v,,,", +"6332E4CA,NesNtsc,,,,11,32,32,,0,0,0,v,Zapper,,", +"63338C3C,Famicom,JALECO-JF-02,JF,,0,16,8,,0,0,0,h,,,", +"63469396,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"636923BB,Famicom,IREM-NROM-256,IREM-01-H,,0,32,8,,0,0,0,v,,,", +"637134E8,Famicom,,,,193,128,256,,0,0,0,v,,,", +"6377CB75,Famicom,,,,1,128,16,,0,8,1,,,,", +"637BA508,NesPal,NTDEC-N715062,N715062,,3,32,32,,0,0,0,v,,,", +"637FE65C,NesNtsc,AVE-NINA-06,NINA-06,,79,32,32,,0,0,0,v,,,", +"638DBC52,NesPal,NTDEC-TC-112,H2527,TC-112,193,128,128,,0,0,0,v,,,", +"6396B988,Famicom,HVC-ETROM,HVC-ETROM-02,MMC5,5,256,128,,8,8,1,,,,", +"639D74E4,Famicom,,,,1,128,128,,0,0,0,,,,", +"63ABF889,VsUni,,,,99,32,16,,0,0,0,4,,,", +"63AEA200,Famicom,HVC-NROM-128,HVC-NROM-02,,0,16,8,,0,0,0,v,,,", +"63C4E122,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"63DDD219,NesNtsc,,,,0,16,8,,0,0,0,h,,,", +"63E992AC,NesNtsc,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,h,,,", +"63FCC0DD,NesNtsc,NES-SLROM,NES-SLROM-04,MMC1B2,1,128,128,,0,0,0,,,,", +"6435C095,NesNtsc,NES-SBROM,NES-SBROM-02,MMC1B2,1,64,32,,0,0,0,,PowerPad,,", +"6439F53A,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"644DFE2B,Famicom,,,,3,32,32,,0,0,0,v,,,", +"644E312B,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1A,1,256,,8,0,0,0,,,,", +"6479E76A,Famicom,JALECO-JF-24,JF-24A,D7755C,18,128,128,,0,0,0,,,,", +"64A02715,Famicom,,,,1,128,128,,0,0,0,,,,", +"64B710D2,NesNtsc,NES-UNROM,NES-UN-ROM-05,,2,128,,8,0,0,0,v,,,", +"64BBCB77,Famicom,NAMCOT-3301,3301,,0,16,8,,0,0,0,h,,,", +"64BD6CDB,Famicom,HVC-SEROM,SE-01A,MMC1B2,1,32,32,,0,0,0,,,,", +"64C0FA3B,Famicom,HVC-UNROM,HVC-UNROM-10,,2,128,,8,0,0,0,v,,,", +"64C96F53,Famicom,HVC-NROM-128,9011-04,,0,16,8,,0,0,0,v,,,", +"64D56316,Famicom,,,,0,32,8,,0,0,0,h,,,", +"64FD3BA6,Famicom,HVC-TLROM,HVC-TLROM-03,MMC3B,4,128,128,,0,0,0,,FourPlayer,,", +"652F3324,Famicom,JALECO-JF-24,JF-24A,SS88006,18,128,128,,0,0,0,,,,", +"654F4E90,NesPal,NES-SGROM,NES-SGROM-02,MMC1A,1,128,,8,0,0,0,,3dGlasses,,", +"65518EAE,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"655EFEED,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,h,,,", +"656196A6,Famicom,,,,0,16,8,,0,0,0,v,,,", +"656D4265,Famicom,HVC-NROM-128,9011-04,,0,16,8,,0,0,0,v,,,", +"656FA3B5,Famicom,JALECO-JF-07,JF-07,,87,32,16,,0,0,0,v,,,", +"657F7875,Famicom,HVC-NROM-256,9011-09,,0,32,8,,0,0,0,v,,,", +"65D1AB64,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"66066326,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"66471EFE,VsUni,,,,99,32,16,,0,0,0,4,,,", +"664E9906,Famicom,,,,4,128,128,,0,0,0,,,,", +"666BE5EC,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"668D1715,NesPal,NES-TKROM,NES-TKROM-10,MMC3C,4,256,256,,0,8,1,,,,", +"669EC739,Famicom,,,,12,256,512,,0,0,0,,,,", +"66DD04E1,Famicom,,,,1,256,,8,0,8,1,,,,", +"66EBDB64,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"66ED9C00,Famicom,,,,4,128,128,,0,0,0,,,,", +"66F4D9F5,Famicom,,,,1,64,128,,0,0,0,,,,", +"66F6A39E,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"671F23A8,NesPal,NES-ELROM,NES-ELROM-01,MMC5,5,256,128,,0,0,0,,,,", +"6720ABAC,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"672BD0E4,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"6733607A,Dendy,,,,15,512,,8,8,0,0,v,,,", +"6750CA0F,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"67555417,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3B,4,256,256,,0,8,1,,,,", +"6772CA86,Famicom,,,,4,128,128,,0,0,0,,,,", +"67751094,NesNtsc,KONAMI-SLROM,351908,MMC1B2,1,128,128,,0,0,0,,Zapper,,", +"67755041,Famicom,,,,3,32,32,,0,0,0,v,,,", +"6776A977,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,,,", +"67811DA6,NesNtsc,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,v,,,", +"67A3C362,Famicom,HVC-SFROM,HVC-SFROM-01,MMC1A,1,128,32,,0,0,0,,,,", +"67CBC0A0,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"67D5C3F9,Famicom,,,,2,128,,8,0,0,0,v,,,", +"67DFCF8E,Famicom,,,,194,256,256,2,9,0,0,,,,", +"67F77118,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,,", +"6800C5B3,Famicom,HVC-TLROM,HVC-TLROM-02,MMC3A,4,128,128,,0,0,0,,,,", +"680D2EDA,Famicom,,,,150,32,16,,0,0,0,,,,", +"680DA78D,NesNtsc,COLORDREAMS-74*377,BC6,,11,64,64,,0,0,0,v,,,", +"681798A8,NesPal,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,v,,,", +"68383607,NesNtsc,NES-ANROM,NES-ANROM-02,,7,128,,8,0,0,0,,,,", +"684AFCCD,Famicom,HVC-CNROM,N04,,3,32,32,,0,0,0,v,,,", +"684B292F,Famicom,NAMCOT-163,60-21,163,19,256,256,,0,0,0,,,,", +"687EBCD7,Famicom,,,,0,16,8,,0,0,0,v,,,", +"689971F9,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"68AFEF5F,NesNtsc,AVE-74*161,A-08-C,,3,32,64,,0,0,0,v,,,", +"68C62E50,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"68CF9B78,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"68EC97CB,NesNtsc,NES-SKROM,NES-SKROM-02,MMC1A,1,128,128,,8,0,0,,,,", +"68F9B5F5,NesPal,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,,", +"68FE207F,Famicom,,,,52,1024,1024,,8,0,0,,,,", +"692F2096,NesNtsc,,,,11,64,64,,0,0,0,v,,N,", +"6944A01A,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"694C801F,NesPal,NES-AOROM,NES-AOROM-03,,7,256,,8,0,0,0,,,,", +"695515A2,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"69565F13,Famicom,HVC-TLROM,HVC-TLROM-03,MMC3A,4,128,128,,0,0,0,,,,", +"69635A6E,NesNtsc,NES-SFROM,NES-SFROM-03,MMC1B2,1,128,32,,0,0,0,,,,", +"696D7839,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"6997F5E1,NesNtsc,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,v,,,", +"699FA085,NesNtsc,NES-NROM-256,NES-NROM-256-04,,0,32,8,,0,0,0,h,,,", +"69BCDB8B,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,128,,8,8,0,0,,,,", +"69D07DDB,Famicom,HVC-UNROM,HVC-UNROM-09,,2,128,,8,0,0,0,v,,,", +"69FEECB2,Famicom,TAITO-CNROM,J9100189A,,3,32,32,,0,0,0,h,,,", +"6A03D3F3,Famicom,,,,114,256,256,,0,0,0,,,,", +"6A154B68,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,h,,,", +"6A1F628A,NesNtsc,NES-TKROM,NES-TKROM-01,MMC3B,4,128,128,,0,8,1,,,,", +"6A457A43,Famicom,HVC-CNROM,097,,3,32,32,,0,0,0,v,,,", +"6A483073,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,64,64,,0,0,0,v,,,", +"6A6B7239,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"6A88579F,NesNtsc,NES-ANROM,NES-ANROM-04,,7,128,,8,0,0,0,,,,", +"6AB68F4F,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,v,,,", +"6ABAD366,NesNtsc,NES-SF1ROM,NES-SF1ROM-02,MMC1B2,1,256,64,,0,0,0,,,,", +"6AE69227,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"6AE762AE,Famicom,KONAMI-NROM-128,641-1-2,,0,16,8,,0,0,0,v,KonamiHypershot,,", +"6B53006A,NesNtsc,NES-SGROM,NES-SGROM-03,MMC1B2,1,128,,8,0,0,0,,,,", +"6B5CA5AE,Famicom,,,,4,128,128,,0,0,0,,,,", +"6B761858,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"6BB6A0CE,NesNtsc,NES-SEROM,NES-SEROM-04,MMC1B2,1,32,32,,0,0,0,,,,", +"6BC33D2F,NesNtsc,NES-TKROM,NES-TKROM-10,MMC3B,4,128,128,,0,8,1,,,,", +"6BC65D7E,Famicom,JALECO-JF-11,JF-11,,140,128,32,,0,0,0,v,,,", +"6BEA1235,Famicom,,,,245,512,,8,0,8,1,,,,", +"6C040686,NesNtsc,,,,232,256,,8,0,0,0,v,,,", +"6C15609F,Famicom,,,,4,128,256,,0,0,0,,,,", +"6C1AB645,NesPal,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"6C4A9735,NesPal,NES-ANROM,NES-ANROM-03,,7,128,,8,0,0,0,,,,", +"6C61B622,Famicom,JALECO-JF-17,JF-17,D7756C,72,128,128,,0,0,0,v,,,", +"6C70A17B,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"6C71FEAE,Famicom,,,,45,1024,1024,,0,0,0,,,,", +"6C93377C,NesNtsc,CAMERICA-BF9093,BIC-64,BF9093,71,64,,8,0,0,0,v,,,", +"6C940A59,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,128,128,,0,8,1,,,,", +"6CCA1C1F,Famicom,BANDAI-CNROM,BA-ウンドウカイ,,3,32,32,,0,0,0,v,FamilyTrainer,,", +"6CD46979,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"6CD9CC23,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1B2,1,128,,8,0,0,0,,,,", +"6CDC0CD9,Famicom,,,,48,128,128,,0,0,0,,,,", +"6D65CAC6,Famicom,HVC-UNROM,HVC-UNROM-01,,2,128,,8,0,0,0,h,,,", +"6D92DFF1,Famicom,,,,60,128,64,,0,0,0,,,,", +"6DC28B5A,Famicom,KONAMI-VRC-4,351406,VRC4,25,128,128,,0,0,0,,,,", +"6DCBAAFD,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"6DCE4B23,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"6DECD886,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"6E0EB43E,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"6E149729,Famicom,,,,189,128,128,,0,0,0,,,,", +"6E4697BF,Famicom,,,,1,128,128,,0,0,0,,,,", +"6E4DCFD2,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3B,4,128,128,,8,0,0,,FourPlayer,,", +"6E68E31A,Famicom,BANDAI-FCG-2,DORAGON BOOL 3,FCG-2,16,128,256,,0,0,0,,,,", +"6E85D8DD,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"6E9E5890,Famicom,,,,2,128,,8,0,0,0,h,,,", +"6EC51DE5,Famicom,NAMCOT-340,CS 0003,340,210,128,128,,0,0,0,v,,,", +"6ED1EC0B,Famicom,,,,3,32,16,,0,0,0,h,,,", +"6ED3BA25,NesNtsc,,,,11,64,64,,0,0,0,v,,,", +"6EE4BB0A,NesNtsc,NES-UNROM,NES-UN-ROM-06,,2,128,,8,0,0,0,v,,,", +"6EE94D32,NesNtsc,ACCLAIM-TLROM,51555-2,MMC3B,4,128,128,,0,0,0,,FourPlayer,,", +"6F10097D,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"6F27300B,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"6F3C67D1,Famicom,NAMCOT-3303,3303,,0,32,8,,0,0,0,h,,,", +"6F4E4312,Famicom,HVC-EWROM,HVC-EWROM-03,MMC5A,5,512,256,,0,32,1,,,,", +"6F5D9B2A,Famicom,IREM-G101,FC-00-016,G-101,32,128,128,,0,0,0,,,,", +"6F6686B0,Famicom,IREM-H3001,FC-00-017B,IF-H3001,65,128,128,,0,0,0,,,,", +"6F8AF3E8,NesNtsc,KONAMI-TLROM,352026,MMC3B,4,128,128,,0,0,0,,,,", +"6F97C721,Famicom,HVC-NROM-128,2A,,0,16,8,,0,0,0,h,,,", +"6FB28AF7,Famicom,,,,4,128,256,,0,0,0,,,,", +"6FB349E2,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"6FD5A271,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"6FD69F34,NesNtsc,NES-SEROM,NES-SEROM-02,MMC1B1-H,1,32,32,,0,0,0,,,,", +"7002FE8D,NesPal,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"70080810,NesNtsc,NES-SNROM,NES-SNROM-02,MMC1,1,128,,8,8,0,0,,,,", +"701B1ADF,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"703E1948,NesNtsc,,,,3,32,32,,0,0,0,v,,,", +"705BD7C3,Famicom,HVC-TLROM,HVC-TLROM-03,MMC3A,4,128,128,,0,0,0,,,,", +"7075BF5E,Famicom,KONAMI-VRC-4,,Konami VRC IV,25,128,128,,0,0,0,,,,", +"7077B075,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"7080D1F8,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,h,,,", +"70860FCA,NesNtsc,NES-NROM-128,NES-NROM-128-01,,0,16,8,,0,0,0,h,,,", +"708EA2BE,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,256,256,,0,8,1,,,,", +"709C9399,NesPal,NES-SLRROM,NES-SLRROM-01,MMC1B2,1,128,128,,0,0,0,,,,", +"70BB52D7,Famicom,,,,2,128,,8,0,0,0,v,,,", +"70C7D241,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"70CE3771,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"70F31D2C,NesPal,CODEMASTERS-NR8N,NR8NV2-1,CME-01,71,256,,8,0,0,0,v,,,", +"70F67AB7,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,0,8,1,,,,", +"711896B8,NesNtsc,NES-SFROM,NES-SFROM-01,MMC1A,1,128,32,,0,0,0,,,,", +"711C2B0E,Famicom,NAMCOT-3407,3407,108,206,32,16,,0,0,0,h,,,", +"71358C06,Famicom,,,,3,32,32,,0,0,0,v,,,", +"7156CB4D,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B2,1,128,,8,0,0,0,,,,", +"716C3FCE,Famicom,,,,0,32,8,,0,0,0,h,,,", +"716DAEA5,Famicom,,,,19,256,256,,0,8,1,,,,", +"7172F3D4,Famicom,,,,1,256,,8,0,8,1,,,,", +"719571B3,NesPal,NES-NROM-128,NES-NROM-128-06,,0,16,8,,0,0,0,h,,,", +"71BF075F,NesNtsc,NES-SEROM,NES-SEROM-02,MMC1A,1,32,32,,0,0,0,,,,", +"71C01B19,NesNtsc,,,,0,32,8,,0,0,0,v,,,", +"71C9ED1E,Famicom,HVC-SGROM,HVC-SGROM-02,MMC1A,1,256,,8,0,0,0,,,,", +"71D8C6E9,Famicom,HVC-SNROM,HVC-SNROM-08,MMC1B2,1,256,,8,0,8,1,,,,", +"721B5217,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"728BFA8D,Famicom,SUNSOFT-NROM-256,UNK-SUNSOFT-R16,,0,32,8,,0,0,0,h,,,", +"72928698,Famicom,SUNSOFT-5A,BAT-E301,FME-7,69,128,128,,0,0,0,,,,", +"72CEAB1E,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"72D81DAA,Playchoice,,,,2,128,,8,0,0,0,v,,,", +"72E66392,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,64,16,,0,0,0,v,,,", +"72FD0055,NesNtsc,UNL-D1038,,,65000,128,64,,0,0,0,h,,,", +"73140EEF,NesNtsc,COLORDREAMS-74*377,BC6,,11,64,64,,0,0,0,v,,,", +"7329118D,NesNtsc,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,h,,,", +"73298C87,NesPal,PAL-ZZ,ZZ,MMC3,37,256,256,,0,0,0,,FourPlayer,,", +"732B0675,Playchoice,,,,1,128,,8,0,0,0,,,,", +"73418721,Famicom,HVC-NROM-256,3A,,0,32,8,,0,0,0,v,,,", +"73620901,NesNtsc,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"738275D9,Famicom,,,,66,128,32,,0,0,0,v,,,", +"73921674,Famicom,,,,3,32,32,,0,0,0,v,,,", +"739A1027,Famicom,HVC-NROM-128,9011-04,,0,16,8,,0,0,0,h,,,", +"73C246D4,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,64,64,,0,0,0,v,,,", +"73C7FCF4,NesNtsc,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"73D5F7D3,Famicom,,,,0,32,8,,0,0,0,v,,,", +"73E41AC7,Famicom,,,,1,256,,8,0,0,0,,,,", +"73F7E5D8,Famicom,HVC-SNROM,HVC-SNROM-05,MMC1A,1,256,,8,0,8,1,,,,", +"73FB55AC,Famicom,,,,150,64,64,,0,0,0,,Zapper,,", +"7416903F,NesNtsc,ACCLAIM-MC-ACC,53361-2,MC-ACC,4,256,128,,0,0,0,,,,", +"74189E12,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"743387FF,Famicom,KONAMI-VRC-7,352402,VRC7,85,512,,8,0,8,1,,,,", +"74386F15,NesNtsc,NES-SLROM,NES-SLROM-04,MMC1B2,1,128,128,,0,0,0,,,,", +"744A0721,Famicom,,,,4,128,128,,0,0,0,,,,", +"744C93AE,Famicom,,,,0,32,8,,0,0,0,h,,,", +"74663267,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"7474AC92,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"74920C13,NesNtsc,UNL-RACERMATE,R981-112-00,,168,64,,64,0,0,0,h,Racermate,,", +"74BEA652,Famicom,,,,3,32,32,,0,0,0,v,Zapper,,", +"74F0A89F,Famicom,HVC-CNROM+SECURITY,1A,,185,32,8,,0,0,0,h,,,", +"75255F88,NesNtsc,NES-SL1ROM,NES-SL1ROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"752743EC,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B1-H,1,128,128,,0,0,0,,,,", +"753768A6,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"757EFB63,NesPal,NTDEC-N715061,N715061,,3,32,8,,0,0,0,h,,,", +"75901B18,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,128,,8,8,0,0,,,,", +"759418D2,NesPal,,,,2,128,,8,0,0,0,h,,,", +"75A7E399,Famicom,HVC-NROM-256,3I,,0,32,8,,0,0,0,h,,,", +"75B3EB37,Famicom,JALECO-JF-24,JF-24A,SS88006,18,128,128,,0,0,0,,,,", +"75C3E7D4,NesPal,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,h,,,", +"75C94DE2,Famicom,,,,0,32,8,,0,0,0,v,,,", +"7621D572,Famicom,,,,171,32,32,,0,0,0,v,,,", +"7653103A,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"766C2CAC,VsUni,,,,99,32,16,,0,0,0,4,,,", +"7678F1D5,Famicom,TAITO-X1-005,アシユラー,X1-005,207,256,128,,0,0,0,,,,", +"768A1B6A,Famicom,HVC-TLROM,HVC-TLROM-02,MMC3A,4,128,128,,0,0,0,,,,", +"76A6A813,Famicom,,,,0,8,8,,0,0,0,,,,", +"76C161E3,NesPal,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,,", +"7712BD99,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"771C8855,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"771CE357,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"7739672E,Famicom,,,,146,32,32,,0,0,0,v,,,", +"77512388,Famicom,,,,0,16,8,,0,0,0,v,,,", +"7751588D,NesPal,NES-SNROM,NES-SNROM-02,MMC1A,1,128,,8,8,0,0,,,,", +"77833016,NesNtsc,NES-NROM-256,NES-NROM-256-01,,0,32,8,,0,0,0,v,,,", +"77BF8B23,NesNtsc,NES-NROM-256,NES-NROM-256-05,,0,32,8,,0,0,0,h,,,", +"77DCBBA3,Famicom,HVC-SFROM,HVC-SFROM-01,MMC1A,1,128,32,,0,0,0,,,,", +"77F0F71D,NesNtsc,,,,4,256,128,,0,0,0,,,,", +"780F9F28,Famicom,,,,0,32,8,,0,0,0,v,,,", +"78211EBF,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,128,,0,0,0,,,,", +"7840B18D,Famicom,,,,4,128,128,,0,0,0,,,,", +"784272F2,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"78872BD7,Famicom,,,,4,256,256,,0,0,0,,,,", +"78A48B23,Famicom,HVC-NROM-128,2,,0,16,8,,0,0,0,h,,,", +"78A97FCE,Famicom,,,,229,512,256,,0,0,0,,,,", +"78B657AC,Famicom,HVC-TLSROM,HVC-TLSROM-01,MMC3B,118,256,128,,0,0,0,,BattleBox,,", +"78C4460D,Famicom,,,,1,256,,8,0,8,1,,,,", +"78EB1CFF,Famicom,,,,3,32,16,,0,0,0,v,,,", +"790B295B,NesPal,NES-TEROM,NES-TEROM-02,MMC3A,4,32,32,,0,0,0,,Zapper,,", +"791138D9,NesNtsc,,,,0,16,8,,0,0,0,v,,,", +"792070A9,NesNtsc,CAMERICA-BF9096,BIC-48,BF9096,232,256,,8,0,0,0,v,,,", +"794CAAB6,Famicom,KONAMI-VRC-1,350459,VRC1,75,128,128,,0,0,0,,,,", +"795BC424,NesPal,,,,137,32,32,,0,0,0,4,,,", +"79698B98,Famicom,,,,4,256,128,,0,8,1,,,,", +"7980C4F7,Famicom,HVC-TLROM,HVC-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"798EEB98,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"79D48F34,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"79D7624A,Famicom,,,,189,128,128,,0,0,0,h,,,", +"79F688BC,NesPal,NES-TSROM,NES-TSROM-08,MMC3B,4,128,128,,8,0,0,,FourPlayer,,", +"79FBA5A2,Famicom,,,,2,128,,8,0,0,0,v,,,", +"7A0985A7,Famicom,,,,45,256,,8,0,0,0,,,,", +"7A11D2C9,Famicom,,,,1,128,32,,0,0,0,,,,", +"7A1281CF,Famicom,,,,0,32,8,,0,0,0,h,,,", +"7A497AE3,Famicom,TAITO-TC0350FMR,J9100197A,TC0350FMR,33,128,256,,0,0,0,,,,", +"7A9BE620,NesPal,,,,0,32,8,,0,0,0,v,,,", +"7AA02377,Famicom,,,,2,128,,8,0,0,0,v,,,", +"7ABB83D5,Famicom,,,,0,16,8,,0,0,0,h,,,", +"7AE0BF3C,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B3,1,128,,8,0,8,1,,,,", +"7AE5C002,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"7B0A41B9,Famicom,JALECO-JF-15,JF-15,,2,256,,8,0,0,0,v,,,", +"7B44FB2A,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,8,0,0,,Mahjong,,", +"7B4ED0BB,NesNtsc,ACCLAIM-MC-ACC,55741,MC-ACC,4,128,256,,0,0,0,,,,", +"7B5206AF,Famicom,BANDAI-FCG-1,DORAGON2,FCG-2,16,128,128,,0,0,0,,,,", +"7B55D481,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"7B6DC772,Famicom,NAMCOT-3425,3425,118,95,128,32,,0,0,0,,,,", +"7B72FBA4,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"7B837FDE,Playchoice,,,,9,128,128,,0,8,1,,,,", +"7BA3F8AE,NesPal,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"7BB5664F,Famicom,NAMCOT-3405,3405,109,206,128,32,,0,0,0,h,,,", +"7BCCAFBB,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,256,256,,0,0,0,,,,", +"7BD8F902,Famicom,,,,4,256,128,,0,0,0,,,,", +"7BDD12F3,Dendy,,,,241,128,,8,8,0,0,v,SuborKeyboard,,", +"7BF8A890,Famicom,HVC-TLROM,HVC-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"7C108923,Famicom,,,,1,128,128,,0,0,0,,,,", +"7C16F819,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,FourPlayer,,", +"7C27AB86,Famicom,,,,4,256,256,,0,0,0,,,,", +"7C3D2EA3,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"7C4A72D8,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"7C596E45,Famicom,HVC-NROM-256,HVC-NROM-256K-02,,0,32,8,,0,0,0,v,,,", +"7C6A3D51,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"7C6F615F,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"7C7A0A73,NesNtsc,NES-SKEPROM,NES-SKEPROM-01,MMC1A,1,128,128,,0,0,0,,,,", +"7CB0D70D,NesPal,NES-ANROM,NES-ANROM-03,,7,128,,8,0,0,0,,,,", +"7CCB8D1E,Dendy,,,,0,16,8,,0,0,0,h,,,", +"7CFF0F84,VsUni,,,,99,32,16,,8,0,0,4,,,", +"7D48D1EB,Famicom,,,,2,128,,8,0,0,0,v,,,", +"7D55CF29,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,3dGlasses,,", +"7D5F149B,NesNtsc,,,,4,128,128,,0,0,0,,,,", +"7D718B44,Famicom,,,,0,32,8,,0,0,0,h,,,", +"7DA77F11,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"7DCB4C18,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"7DCBEA73,Famicom,,,,3,32,16,,0,0,0,v,,,", +"7DD0AFC8,NesNtsc,,,,147,64,128,,0,0,0,v,,,", +"7DE81BC5,Famicom,,,,198,640,,8,1,8,1,,,,", +"7E053E64,Famicom,NAMCOT-3301,3301,,0,16,8,,0,0,0,h,,,", +"7E26C7D0,Famicom,,,,2,128,,8,0,0,0,v,,,", +"7E449555,Famicom,,,,53,2080,,8,0,0,0,,,,", +"7E4BA78F,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"7E57FBEC,NesNtsc,ACCLAIM-MC-ACC,53361-2,MC-ACC,4,128,128,,0,0,0,,,,", +"7E9BCA05,NesNtsc,KONAMI-UNROM,351258,,2,128,,8,0,0,0,h,,,", +"7EABDA5C,NesNtsc,COLORDREAMS-74*377,BC5,,11,128,128,,0,0,0,v,,,", +"7EAE9A13,NesNtsc,MLT-MAXI15,D-1012,4053,234,512,512,,0,0,0,,,,", +"7EC6F75B,Famicom,,,,4,128,128,,0,0,0,,,,", +"7EE02CA2,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"7EE625EB,Famicom,KONAMI-NROM-128,641-1-1,,0,16,8,,0,0,0,h,,,", +"7F08D0D9,NesPal,,,,4,128,128,,0,0,0,,FourPlayer,,", +"7F1D087F,Famicom,,,,1,256,128,,0,0,0,,,,", +"7F24EFC0,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVB,,11,64,64,,0,0,0,v,,,", +"7F3018F2,Famicom,,,,148,32,64,,0,0,0,h,,,", +"7F45CFF5,Famicom,,,,92,256,128,,0,0,0,v,,,", +"7F495283,Famicom,HVC-NROM-256,3A,,0,16,8,,0,0,0,v,,,", +"7F4CB1B4,NesPal,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"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,,,,", +"7FEDC0D7,Famicom,,,,0,16,8,,0,0,0,v,,,", +"7FF76219,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"80250D64,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"803B9979,Famicom,,,,4,128,128,,0,8,1,,,,", +"804F898A,Famicom,HVC-UNROM,HVC-UNROM-09,,2,128,,8,0,0,0,v,,,", +"805F81BC,Famicom,KONAMI-UNROM,350489,,2,128,,8,0,0,0,v,,,", +"806DE21E,NesPal,NES-AOROM,NES-AOROM-03,,7,256,,8,0,0,0,,,,", +"80796845,Famicom,,,,2,128,,8,0,0,0,v,,,", +"808606F0,Famicom,NAMCOT-175,110F0 B,175,210,128,128,,0,0,0,v,,,", +"80D63472,NesNtsc,,,,145,16,16,,0,0,0,h,,,", +"80EB1839,Famicom,,,,215,256,256,,0,0,0,,,,", +"80FB7E6B,Famicom,HVC-TSROM,HVC-TSROM-04,MMC3C,4,128,128,,8,0,0,,,,", +"8106E694,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"810B7AB9,NesNtsc,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"8111BA08,NesNtsc,NES-AOROM,NES-AOROM-03,,7,256,,8,0,0,0,,,,", +"811F06D9,NesNtsc,NES-GNROM,NES-GN-ROM-03,,66,128,32,,0,0,0,v,,,", +"81210F63,NesPal,,,,0,16,8,,0,0,0,h,,,", +"81389607,NesNtsc,NES-NROM-256,NES-NROM-256-04,,0,32,8,,0,0,0,h,,,", +"816AD178,NesNtsc,NES-TKEPROM,NES-TKEPROM-01,MMC3A,4,128,128,,0,0,0,,,,", +"817431EC,NesNtsc,KONAMI-UNROM,351320,,2,128,,8,0,0,0,v,,,", +"8192D2E7,NesNtsc,NES-SGROM,NES-SGROM-02,MMC1,1,256,,8,0,0,0,,,,", +"81A5EB65,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"81AF4AF9,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,h,,,", +"81B2A3CD,NesNtsc,NES-TKEPROM,NES-TKEPROM-02,MMC3B,4,128,128,,8,0,0,,,,", +"81B7F1A8,Famicom,NAMCOT-175,60-19,175,210,128,128,,0,0,0,v,,,", +"81ECDA0D,NesNtsc,AVE-NINA-07,NINA-07,,11,128,,8,0,0,0,v,,,", +"81F31409,Famicom,,,,4,256,128,,0,0,0,,,,", +"821F2F9F,Famicom,HVC-SKROM,HVC-SKROM-05,,1,128,128,,0,0,0,,,,", +"821FEB7A,Famicom,SUNSOFT-NROM-128,57-A1,,0,16,8,,0,0,0,v,,,", +"822F17EB,Famicom,,,,1,128,128,,0,0,0,,,,", +"823AFD95,Famicom,,,,2,128,,8,0,0,0,h,,,", +"828F8F1F,Famicom,HVC-SKROM,HVC-SKROM-01,MMC1A,1,128,128,,8,0,0,,,,", +"8293803A,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"82AFA828,NesNtsc,NES-SLROM,NES-SLROM-04,MMC1B2,1,128,128,,0,0,0,,,,", +"82B9BBA7,Famicom,,,,4,256,256,,0,0,0,,,,", +"82BE4724,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,h,,,", +"82F1FB96,Dendy,,,,166,128,,8,8,0,0,v,SuborKeyboard,,", +"83000991,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,h,,,", +"8308FED7,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"831E6E0E,Famicom,,,,4,128,128,,0,0,0,,,,", +"831F9C1A,NesNtsc,AVE-MB-91,MB-91«E»,,79,32,64,,0,0,0,h,,,", +"8324A464,Famicom,HVC-UNROM,HVC-UNROM-08,,2,128,,8,0,0,0,v,,,", +"832CF592,VsUni,NES-TR1ROM,,,4,128,64,,0,0,0,4,Zapper,,", +"833458EF,Famicom,,,,0,32,8,,0,0,0,v,,,", +"83431081,Famicom,,,,2,128,,8,0,0,0,h,,,", +"836685C4,NesPal,NES-SFROM,NES-SFROM-04,MMC1B3,1,128,32,,0,0,0,,,,", +"8366CF72,NesNtsc,NES-UNEPROM,NES-UNEPROM-01,,2,128,,8,0,0,0,v,,,", +"836C4FA7,Famicom,IREM-NROM-128,IREM-01-V,,0,16,8,,0,0,0,h,,,", +"836FE2C2,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"837A3D8A,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,256,128,,0,0,0,,,,", +"838BF76F,Famicom,,,,2,128,,8,0,0,0,v,,,", +"83CB743F,Famicom,HVC-SKROM,HVC-SKROM-04,MMC1B2,1,128,128,,0,8,1,,,,", +"83EA7B04,Famicom,,,,4,512,,8,8,0,0,,,,", +"83EAF3B1,Famicom,HVC-SKROM,HVC-SKROM-06,MMC1B2,1,128,128,,0,8,1,,,,", +"83FC38F8,NesNtsc,NES-TFROM,NES-TFROM-01,MMC3A,4,128,32,,0,0,0,,,,", +"84148F73,NesNtsc,NES-SL3ROM,NES-SL3ROM-01,MMC1B2,1,256,128,,0,0,0,,,,", +"841B69B6,NesNtsc,NES-SNROM,NES-SNROM-05,MMC1B3,1,128,,8,8,0,0,,,,", +"842A3FD9,NesPal,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,h,,,", +"84382231,Famicom,,,,9,128,128,,0,0,0,,,,", +"8442B86C,Famicom,,,,87,32,32,,0,0,0,v,,,", +"847D672D,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3B,4,128,256,,8,0,0,,,,", +"84BE00E9,Famicom,HVC-NROM-128,3A,,0,16,8,,0,0,0,v,,,", +"84C00513,Famicom,,,,0,32,8,,0,0,0,h,,,", +"84C4A12E,NesPal,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"84D0E294,Famicom,,,,0,32,8,,0,0,0,h,,,", +"84F7FC31,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"850090BC,Famicom,HVC-SKROM,HVC-SKROM-03,MMC1B2,1,128,128,,0,8,1,,,,", +"851EB9BE,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,Zapper,,", +"8531C166,Famicom,,,,1,128,128,,0,0,0,,,,", +"85323FD6,NesNtsc,AVE-NINA-03,NINA-03 REV. A,,79,32,32,,0,0,0,v,,,", +"853FEEA4,NesPal,NES-TEROM,NES-TEROM-03,MMC3B,4,32,32,,0,0,0,,,,", +"856E7600,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"857381F0,Famicom,,,,4,512,,8,0,8,1,,,,", +"8575A0CB,Famicom,HVC-NROM-256,HVC-NROM-256K-02,,0,32,8,,0,0,0,v,,,", +"8593E5AD,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"8599D7A1,Famicom,,,,198,640,,8,1,8,1,,,,", +"859C65E1,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"85A6C0D5,NesNtsc,NES-SLROM,NES-SLROM-04,MMC1B2,1,128,128,,0,0,0,,,,", +"85BC0777,Famicom,HVC-TNROM,HVC-TNROM-02,MMC3B,4,512,,8,0,8,1,,,,", +"85C5953F,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"85D79AB2,Famicom,,,,0,32,8,,0,0,0,v,,,", +"85E0090B,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"85F12D37,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"86083FBC,NesPal,NTDEC-N715062,N715062,,3,32,32,,0,0,0,v,,,", +"8650BE49,NesPal,,,,4,128,128,,8,0,0,,,,", +"8660371D,Famicom,,,,0,16,8,,0,0,0,h,,,", +"86670C93,NesNtsc,NES-NROM-256,NES-NROM-256-02,,0,32,8,,0,0,0,v,,,", +"866F145C,VsUni,NES-DRROM,,,206,128,64,,0,0,0,,,,", +"86759C0F,Famicom,,,,1,256,,8,0,0,0,,,,", +"86867830,NesPal,NES-CNROM,NES-CNROM-08,,3,32,32,,0,0,0,v,,,", +"869501CA,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"86964EDD,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"86974CCC,NesNtsc,COLORDREAMS-74*377,BC6,,11,128,128,,0,0,0,v,,,", +"869BCAF2,Famicom,,,,2,128,,8,0,0,0,v,,,", +"86ACB36B,Famicom,HVC-CNROM,HVC-CNROM-256K-01,,3,32,16,,0,0,0,v,,,", +"86B0D1CF,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,,", +"86B206B1,Famicom,,,,156,128,128,,0,0,0,,,,", +"86C495C6,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"86CEFC12,Famicom,KONAMI-NROM-128,450068A,,0,16,8,,0,0,0,h,,,", +"86E02D65,NesPal,NES-TBROM,NES-TBROM-01,MMC3B,4,64,64,,0,0,0,,,,", +"872DE7A2,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,,", +"8752DCCB,Famicom,,,,3,32,32,,0,0,0,h,,,", +"87CE3F34,Famicom,,,,4,256,128,,0,8,1,,,,", +"87D7CAF0,Famicom,HVC-CNROM,9011-N02,,185,32,8,,0,0,0,h,,,", +"87DA4BD0,Famicom,HVC-CNROM+SECURITY,HVC-CNROM-256K-01,,185,32,8,,0,0,0,v,,,", +"88053D25,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,,,", +"88062D9A,Famicom,,,,4,128,128,,0,0,0,,FourPlayer,,", +"882E1901,NesNtsc,AVE-MB-91,MB-91«A»,,79,32,32,,0,0,0,v,,,", +"88338ED5,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"883454EA,Famicom,JALECO-JF-08,JF-08,,87,32,16,,0,0,0,v,,,", +"886B5BD3,Famicom,,,,3,32,32,,0,0,0,v,,,", +"8889C564,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,256,,0,0,0,,,,", +"889129CB,NesNtsc,NES-HKROM,NES-HKROM-01,MMC6B,4,256,256,,0,0,1,,,,", +"8897A8F1,NesPal,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"88A6B192,NesNtsc,AVE-NINA-03,NINA-03 REV. A,,79,32,32,,0,0,0,h,,,", +"88C30FDA,NesPal,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"88CB68A7,Famicom,,,,164,1024,,8,0,8,1,h,,,", +"88E1A5F4,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"8904149E,NesPal,NES-AOROM,NES-AOROM-03,,7,256,,8,0,0,0,,,,", +"892434DD,NesNtsc,CAMERICA-BF9093,BIC-43,BF9093,71,256,,8,0,0,0,v,,,", +"8927FD4C,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"892CBBC2,Famicom,HVC-CNROM+SECURITY,HVC-CNROM-256K-01,,185,32,8,,0,0,0,v,,,", +"894EFDBC,Famicom,,,,157,256,,8,0,0,0,,,,", +"895037BC,Famicom,HVC-FAMILYBASIC,FB-N-128-02,,0,32,8,,0,2,1,v,FamilyKeyboard,,", +"89550500,Famicom,,,,0,32,8,,0,0,0,h,,,", +"89567668,Famicom,HVC-SEROM,SE-01A,MMC1B2,1,32,32,,0,0,0,,,,", +"8980D0E8,Famicom,,,,224,1024,,8,0,8,1,,,,", +"89821E2B,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"898E4232,NesPal,NES-ANROM,NES-ANROM-02,,7,128,,8,0,0,0,,,,", +"89984244,NesPal,NES-AOROM,NES-AOROM-03,,7,256,,8,0,0,0,,,,", +"89A45446,NesPal,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"89B56859,VsUni,,,,206,128,32,,0,0,0,h,,,", +"89D42098,Famicom,NAMCOT-3305,3305,,0,32,8,,0,0,0,v,,,", +"89E085FE,Famicom,HVC-SNROM,HVC-SNROM-07,MMC1A,1,256,,8,0,8,1,,,,", +"89EC53C8,NesPal,,,,2,128,,8,0,0,0,v,,,", +"8A043CD6,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"8A0C7337,NesPal,NES-NROM-128,NES-NROM-128-01,,0,16,8,,0,0,0,v,,,", +"8A12A7D9,Famicom,BANDAI-CNROM,BA-タケシジヨウ,,3,32,32,,0,0,0,v,FamilyTrainer,,", +"8A368744,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"8A36D2B7,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"8A5BC0D3,Famicom,HVC-TBROM,HVC-TBROM-01,MMC3B,4,64,64,,0,0,0,,,,", +"8A640AEF,NesNtsc,NES-TL1ROM,NES-TL1ROM-01,MMC3B,4,128,128,,0,0,0,,,,", +"8A65E57C,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"8A7D0ABE,Famicom,TAITO-TC0190FMC,AKIRA-A,TC0190FMC,33,128,256,,0,0,0,,,,", +"8A96E00D,Famicom,KONAMI-VRC-2,350926,VRC2,23,128,128,,0,0,0,,,,", +"8AB52A24,NesNtsc,KONAMI-UNROM,351258,,2,128,,8,0,0,0,v,,,", +"8ADA3497,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"8AF25130,Famicom,NAMCOT-3401,3401,109,206,32,32,,0,0,0,h,,,", +"8B03F74D,Famicom,KONAMI-VRC-4,352398,VRC4,21,256,128,,0,0,0,,,,", +"8B4A2866,Famicom,HVC-CNROM,HVC-CNROM-256K-01,,3,32,32,,0,0,0,v,,,", +"8B4D2443,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"8B7D3C75,NesPal,NES-SEROM,NES-SEROM-04,MMC1B2,1,32,32,,0,0,0,,,,", +"8B8E405A,Famicom,,,,3,32,32,,0,0,0,v,,,", +"8B9CB8F2,Famicom,,,,3,32,32,,0,0,0,v,,,", +"8B9D3E9C,NesNtsc,NES-SGROM,NES-SGROM-02,MMC1A,1,128,,8,0,0,0,,3dGlasses,,", +"8BA75848,Famicom,HVC-NROM-128,HVC-NROM-03,,0,16,8,,0,0,0,v,,,", +"8BAA5FF2,Famicom,KONAMI-NROM-128,450067A,,0,16,8,,0,0,0,v,,,", +"8BAEEDC0,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"8BCA5146,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B3,1,256,,8,0,0,0,,,,", +"8BCB0993,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,256,128,,0,8,1,,,,", +"8BCDE59A,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"8BF29CB6,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"8C0C2DF5,VsUni,,,,2,128,,8,0,0,0,h,,,", +"8C23DBC4,Famicom,,,,3,32,32,,0,0,0,v,,,", +"8C252AC4,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"8C4D59D6,Famicom,HVC-SKROM,HVC-SKROM-06,MMC1B3,1,128,128,,0,8,1,,TurboFile,,", +"8C5A784E,NesNtsc,NES-SNROM,NES-SNROM-05,MMC1B2,1,256,,8,0,8,1,,,,", +"8C5FFBBD,Famicom,,,,45,512,512,,8,0,0,,,,", +"8C6631C8,Famicom,,,,0,16,8,,0,0,0,v,,,", +"8C88536F,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"8C8DEDB6,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,256,,0,0,0,,,,", +"8CA72D80,Famicom,TAITO-X1-017,J9100231A,X1-017,82,128,256,,0,0,1,,,,", +"8CB6D32C,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,h,,,", +"8CE01E14,Famicom,,,,163,2048,,8,0,8,1,v,,,", +"8CE478DB,NesNtsc,NES-ETROM,NES-ETROM-01,MMC5,5,256,128,,8,8,1,,,,", +"8D26FDEA,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,128,128,,0,8,1,,,,", +"8D3C33B3,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"8D5B77C0,Famicom,HVC-SKROM,HVC-SKROM-03,MMC1A,1,128,128,,8,0,0,,,,", +"8D77E5E6,Famicom,,,,4,256,,8,0,8,1,,,,", +"8D901FAD,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"8D97155C,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,v,,,", +"8D9AD3BF,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,h,,,", +"8DA4E539,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"8DA651D4,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"8DA6667D,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,FourPlayer,,", +"8DB43824,NesNtsc,NES-SKEPROM,NES-SKEPROM-01,MMC1B2,1,128,128,,0,0,0,,,,", +"8DCD9486,Famicom,HVC-SJROM,HVC-SJROM-01,MMC1A,1,128,32,,0,8,1,,,,", +"8DD92725,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"8DEDEA07,Famicom,,,,3,32,32,,0,0,0,v,,,", +"8E066CCB,Famicom,HVC-UNROM,HVC-UNROM-04,,2,128,,8,0,0,0,v,Mahjong,,", +"8E0D9179,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"8E2BD25C,Famicom,,,,0,32,8,,0,0,0,v,,,", +"8E373118,Famicom,HVC-SKROM,HVC-SKROM-06,MMC1B3,1,128,128,,8,0,0,,,,", +"8E62D229,Famicom,HVC-CNROM,,,185,32,8,,0,0,0,h,,,", +"8E7ABDFC,Famicom,,,,2,128,,8,0,0,0,v,,,", +"8E9AFEF0,Famicom,,,,225,1024,512,,0,0,0,,,,", +"8EAB381C,NesNtsc,AVE-NINA-06,NINA-06,,79,64,64,,0,0,0,v,,,", +"8ECBC577,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"8EE25F78,Famicom,TAITO-X1-005,P3-034-C,X1-005,80,128,128,,0,0,1,,,,", +"8EE7C43E,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"8EEF8B76,Famicom,HVC-TNROM,HVC-TNROM-01,MMC3B,4,512,,8,0,8,1,,,,", +"8F011713,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,128,128,,0,8,1,,,,", +"8F197B0A,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"8F4497EE,Famicom,HVC-CNROM,CN-04B,,3,32,16,,0,0,0,h,,,", +"8F4FEC56,Famicom,,,,231,512,,8,0,0,0,,,,", +"8F628D51,Famicom,HVC-TLROM,HVC-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"8F6CC85A,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,v,,,", +"8F726DBC,Famicom,,,,1,128,,8,0,0,0,,,,", +"8F7B2FE7,Famicom,,,,45,1024,1024,,0,0,0,,,,", +"8FA6E92C,NesPal,,,,4,128,128,,0,0,0,,FourPlayer,,", +"8FF31896,NesNtsc,NES-NROM-128,NES-NROM-128-02,,0,16,8,,0,0,0,v,,,", +"900E3A23,Famicom,,,,4,256,256,,0,8,1,,,,", +"90226E40,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,256,,0,0,0,,,,", +"902E3168,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"903A95EB,Dendy,,,,241,128,,8,8,0,0,v,SuborKeyboard,,", +"9044550E,Famicom,,,,3,32,32,,0,0,0,h,FamilyTrainer,,", +"905B93F6,NesPal,NTDEC-N715061,N715061,,3,32,8,,0,0,0,v,,,", +"90600B85,Famicom,HVC-NROM-256,HVC-NROM-256K-02,,0,32,8,,0,0,0,v,,,", +"908505EE,Famicom,SUNSOFT-NROM-128,SUN-01-V,,0,16,8,,0,0,0,h,,,", +"90C773C1,NesNtsc,NES-TLSROM,NES-TLSROM-01,MMC3C,118,128,128,,0,0,0,,,,", +"90D68A43,NesNtsc,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,h,,,", +"90ECDADE,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,,,", +"90F3F161,Famicom,JALECO-JF-13,JF-13,D7756C,86,128,64,,0,0,0,v,,,", +"90F6FA33,Famicom,KONAMI-VRC-2,351618,VRC2,22,128,128,,0,0,0,,,,", +"912989DC,Famicom,HVC-FAMILYBASIC,HVC-FB1-128,,0,32,8,,0,2,1,v,FamilyKeyboard,,", +"91328C1D,Famicom,KONAMI-VRC-4,352396,VRC4,23,128,128,,0,0,0,,,,", +"91467F41,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,32,32,,0,0,0,v,Zapper,,", +"9152CE50,Playchoice,,,,2,128,,8,0,0,0,v,,,", +"915A53A7,Famicom,KONAMI-NROM-128,400302H,,0,16,8,,0,0,0,v,KonamiHypershot,,", +"917770D8,NesNtsc,NES-TKEPROM,NES-TKEPROM-01,MMC3B,4,128,256,,0,8,1,,,,", +"917D9262,Famicom,HVC-UNROM,HVC-UNROM-10,,2,128,,8,0,0,0,v,,,", +"9198279E,NesPal,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,,,", +"91AC514E,Famicom,NAMCOT-3433,60-24,108,88,128,128,,0,0,0,h,,,", +"91B4B1D7,NesPal,NES-MHROM,NES-MHROM-05,,66,64,16,,0,0,0,v,Zapper,,", +"91D39B22,Famicom,,,,4,256,256,,0,0,0,,,,", +"91D52E9A,Famicom,JALECO-JF-37,JF-37,SS88006,18,128,128,,0,0,0,,,,", +"91E2E863,NesNtsc,NES-TKROM,NES-TKROM-01,MMC3B,4,128,128,,0,8,1,,,,", +"92197173,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"9235B57B,NesNtsc,CAMERICA-BF9093,BIC-48,BF9093,71,256,,8,0,0,0,v,,,", +"9237B447,NesPal,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"923F915B,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,256,128,,0,8,1,,,,", +"9247C38D,NesPal,NES-TQROM,NES-TQROM-01,MMC3B,119,128,64,8,0,0,0,,,,", +"924CDE0B,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"92547F1C,Famicom,HVC-SNROM,HVC-SNROM-06,MMC1A,1,256,,8,0,8,1,,,,", +"926F07AF,Famicom,,,,225,1024,512,,0,0,0,,,,", +"9273F18E,Famicom,HVC-SKROM,HVC-SKROM-03,MMC1A,1,128,128,,0,8,1,,,,", +"927C7A3A,Famicom,,,,0,16,8,,0,0,0,v,,,", +"92924548,NesPal,NES-NROM-256,NES-NROM-256-03,,0,32,8,,0,0,0,v,,,", +"92A2185C,Famicom,HVC-PEEOROM,HVC-PEEOROM-02,RD387-001,9,128,128,,0,0,0,,,,", +"92A2A702,Famicom,,,,4,128,128,,0,8,1,,,,", +"92A3D007,NesNtsc,AVE-NINA-01,NINA-001 REV. A,,34,64,64,,8,0,0,v,,,", +"92C138E4,NesNtsc,NES-SJROM,NES-SJROM-03,MMC1B2,1,256,64,,8,0,0,,MiraclePiano,,", +"92DD67EA,NesNtsc,NES-SKEPROM,NES-SKEPROM-01,MMC1,1,128,128,,0,0,0,,,,", +"92F04530,Famicom,KONAMI-UNROM,007A,,2,128,,8,0,0,0,v,,,", +"93146BB0,Famicom,,,,3,32,32,,8,0,0,h,,,", +"93196E95,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,h,,,", +"93216279,NesNtsc,,,,46,1024,1024,,0,0,0,v,,,", +"93484CC9,NesPal,MLT-MAXI15,HESI-992,4053,234,512,512,,0,0,0,,,,", +"934DB14A,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"9369A2F8,NesPal,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"93991433,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"93A2EEFB,NesNtsc,NES-SNWEPROM,NES-SNWEPROM,MMC1B2,1,256,,8,0,8,1,,,,", +"93A7D26C,Famicom,HVC-TLROM,HVC-TLROM-02,MMC3A,4,128,128,,0,0,0,,,,", +"93B2CEC4,Famicom,IREM-H3001,FC-00-017C,IF-H3001,65,256,256,,0,0,0,,,,", +"93B49582,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"93F3A490,NesNtsc,TENGEN-800032,800032 REV A,337006,64,64,64,,0,0,0,,,,", +"942B1210,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"943FD73C,Famicom,,,,4,256,128,,0,0,0,,,,", +"94476A70,NesPal,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"948E0BD6,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,128,,0,0,0,,,,", +"9509F703,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3B,4,256,256,,0,8,1,,,,", +"952A9E77,Famicom,,,,1,128,128,,0,0,0,,,,", +"9552E8DF,Famicom,BANDAI-GNROM,BA-ドラゴン,,66,128,32,,0,0,0,v,,,", +"9561798D,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"956E3D90,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,128,256,,0,8,1,,,,", +"958E4BAE,NesNtsc,NES-SCROM,NES-SCROM-03,MMC1B2,1,64,128,,0,0,0,,3dGlasses,,", +"95CE3B58,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,256,128,,0,0,0,,,,", +"95E4E594,NesNtsc,NES-SNROM,NES-SNROM-05,MMC1B2,1,128,,8,8,0,0,,,,", +"96087988,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"961ADCA7,NesNtsc,SACHEN-NROM,NE-001A,,0,16,8,,0,0,0,h,,,", +"9630A7E5,NesPal,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"9632C470,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"965834BD,NesNtsc,,,,18,128,128,,0,0,0,,,,", +"967011AD,NesPal,,,,4,128,128,,0,0,0,,,,", +"96773F32,Famicom,NAMCOT-163,60-21,163,19,256,256,,0,8,1,,,,", +"969EF9E4,NesNtsc,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,h,,,", +"96BA90B0,Famicom,HVC-UNROM,HVC-UNROM-05,,2,128,,8,0,0,0,v,,,", +"96CE586E,Famicom,,,,189,128,128,,0,0,0,,,,", +"96CFB4D8,NesPal,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,,,", +"96DFC776,NesNtsc,TENGEN-800030,800030-01 REV A,337001,206,128,64,,0,0,0,v,,,", +"96E6C1CE,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"972D08C5,Famicom,HVC-SKROM,HVC-SKROM-06,MMC1B2,1,128,128,,0,8,1,,,,", +"972D2784,NesPal,NES-NROM-256,NES-NROM-256-02,,0,32,8,,0,0,0,v,,,", +"9735D267,NesPal,NES-SEROM,NES-SEROM-04,MMC1B2,1,32,32,,0,0,0,,,,", +"973BBF75,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVC,,11,64,64,,0,0,0,v,,,", +"9747AC09,NesNtsc,NES-SLRROM,NES-SLRROM-01,MMC1B2,1,128,128,,0,0,0,,,,", +"974D0745,Famicom,HVC-TLROM,HVC-TLROM-02,MMC3A,4,128,128,,0,0,0,,,,", +"974E8840,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,TurboFile,,", +"976893D2,NesPal,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,h,,,", +"9768E5E0,VsUni,,,,99,32,16,,0,0,0,4,,,", +"979C5314,NesNtsc,NES-UNROM,NES-UN-ROM-05,,2,128,,8,0,0,0,v,,,", +"97B6CB19,Famicom,,,MMC3A,4,256,256,,0,0,0,,,,", +"97BC4585,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"97C77719,NesNtsc,,,,2,128,,8,0,0,0,v,,,", +"97CAD370,Famicom,HVC-FKROM,HVC-FKROM-01,MMC-4,10,256,128,,0,8,1,,,,", +"97D52C06,NesPal,NES-SKROM,NES-SKROM-01,MMC1A,1,128,128,,0,8,1,,,,", +"9806CB84,Famicom,HVC-AOROM,HVC-AOROM-01,,7,256,,8,0,0,0,,,,", +"98087E4D,Famicom,,,,3,32,32,,8,0,0,h,,,", +"980BE936,Famicom,KONAMI-NROM-128,MF4002,,0,16,8,,0,0,0,v,KonamiHypershot,,", +"982DFB38,NesNtsc,ACCLAIM-MC-ACC,55741,MC-ACC,4,128,128,,0,0,0,,,,", +"983948A5,NesNtsc,NES-CNROM,NES-CN-ROM-256-04,,3,32,32,,0,0,0,v,,,", +"983D8175,Famicom,,,,157,256,,8,0,0,0,,,,", +"985B1D05,Famicom,KONAMI-74*139/74,302030A,,87,32,16,,0,0,0,h,,,", +"988798A8,NesNtsc,NES-TGROM,NES-TGROM-01,MMC3C,4,512,,8,0,0,0,,,,", +"988B446D,NesNtsc,NES-NROM-128,NES-NROM-128-03,,0,16,8,,0,0,0,v,,,", +"98977591,Famicom,,,,4,128,128,,0,0,0,,,,", +"989C1019,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,,", +"98A97A59,Famicom,,,,4,512,,8,0,0,0,,,,", +"98C1CD4B,Famicom,,,,192,512,256,,1,8,1,4,,,", +"98CCC9AB,Famicom,SUNSOFT-4,UNK-SUNSOFT-MHA,Sunsoft-4,68,128,128,,0,8,1,,,,", +"98DC1099,Famicom,HVC-CNROM,,,185,32,8,,0,0,0,v,,,", +"98E3C75A,VsUni,,,,99,32,16,,8,0,0,4,,,", +"99083B3A,NesNtsc,COLORDREAMS-74*377,BC6,,11,128,128,,0,0,0,v,,,", +"990985C0,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"99240573,Famicom,BANDAI-LZ93D50+24C02,DRAGON BALL Z-B,FCG-3,16,256,256,,0,0,0,,,,", +"992AF039,Famicom,HVC-SMROM,HVC-SMROM-01,MMC1,1,256,,8,0,0,0,,,,", +"9960A919,Famicom,,,,2,128,,8,0,0,0,v,,,", +"99686DAD,Famicom,,,,1,128,128,,0,0,0,,,,", +"997DAA54,Famicom,,,,60,64,32,,0,0,0,h,,,", +"998422FC,NesPal,NES-HKROM,NES-HKROM-01,MMC6B,4,256,256,,0,0,1,,,,", +"9992F445,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,h,,,", +"999577B6,NesNtsc,NES-UNROM,NES-UN-ROM-05,,2,128,,8,0,0,0,v,,,", +"999584A8,NesPal,NES-NROM-256,NES-NROM-256-05,,0,32,8,,0,0,0,h,,,", +"99A28276,NesPal,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"99A62E47,Famicom,,,,2,128,,8,0,0,0,v,,,", +"99A9F57E,NesNtsc,NES-SEROM,NES-SEROM-02,MMC1A,1,32,32,,0,0,0,,,,", +"99C395F9,Famicom,,,,48,128,128,,0,0,0,,,,", +"99C88648,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"99D15A91,NesNtsc,NES-NROM-256,NES-NROM-256-03,,0,32,8,,0,0,0,v,,,", +"99D38676,Famicom,HVC-TL1ROM,HVC-TL1ROM-01,MMC3A,4,128,128,,0,0,0,,,,", +"99DDDB04,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"9A2DB086,NesPal,NES-NROM-256,NES-NROM-256-02,,0,32,8,,0,0,0,v,,,", +"9A43AB3C,Playchoice,,,,3,32,32,,0,0,0,v,,,", +"9A808C3B,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,h,,,", +"9AACD75D,Famicom,,,,3,32,32,,0,0,0,v,,,", +"9AB274AE,NesNtsc,,,,228,256,128,,0,0,0,,,,", +"9ACE456E,NesNtsc,,,,138,128,128,,0,0,0,h,,,", +"9ADB2AF7,Famicom,,,,0,32,8,,0,0,0,v,,,", +"9ADFC8F0,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,256,,0,0,0,,,,", +"9AE2BAA0,VsUni,,,,99,32,8,,0,0,0,4,,,", +"9B05B278,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"9B208AB1,Famicom,HVC-SIROM,HVC-SIROM-02,MMC1B2,1,32,16,,0,8,1,,,,", +"9B3C5124,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,256,128,,0,8,1,,,,", +"9B506A48,Famicom,HVC-NROM-256,HVC-NROM-256K-02,,0,32,8,,0,0,0,h,,,", +"9B53F848,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1B2,1,128,,8,0,0,0,,,,", +"9B547E05,Famicom,HVC-FJROM,HVC-FJROM-01,MMC-4,10,128,64,,0,8,1,,,,", +"9B568CC4,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"9B821A83,NesNtsc,NES-SNROM,NES-SNROM-05,MMC1B2,1,128,,8,0,8,1,,,,", +"9BAC73EF,NesNtsc,NES-TKROM,NES-TKROM-02,MMC3C,4,128,128,,0,8,1,,,,", +"9BBF3E5D,Famicom,,,,15,1024,,8,0,0,0,,,,", +"9BD3F3C2,NesPal,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"9BDCD892,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,256,256,,0,8,1,,,,", +"9BDE3267,NesNtsc,NES-CNROM,NES-CNROM-06,,3,32,32,,0,0,0,v,,,", +"9BDF2424,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"9C04C8D5,Famicom,BANDAI-FCG-1,DORAGON2,FCG-2,16,128,128,,0,0,0,,,,", +"9C053F24,Famicom,,,,1,128,32,,0,0,0,,,,", +"9C18762B,NesNtsc,NES-ETROM,NES-ETROM-01,MMC5,5,256,128,,8,8,1,,,,", +"9C304DEC,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"9C3E8FC0,Famicom,HVC-SGROM,HVC-SGROM-02,MMC1A,1,128,,8,0,0,0,,,,", +"9C42E662,Famicom,,,,83,1024,1024,,0,8,1,,,,", +"9C4589E3,NesPal,,,,0,16,8,,0,0,0,h,,,", +"9C521240,Famicom,HVC-CNROM+SECURITY,HVC-CNROM-256K-01,,185,32,8,,0,0,0,h,,,", +"9C537919,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"9C58F4A6,Famicom,,,,4,512,,8,0,8,1,,,,", +"9C924719,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"9C9F3571,NesNtsc,NES-CNROM,NES-CN-ROM-256-01,,3,32,32,,0,0,0,v,,,", +"9CBADC25,Famicom,HVC-EKROM,HVC-EKROM-01,MMC5A,5,512,256,,0,8,1,,,,", +"9CBB0291,Famicom,HVC-TBROM,HVC-TBROM-01,MMC3B,4,64,64,,0,0,0,v,,,", +"9CBC8253,Famicom,NAMCOT-3415,3415,118,206,128,32,,0,0,0,v,,,", +"9CD5128C,Famicom,,,,4,128,128,,0,0,0,,,,", +"9CFA55E7,Famicom,HVC-SKROM,HVC-SKROM-03,MMC1A,1,128,128,,0,8,1,,,,", +"9D048EA4,Famicom,BANDAI-74*161/02/74,UNK-BANDAI-OEKAKIDS,,96,128,,32,0,0,0,,OekaKidsTablet,,", +"9D21FE96,Famicom,NAMCOT-3416,60-10,108,206,128,64,,0,0,0,v,,,", +"9D34EDC5,Famicom,TAITO-CNROM,P3-024,,3,32,32,,0,0,0,v,,,", +"9D38F8F9,NesNtsc,TENGEN-800003,800003-01 REV C,,0,16,8,,0,0,0,h,,,", +"9D45D8EC,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,0,8,1,,,,", +"9D976153,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"9D9A4A26,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3B,4,128,128,,0,8,1,,,,", +"9DC96EC7,Famicom,JALECO-JF-29,JF-29A,D7756C,18,256,128,,0,0,0,,,,", +"9DF58E80,NesPal,NES-SJROM,NES-SJROM-03,MMC1B3,1,256,64,,8,0,0,,MiraclePiano,,", +"9E356267,Famicom,HVC-SNROM,HVC-SNROM-01,MMC1,1,128,8,,0,8,1,,,,", +"9E36080E,Famicom,HVC-TSROM,HVC-TSROM-03,MMC3A,4,128,128,,8,0,0,,,,", +"9E379698,NesNtsc,CAMERICA-ALGN,ALGNV1-1,,71,256,,8,0,0,0,v,Aladdin,,", +"9E382EBF,NesNtsc,NES-SBROM,NES-SBROM-01,MMC1A,1,64,32,,0,0,0,,PowerPad,,", +"9E4701CB,Famicom,HVC-CNROM,HVC-CNROM-256K-01,,3,32,32,,0,0,0,v,,,", +"9E4E9CC2,NesNtsc,NES-NROM-128,NES-NROM-128-06,,0,16,8,,0,0,0,h,,,", +"9E6092A4,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"9E66A66B,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,h,,,", +"9E777EA5,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"9E85A7D9,Famicom,,,,4,256,128,,8,0,0,,,,", +"9E898385,Famicom,IREM-H3001,FC-00-017B,IF-H3001,65,128,128,,0,0,0,,,,", +"9EA1DC76,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,h,,,", +"9EBDC94E,Famicom,HVC-SNROM,HVC-SNROM-06,MMC1A,1,256,,8,0,8,1,,,,", +"9ECB9DCD,Famicom,HVC-SFROM,HVC-SFROM-01,MMC1B2,1,128,32,,0,0,0,,,,", +"9EDBE2E2,Famicom,NAMCOT-163,LROG044-00,163,19,128,128,,0,0,0,,,,", +"9EDD2159,NesNtsc,NES-AOROM,NES-AOROM-03,,7,256,,8,0,0,0,,FourPlayer,,", +"9EE83916,Famicom,JALECO-JF-17,JF-17,,72,128,128,,0,0,0,v,,,", +"9EEFB4B4,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,128,,0,0,0,,,,", +"9EFF96D2,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"9F01687D,NesPal,NES-TKROM,NES-TKROM-02,MMC3B,4,128,128,,0,8,1,,,,", +"9F03B11F,Famicom,,,,2,128,,8,0,0,0,v,FourPlayer,,", +"9F056212,Famicom,,,,66,128,32,,0,0,0,h,,,", +"9F119033,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"9F2712DF,Famicom,HVC-SKROM,HVC-SKROM-04,MMC1B2,1,128,128,,0,8,1,,,,", +"9F2EEF20,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"9F432594,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"9F5138CB,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"9F6C119C,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"9F6CE171,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"9F8336DB,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,MiraclePiano,,", +"9F8F200A,Famicom,,,,3,32,32,,0,0,0,h,PokkunMoguraa,,", +"9FA33CF6,Famicom,,,,0,32,8,,0,0,0,v,,,", +"9FAE4D46,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,Mahjong,,", +"9FB32923,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"9FD35802,Famicom,HVC-CNROM,N04,,3,32,32,,0,0,0,h,,,", +"9FD718FD,Famicom,,,,4,512,,8,0,0,0,,,,", +"9FFE2F55,NesNtsc,NES-SCROM,NES-SCROM-02,MMC1B2,1,64,128,,0,0,0,,,,", +"A0006B26,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"A0230D75,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"A038AFF2,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"A03A422B,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"A0568E1D,NesNtsc,NES-UNROM,NES-UN-ROM-06,,2,128,,8,0,0,0,v,,,", +"A058219D,NesNtsc,NES-SKEPROM,NES-SKEPROM-01,MMC1B2,1,128,128,,8,0,0,,,,", +"A07C1F81,Famicom,BANDAI-NROM-128,UNK-BANDAI-KIN,,0,16,8,,0,0,0,v,,,", +"A08B4701,Famicom,BANDAI-NROM-128,UNK-BANDAI-KIN,,0,16,8,,0,0,0,v,,,", +"A08D7CA9,Famicom,,,,0,32,8,,0,0,0,v,,,", +"A09AA82C,Famicom,,,,91,128,512,,0,0,0,v,,,", +"A0A095C4,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,h,,,", +"A0A5A0B9,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"A0A6E860,Playchoice,,,,2,128,,8,0,0,0,v,,,", +"A0B0B742,NesNtsc,NES-TSROM,NES-TSROM-05,MMC3B,4,256,128,,8,0,0,,,,", +"A0C31A57,NesNtsc,NES-TFROM,NES-TFROM-01,MMC3A,4,128,64,,0,0,0,,,,", +"A0DF4B8F,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,256,128,,0,0,0,,,,", +"A0F99BB8,Famicom,KONAMI-UNROM,353525,,2,128,,8,0,0,0,v,,,", +"A166548F,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"A16AB939,Famicom,,,,2,128,,8,0,0,0,h,,,", +"A1A0C13F,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"A1A33B85,Famicom,,,,1,128,128,,0,8,1,,,,", +"A1C0DA00,NesPal,NES-NROM-256,NES-NROM-256-06,,0,32,8,,0,0,0,h,,,", +"A1DC16C0,NesNtsc,UNL-SHERO,,,65000,512,512,,0,0,0,4,,,", +"A1F90826,NesPal,NES-SJROM,NES-SJROM-03,MMC1B3,1,128,32,,8,0,0,,,,", +"A1FF4E1D,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"A20B4983,NesNtsc,Sachen-8259A,,,65000,128,64,,0,0,0,h,,,", +"A2194CAD,NesNtsc,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"A21E675C,Famicom,IREM-BNROM,IREM-I-IM,,34,128,,8,0,0,0,h,,,", +"A222F5A0,Famicom,JALECO-JF-03,JF-03,,0,16,8,,0,0,0,h,,,", +"A22657FA,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,FourPlayer,,", +"A232E8BE,NesNtsc,,,,4,256,128,,0,8,1,,,,", +"A23CB659,NesPal,TXC-74*138/175,01-22000-400,,79,32,32,,0,0,0,v,,,", +"A2469526,Famicom,NAMCOT-3303,3303,,0,32,8,,0,0,0,h,,,", +"A25A750F,NesNtsc,NES-SNROM,NES-SNROM-05,MMC1B2,1,256,,8,0,8,1,,,,", +"A2623BC1,Famicom,SUNSOFT-4,NTB-ROM-PCB,Sunsoft-4,68,128,128,,0,8,1,,,,", +"A262A81F,Famicom,BANDAI-LZ93D50+24C02,DRAGON BALL Z-B,FCG-3,16,256,256,,0,0,0,,,,", +"A2AF25D0,NesNtsc,NES-NROM-128,NES-NROM-128-04,,0,16,8,,0,0,0,v,,,", +"A2C0CAB7,Famicom,,,,4,128,128,,0,0,0,,,,", +"A2F713C0,Famicom,HVC-TKROM,HVC-TKROM-01,MMC3A,4,128,128,,0,8,1,,,,", +"A31142FF,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"A342A5FD,NesNtsc,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"A38857EB,Famicom,HVC-SGROM,HVC-SGROM-02,MMC1A,1,128,,8,0,0,0,,,,", +"A38DF799,Famicom,,,,4,256,256,,0,0,0,,,,", +"A391549D,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"A39311CA,Famicom,,,,4,128,128,,0,0,0,,,,", +"A3BF2ADA,NesNtsc,,,,2,128,,8,0,0,0,h,,,", +"A3C0D49F,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"A3E37134,Famicom,,,,10,128,128,,0,8,1,,,,", +"A4062017,NesNtsc,NES-SNROM,NES-SNROM-03,MMC1B2,1,256,,8,0,8,1,,,,", +"A46D7F02,NesNtsc,,,,4,128,128,,0,0,0,,,,", +"A485ABED,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B3,1,128,128,,0,0,0,,,,", +"A49253C6,Famicom,NAMCOT-3414,3414,118,206,64,64,,0,0,0,v,,,", +"A49B48B8,Famicom,HVC-SNROM,HVC-SNROM-05,MMC1A,1,256,,8,0,8,1,,,,", +"A4BDCC1D,NesPal,NES-SNROM,NES-SNROM-05,MMC1B3,1,128,,8,0,8,1,,,,", +"A4DCDF28,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,0,8,1,,,,", +"A4DCF72E,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,,", +"A4E935DF,Famicom,SUNSOFT-FME-7,DD2-E301,FME-7,69,256,256,,0,8,1,,,,", +"A531E1AB,Famicom,,,,4,128,128,,0,0,0,,,,", +"A547A6EC,Famicom,HVC-NROM-128,HVC-NROM-02,,0,16,8,,0,0,0,v,,,", +"A55701DD,NesNtsc,,,,11,128,128,,0,0,0,v,,,", +"A558FB52,NesNtsc,NES-SNROM,NES-SNROM-05,MMC1B2,1,256,,8,0,8,1,,,,", +"A55FA397,NesNtsc,NES-CNROM,NES-CNROM-06,,3,32,32,,0,0,0,h,,,", +"A56208A0,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,h,,,", +"A563F0E1,Famicom,,,,0,16,8,,0,0,0,h,,,", +"A58A8DA1,Famicom,,,,4,128,256,,0,8,1,,,,", +"A58D7260,Famicom,,,,4,256,256,,0,8,1,,,,", +"A5B62A4C,Famicom,,,,4,128,128,,0,0,0,,FourPlayer,,", +"A5E6BAF9,Famicom,NAMCOT-3416,3416,109,206,128,64,,0,0,0,v,,,", +"A5E89675,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,64,64,,0,0,0,v,,,", +"A5E8D2CD,NesNtsc,NES-SLROM,NES-SFEOROM-02,MMC1,1,128,128,,0,0,0,,,,", +"A60CA3D6,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,256,256,,0,0,0,,,,", +"A60FBA51,Famicom,HVC-TNROM,HVC-TNROM-02,MMC3C,4,512,,8,0,8,1,,,,", +"A6153536,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"A63C6793,Famicom,,,,242,512,,8,0,8,1,,,,", +"A6638CBA,NesPal,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,,", +"A6648353,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,8,0,0,,,,", +"A66596D9,Famicom,,,,4,128,128,,0,0,0,,,,", +"A66D5150,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"A69F29FA,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"A6A725B8,NesNtsc,NES-UOROM,NES-UOROM-02,,2,256,,8,0,0,0,v,,,", +"A6B3F7B3,Famicom,,,,0,16,8,,0,0,0,v,,,", +"A70C088B,Playchoice,,,,0,32,8,,0,0,0,v,,,", +"A713DD30,NesPal,NES-BTR,NES-BTR,FME-7,69,256,128,,0,0,0,,,,", +"A725B2D3,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"A72FDE03,Famicom,HVC-AMROM,HVC-AMROM-01,,7,128,,8,0,0,0,,,,", +"A74325EF,Famicom,,,,3,32,32,,0,0,0,v,,,", +"A781FFAA,NesNtsc,COLORDREAMS,,,11,64,64,,0,0,0,v,,N,", +"A7B0536C,Famicom,TAITO-TC0190FMC+PAL16R4,J9100287A,TC0190FMC,48,128,256,,0,0,0,,,,", +"A7D227EF,Famicom,,,,2,128,,8,0,0,0,v,,,", +"A7D3635E,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"A7DE65E4,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"A7E784ED,Famicom,,,,1,128,32,,0,0,0,,,,", +"A7EF8F80,NesNtsc,,,,4,128,256,,0,0,0,,,,", +"A80290A6,NesNtsc,,,,0,32,8,,0,0,0,,,,", +"A80A0F01,NesNtsc,ACCLAIM-MC-ACC,55741,MC-ACC,4,128,256,,0,0,0,,,,", +"A80FA181,Famicom,HVC-SGROM,HVC-SGROM-02,MMC1,1,256,,8,0,0,0,,,,", +"A851CAE9,Famicom,IREM-FCG-1,BLUE TRAIN,FCG-1,16,128,256,,0,0,0,,,,", +"A86A5318,NesNtsc,NES-SUROM,NES-SUROM-01,MMC1B3,1,512,,8,0,8,1,,,,", +"A86B5732,Famicom,,,,2,128,,8,0,0,0,v,,,", +"A8784932,NesNtsc,NES-UNROM,NES-UN-ROM-06,,2,128,,8,0,0,0,h,,,", +"A88D8E19,Famicom,,,,2,128,,8,0,0,0,v,,,", +"A8923256,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"A8A9B982,Famicom,HVC-CNROM+SECURITY,HVC-CNROM-256K-01,,185,16,8,,0,0,0,v,,,", +"A8B0DA56,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"A8D93537,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"A8E39EC6,Famicom,,,,0,32,8,,0,0,0,v,,,", +"A8E6A7C2,Dendy,,,,148,64,64,,0,0,0,h,,,", +"A8F4D99E,NesNtsc,NES-SEROM,NES-SEROM-04,MMC1B2,1,32,32,,0,0,0,,,,", +"A8F5C2AB,NesNtsc,TENGEN-800030,800030-01 REV A,337001,206,64,32,,0,0,0,v,,,", +"A9068D17,NesNtsc,NES-NROM-256,NES-NROM-256-02,,0,32,8,,0,0,0,h,,,", +"A9115BC1,Famicom,,,,192,512,256,,1,8,1,4,,,", +"A91460B8,Famicom,HVC-AMROM,HVC-AMROM-01,,7,128,,8,0,0,0,,,,", +"A9217EA2,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,256,256,,0,0,0,,,,", +"A923E441,Famicom,,,,133,64,32,,0,0,0,h,,,", +"A93527E2,NesPal,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"A9415562,NesNtsc,NES-SGROM,NES-SGROM-02,MMC1A,1,256,,8,0,0,0,,,,", +"A94591B0,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"A9541452,Famicom,BANDAI-LZ93D50+24C02,DRAGON BALL Z-B,FCG-3,16,256,256,,0,0,0,,,,", +"A95A915A,Famicom,,,,150,32,32,,0,0,0,,,,", +"A9660690,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"A97567A4,NesPal,NES-SGROM,NES-SGROM-04,MMC1B2,1,128,,8,0,0,0,,,,", +"A98046B8,Famicom,HVC-FKROM,HVC-FKROM-01,MMC-4,10,256,128,,0,8,1,,,,", +"A9842027,Famicom,HVC-RROM,HVC-RROM-05,,0,16,8,,0,0,0,v,,,", +"A99016C6,NesPal,NES-SFROM,NES-SFROM-03,MMC1B2,1,128,32,,0,0,0,,,,", +"A9A9DD92,Famicom,,,,1,128,128,,0,0,0,,,,", +"A9BBF44F,NesNtsc,NES-NROM-128,NES-NROM-128-04,,0,16,8,,0,0,0,h,,,", +"A9C07FF3,Dendy,,,,4,256,256,,0,0,0,,,,", +"A9E70766,Famicom,,,,83,128,256,,0,0,0,,,,", +"A9F0B6F3,Famicom,,,,1,128,128,,0,0,0,,,,", +"AA20F73D,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"AA2F7D91,NesNtsc,,,,0,32,8,,0,0,0,h,,,", +"AA4318AE,Famicom,,,,1,128,128,,0,0,0,,,,", +"AA4997C1,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"AA6BB985,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"AA74A4D8,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,h,,,", +"AA9F9765,Famicom,KONAMI-VRC-2,,Konami VRC II,23,128,128,,0,0,0,,Zapper,,", +"AAA985D7,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"AAC2E75E,NesNtsc,NES-CNROM,NES-CN-ROM-256-01,,3,32,32,,0,0,0,h,,,", +"AAED295C,NesNtsc,NES-SEROM,NES-SEROM-02,MMC1A,1,32,32,,0,0,0,,,,", +"AAF49344,Famicom,,,,1,128,128,,0,0,0,,,,", +"AB2006B4,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,16,,0,0,0,v,,,", +"AB2AC325,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"AB41445E,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"AB47A50E,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,h,,,", +"AB671224,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"ABAA6F78,Famicom,HVC-SNROM,HVC-SNROM-04,MMC1A,1,256,,8,0,8,1,,,,", +"ABB2F974,Famicom,,,,39,1024,,8,8,0,0,v,SuborKeyboard,,", +"ABBF7217,Famicom,HVC-SOROM,HVC-SOROM-03,MMC1A,1,256,,8,8,8,1,,,,", +"ABE1A0C2,VsUni,,,,99,32,16,,0,0,0,4,Zapper,,", +"ABE8E174,VsUni,,,,99,32,16,,0,0,0,4,,,", +"AC05EBB7,Famicom,,,,4,512,,8,0,8,1,,,,", +"AC136F2D,Famicom,HVC-CNROM,N04,,3,32,32,,0,0,0,h,,,", +"AC3E5677,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"AC4BF9DC,Famicom,KONAMI-VRC-1,350459,VRC1,75,128,128,,0,0,0,,ExcitingBoxing,,", +"AC4F4E9F,Famicom,,,,0,16,8,,0,0,0,v,,,", +"AC609320,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"AC652B47,Famicom,KONAMI-VRC-3,350685,VRC3,73,128,,8,8,0,0,v,,,", +"AC8DCDEA,NesNtsc,NES-CNROM,NES-CNROM-06,,3,32,32,,0,0,0,v,,,", +"AC92E9E0,Famicom,,,,0,16,8,,0,0,0,v,,,", +"AC97AA09,Famicom,,,,172,32,32,,0,0,0,v,,,", +"AC9895CC,Famicom,KONAMI-VRC-2,350603,VRC2,23,128,128,,0,0,0,,,,", +"ACA145D8,NesNtsc,NES-CNROM,NES-CN-ROM-256-01,,3,32,32,,0,0,0,h,,,", +"ACA15643,NesNtsc,NES-ETROM,NES-ETROM-01,MMC5,5,512,128,,8,8,1,,,,", +"ACB8FE86,Famicom,,,,0,32,8,,0,2,1,v,FamilyKeyboard,,", +"ACD4E5BE,Famicom,,,,3,32,32,,0,0,0,h,,,", +"ACE56F39,Famicom,NAMCOT-163,60-16,163,19,128,128,,0,0,1,,,,", +"AD0394F0,NesPal,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,FourPlayer,,", +"AD12A34F,NesNtsc,NES-SGROM,NES-SGROM-02,MMC1B1-H,1,128,,8,0,0,0,,,,", +"AD66557F,Famicom,,,,4,128,64,,0,0,0,,,,", +"AD730AF3,Famicom,,,,198,640,,8,1,8,1,,,,", +"AD9C63E2,Famicom,,,,70,64,128,,0,0,0,v,BandaiHypershot,,", +"ADA1B12F,Famicom,,,,148,32,64,,0,0,0,h,,,", +"ADB09FF2,Famicom,,,,187,128,256,,0,0,0,,,,", +"ADB5D0B3,Famicom,HVC-NROM-128,2A,,0,16,8,,0,0,0,v,,,", +"ADB810F8,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"ADF606F6,Famicom,TAITO-TC0190FMC,J9100181A,TC0190FMC,33,256,128,,0,0,0,,,,", +"ADFAD6B6,Famicom,,,,188,128,,8,0,0,0,h,,,", +"ADFFD64F,Famicom,NAMCOT-340,LROG074-00,340,210,128,128,,0,0,0,v,,,", +"AE128FAC,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"AE280E20,Famicom,,,,4,256,,8,8,0,0,,,,", +"AE321339,Famicom,NAMCOT-3416,3416,119,206,128,64,,0,0,0,v,,,", +"AE52DECE,NesNtsc,NES-NROM-128,NES-NROM-128-04,,0,16,8,,0,0,0,v,,,", +"AE5C3D94,Famicom,HVC-SKROM,HVC-SKROM-03,MMC1A,1,128,128,,0,8,1,,,,", +"AE64CA77,NesNtsc,NES-NROM-256,NES-NROM-256-03,,0,32,8,,0,0,0,v,,,", +"AE854CEF,Famicom,,,,74,512,256,2,1,8,1,,,,", +"AE8666B4,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"AE97627C,NesNtsc,,,,1,128,128,,0,0,0,,,,", +"AE9F33D0,NesNtsc,NES-TSROM,NES-TSROM-07,MMC3B,4,128,128,,8,0,0,,,,", +"AEB2D754,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"AEB7FCE9,Famicom,TAITO-TC0190FMC,J9100205A,TC0190FMC,33,128,128,,0,0,0,,,,", +"AEBD6549,Famicom,TAITO-TC0190FMC+PAL16R4,J9100287A,TC0190FMC,48,256,256,,0,0,0,,,,", +"AEFFF79C,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"AF05F37E,NesNtsc,ACCLAIM-MC-ACC,55741,MC-ACC,4,128,256,,0,0,0,,,,", +"AF4010EA,NesNtsc,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,h,PowerPad,,", +"AF4A01FF,Famicom,,,,0,32,8,,0,0,0,v,,,", +"AF5676DE,NesNtsc,NES-NROM-128,NES-NROM-128-03,,0,16,8,,0,0,0,v,,,", +"AF65AA84,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"AFB46DD6,NesNtsc,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,h,,,", +"AFDCBD24,NesNtsc,NES-NROM-128,NES-NROM-128-01,,0,16,8,,0,0,0,h,,,", +"B037246D,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,32,32,,0,0,0,v,Zapper,,", +"B0480AE9,NesNtsc,NES-ELROM,NES-ELROM-01,MMC5,5,128,128,,0,0,0,,Zapper,,", +"B049A8C4,Famicom,BANDAI-LZ93D50+24C02,DRAGON BALL Z-B,FCG-3,16,256,256,,0,0,0,,,,", +"B04BA659,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"B066111A,Dendy,,,,0,32,,8,0,0,0,v,SuborKeyboard,,", +"B06C0674,Famicom,KONAMI-VRC-1,024-3,VRC1,75,128,128,,0,0,0,,,,", +"B0BC46D1,NesPal,NES-GNROM,NES-GNROM-05,,66,128,32,,0,0,0,v,,,", +"B0CD000F,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"B0D6590F,Famicom,,,,2,128,,8,0,0,0,v,,,", +"B0EBF3DB,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"B1250D0C,Famicom,,,,4,128,128,,0,0,0,,,,", +"B134D713,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"B13F00D4,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"B14E668E,Famicom,,,,3,32,32,,0,0,0,v,,,", +"B14EA4D2,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"B15653BD,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"B1612FE6,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"B166DAC9,Famicom,,,,0,16,8,,0,0,0,v,,,", +"B1723338,NesNtsc,NES-CNROM,NES-CN-ROM-256-04,,3,32,32,,0,0,0,h,,,", +"B174B680,Famicom,NAMCOT-3301,3301,,0,16,8,,0,0,0,h,,,", +"B17574F3,NesNtsc,NES-SKROM,NES-SKROM-04,MMC1B2,1,128,128,,0,8,1,,,,", +"B194CA80,VsUni,,,,99,48,16,,0,0,0,4,Zapper,,", +"B19A55DD,NesNtsc,TENGEN-800032,800032 REV A,337006,64,64,128,,0,0,0,,,,", +"B1A94B82,Famicom,BANDAI-74*161/161/32,BA ワラ,,152,128,128,,0,0,0,,,,", +"B1A954C2,Famicom,,,,0,32,8,,0,0,0,h,,,", +"B1B16B8A,Famicom,HVC-UNROM,HVC-UNROM-09,,2,128,,8,0,0,0,v,FourPlayer,,", +"B1C4C508,VsUni,,,,99,32,16,,0,0,0,4,,,", +"B1C937C8,NesPal,,,,1,128,128,,0,0,0,,,,", +"B20C1030,Famicom,SUNSOFT-2,SUNSOFT-3R,Sunsoft-2,93,128,,8,0,0,0,v,,,", +"B20F87DE,Famicom,,,,4,128,128,,0,0,0,,,,", +"B23508FF,Famicom,,,,3,32,32,,0,0,0,h,,,", +"B2530AFC,Famicom,HVC-FAMILYBASIC,VT-N-256-41,,0,32,8,,0,4,1,v,FamilyKeyboard,,", +"B27414ED,Famicom,,,,233,1024,,8,0,0,0,,,,", +"B2781C19,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"B27B8CF4,Famicom,KONAMI-VRC-2,LROG009-00,VRC2,23,128,128,,0,0,0,,,,", +"B297B5E7,Famicom,JALECO-JF-19,JF-19,D7756C,92,256,128,,0,0,0,v,,,", +"B2EF7F4B,NesPal,NES-TKROM,NES-TKROM-10,MMC3C,4,512,256,,0,8,1,,,,", +"B30599A1,NesNtsc,NES-TKEPROM,NES-TKEPROM-01,MMC3B,4,128,128,,0,8,1,,,,", +"B3277B6C,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"B3769A51,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"B3783F2A,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,v,,,", +"B399BEE4,Famicom,,,,1,128,128,,0,0,0,,,,", +"B39A3F5B,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,3dGlasses,,", +"B39D30B4,Famicom,,,,255,2048,1024,,0,0,0,,,,", +"B3BE2F71,Famicom,,,,3,32,32,,8,0,0,h,,,", +"B3C30BEA,Famicom,NAMCOT-3303,3303,,0,32,8,,0,0,0,h,,,", +"B3D74C0D,Famicom,HVC-NROM-128,9011-05,,0,16,8,,0,0,0,v,,,", +"B400172A,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"B40457D5,Playchoice,,,,2,128,,8,0,0,0,v,,,", +"B4113F3C,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,128,,8,8,0,0,,,,", +"B422A67A,NesNtsc,TENGEN-800032,800032 REV A,337006,64,128,64,,0,0,0,,,,", +"B4241FCC,NesNtsc,NES-SFROM,NES-SFEXPROM-01,MMC1A,1,256,64,,0,0,0,,,,", +"B459EDC4,NesNtsc,NES-GNROM,NES-GN-ROM-03,,66,32,32,,0,0,0,v,UForce,,", +"B4735FAC,Famicom,HVC-ELROM,HVC-ELROM-02,MMC5,5,512,512,,0,0,0,,,,", +"B47569E2,Famicom,HVC-TSROM,HVC-TSROM-03,MMC3B,4,128,128,,8,0,0,,,,", +"B477BF41,Famicom,,,,240,128,128,,0,8,1,h,,,", +"B4801882,NesNtsc,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"B4C81ADB,NesNtsc,NES-TFROM,NES-TFROM-01,MMC3A,4,128,64,,0,0,0,,,,", +"B4CDF95F,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"B4E4879E,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,v,,,", +"B4FF91E7,Famicom,,,,1,128,32,,0,0,0,,,,", +"B52E17DC,NesNtsc,,,,0,32,8,,0,0,0,,,,", +"B5576820,Famicom,HVC-SGROM,HVC-SGROM-02,MMC1A,1,256,,8,0,0,0,,,,", +"B5D10D5C,NesNtsc,NES-AOROM,NES-AOROM-01,,7,128,,8,0,0,0,,,,", +"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,,1,8,1,4,,,", +"B629D555,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"B64078F3,NesPal,NES-TKROM,NES-TKROM-10,MMC3C,4,128,128,,0,8,1,,,,", +"B6661BDA,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,h,,,", +"B668C7FC,NesNtsc,NES-UNROM,NES-UN-ROM-06,,2,128,,8,0,0,0,v,,,", +"B67D16F6,NesPal,NES-SGROM,NES-SGROM-05,MMC1B2,1,256,,8,0,0,0,,,,", +"B683A856,NesNtsc,NES-SKEPROM,NES-SKEPROM-01,MMC1A,1,128,128,,0,0,0,,,,", +"B68F9814,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"B6A2B981,NesNtsc,AVE-NINA-06,NINA-06,,79,32,32,,0,0,0,v,,,", +"B6A727FA,NesNtsc,,,,79,32,64,,0,0,0,h,,,", +"B6B5C372,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"B6BF5137,NesNtsc,NES-SLROM,NES-SLROM-04,MMC1B2,1,128,128,,0,0,0,,,,", +"B6D2D300,NesNtsc,NES-NROM-256,NES-NROM-256-06,,0,32,8,,0,0,0,v,,,", +"B70129F4,Famicom,,,,4,128,128,,0,0,0,,,,", +"B7594365,Famicom,,,,45,512,512,,0,0,0,,,,", +"B7773A07,Famicom,HVC-TGROM,HVC-TGROM-01,MMC3C,4,512,,8,0,0,0,,,,", +"B780521C,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"B786AB95,Famicom,,,,3,32,32,,0,0,0,v,,,", +"B786C2AC,NesNtsc,COLORDREAMS-74*377,BC6,,11,128,128,,0,0,0,v,,,", +"B79C320D,NesPal,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,h,,,", +"B79F2651,NesNtsc,COLORDREAMS-74*377,,,11,32,32,,0,0,0,v,Zapper,,", +"B79F5883,Famicom,,,,3,32,32,,0,0,0,v,,,", +"B7C37203,VsUni,,,,99,32,16,,8,0,0,4,,,", +"B7D69A6D,NesNtsc,NES-TKEPROM,NES-TKEPROM-01,MMC3A,4,128,128,,0,8,1,,,,", +"B7F28915,Famicom,BANDAI-LZ93D50+24C01,DRAGON BALL Z-B,FCG-3,159,128,128,,0,0,0,,,,", +"B7F39933,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"B80192B7,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"B807446E,Famicom,,,,3,32,32,,0,0,0,v,,,", +"B811C054,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,h,TurboFile,,", +"B834EB30,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"B83E8873,NesNtsc,UNL-D1038,,,65000,128,64,,0,0,0,h,,,", +"B843EB84,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"B8535CA3,Famicom,,,,0,16,8,,0,0,0,v,,,", +"B8747ABF,Famicom,,,,1,256,,8,0,32,1,,TurboFile,,", +"B87AB35A,Famicom,HVC-NROM-128,3A,,0,16,8,,0,0,0,v,,,", +"B89888C9,NesNtsc,CAMERICA-ALGQ,ALGQV1-1,,232,256,,8,0,0,0,v,Aladdin,,", +"B8B9ACA3,NesNtsc,NES-NROM-128,NES-NROM-128-01,,0,16,8,,0,0,0,v,Zapper,,", +"B8DAD5D2,NesNtsc,,,,146,64,64,,0,0,0,h,,,", +"B918580C,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"B95E9E7F,NesNtsc,NES-PNROM,NES-PNROM-05,MMC2,9,128,128,,0,0,0,,,,", +"B976219A,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"B9762DA8,NesNtsc,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,v,,,", +"B979CAD5,Famicom,IREM-G101,FC-00-016,G-101,32,128,128,,0,0,0,,,,", +"B9AB06AA,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,TurboFile,,", +"B9B4D9E0,NesNtsc,NES-TLSROM,NES-TLSROM-01,MMC3B,118,128,128,,0,0,0,,FourPlayer,,", +"B9B7090A,Famicom,,,,45,256,,8,0,0,0,,,,", +"B9C20634,Famicom,,,,0,16,8,,0,0,0,h,,,", +"B9CF171F,NesNtsc,NES-SL3ROM,NES-SL3ROM-02,MMC1B2,1,256,128,,0,0,0,,,,", +"B9FD16E1,Famicom,,,,3,32,32,,0,0,0,h,,,", +"BA322865,NesNtsc,NES-SKROM,NES-SKROM-02,MMC1A,1,128,128,,0,8,1,,,,", +"BA327FD9,NesPal,NES-JSROM,NES-JSROM-01,FME-7,69,128,256,,8,0,0,,,,", +"BA43568A,Famicom,TAITO-X1-005,P3-036-1,X1-005,80,128,128,,0,0,1,,,,", +"BA51AC6F,Famicom,IREM-HOLYDIVER,UNK-IF-12,,78,128,128,,0,0,0,,,,", +"BA58ED29,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1A,1,256,,8,0,0,0,,,,", +"BA766EC6,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"BAAAE9E8,Famicom,,,,0,32,8,,0,0,0,v,,,", +"BAC36179,Famicom,,,,11,64,64,,0,0,0,v,,,", +"BACA10A9,Famicom,TAITO-TC0190FMC,AKIRA,TC0190FMC,33,128,256,,0,0,0,,,,", +"BAD36C17,Famicom,,,,4,128,128,,8,0,0,,,,", +"BAEBA201,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B3,1,256,,8,0,8,1,,,,", +"BB435255,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"BB473A41,Famicom,,,,3,32,32,,0,0,0,v,,,", +"BB63540A,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"BB6D7949,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,256,256,,0,0,0,,,,", +"BB7F829A,Famicom,HVC-ELROM,HVC-ELROM-01,MMC5,5,128,128,,0,0,0,,,,", +"BBA58BE5,Famicom,,,,70,128,128,,0,0,0,v,FamilyTrainer,,", +"BBB710D9,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,,", +"BBE40DC4,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,64,16,,0,0,0,v,Zapper,,", +"BBED6E6E,NesNtsc,NES-CNROM,NES-CN-ROM-256-02,,3,32,16,,0,0,0,h,,,", +"BBF464EB,NesNtsc,,,,146,64,16,,0,0,0,v,,,", +"BBFE23F4,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"BC06543C,NesPal,NTDEC-N715062,N715062,,3,16,8,,0,0,0,v,,,", +"BC11E61A,Famicom,NAMCOT-163,111F0,163,19,128,128,,0,0,1,,,,", +"BC1FBD7B,Famicom,,,,1,128,,8,0,0,0,,,,", +"BC25A18B,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"BC66994F,Famicom,,,,62,2048,1024,,0,0,0,,,,", +"BC7364BB,Dendy,,,,4,256,128,,0,0,0,,,,", +"BC7485B5,NesPal,,,,1,128,,,0,0,0,h,,,", +"BC7B1D0F,Famicom,TAITO-TC0190FMC,J9100234A,TC0190FMC,33,128,256,,0,0,0,,,,", +"BC7FEDB9,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"BC80FB52,Famicom,HVC-EKROM,HVC-EKROM-01,MMC5,5,256,256,,0,8,1,,,,", +"BC9BFFCB,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,Zapper,,", +"BCACBBF4,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,256,,0,0,0,,,,", +"BCCFEF1C,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"BCE77871,NesNtsc,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,v,,,", +"BCF68611,Famicom,,,,1,128,,8,0,0,0,,,,", +"BD018F0F,NesNtsc,,,,143,32,8,,0,0,0,v,,,", +"BD14FCFB,Dendy,,,,1,128,128,,0,0,0,,,,", +"BD154C3E,NesNtsc,CAMERICA-BF9093,BIC-41,BF9093,71,256,,8,0,0,0,v,,,", +"BD1A6751,Famicom,,,,0,32,8,,0,0,0,v,,,", +"BD25BDC0,Famicom,,,,49,512,512,,0,0,0,,,,", +"BD29178A,NesNtsc,AVE-MB-91,MB-91«A»,,79,32,32,,0,0,0,h,,,", +"BD339E75,NesPal,NES-UOROM,NES-UOROM-02,,2,256,,8,0,0,0,v,,,", +"BD50F230,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"BD523011,Famicom,NAMCOT-340,ICM60-26-K,340,210,256,256,,0,0,0,h,,,", +"BD9D0E85,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"BDA7925E,Famicom,TAITO-74*139/74,FC-009,,87,32,16,,0,0,0,h,,,", +"BDA8F8E4,Famicom,BANDAI-74*161/161/32,BA オニ-2,,152,128,128,,0,0,0,,,,", +"BDBE3C96,Famicom,UNL-603-5052,,,238,128,256,,0,0,0,,,,", +"BDC124E5,Famicom,HVC-TNROM,HVC-TNROM-02,MMC3C,4,256,,8,0,8,1,,,,", +"BDC65C91,Famicom,,,,4,128,256,,0,0,0,,,,", +"BDD73167,Famicom,,,,163,2048,,8,0,8,1,v,,,", +"BDE3AE9B,Famicom,HVC-GNROM,GN-01C,,66,128,32,,0,0,0,v,,,", +"BDE7A7B5,NesNtsc,AVE-NINA-06,NINA-06,,79,32,32,,0,0,0,v,,,", +"BDE93999,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"BDF046EF,NesNtsc,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,,,", +"BE06853F,Famicom,,,,157,256,,8,0,0,0,,,,", +"BE0E93C3,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"BE17E27B,Famicom,,,,150,64,64,,0,0,0,,,,", +"BE250388,NesNtsc,NES-TKROM,NES-TKROM-10,MMC3C,4,128,128,,0,8,1,,,,", +"BE2E1A20,Famicom,,,,57,128,128,,0,0,0,,,,", +"BE387AF0,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,16,16,,0,0,0,h,,,", +"BE3BF3B3,NesNtsc,NES-SNROM,NES-SNROM-05,MMC1B2,1,256,,8,0,8,1,,,,", +"BE898565,Playchoice,,,,2,128,,8,0,0,0,v,,,", +"BE8A744D,Famicom,,,,0,16,8,,0,0,0,h,,,", +"BEB15855,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"BEB30478,Famicom,JALECO-JF-01,JF-01,,0,16,8,,0,0,0,h,,,", +"BEB8AB01,NesNtsc,NES-GNROM,NES-GN-ROM-01,,66,128,32,,0,0,0,v,Zapper,,", +"BED47813,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"BEE1C0D9,NesNtsc,NES-TSROM,NES-TSROM-07,MMC3B,4,128,256,,8,0,0,,,,", +"BEE54426,NesNtsc,AVE-MB-91,MB-91«H»,,79,64,64,,0,0,0,v,,,", +"BF09DA6F,NesNtsc,UNL-D1038,,,65000,128,64,,0,0,0,h,,,", +"BF250AF2,NesNtsc,NES-NROM-256,NES-NROM-256-02,,0,32,8,,0,0,0,h,,,", +"BF3635CF,Famicom,HVC-UNROM,HVC-UNROM-01,,2,128,,8,0,0,0,v,,,", +"BF4F4BA6,Famicom,HVC-TLROM,HVC-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"BF700470,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"BF7F54B4,Famicom,,,,4,256,128,,8,0,0,,,,", +"BF888B75,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"BF93112A,Famicom,,,,1,128,128,,0,0,0,,,,", +"BFBFD25D,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"BFC7A2E9,Famicom,,,,16,128,256,,0,0,0,,,,", +"BFDE180C,Famicom,,,,116,128,512,,0,0,0,,,,", +"C0103592,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,256,128,,0,0,0,,,,", +"C0303AA3,Famicom,,,,242,512,,8,0,8,1,,,,", +"C05A365B,Famicom,HVC-NROM-256,3E,,0,32,8,,0,0,0,h,,,", +"C05A63B2,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,FourPlayer,,", +"C060ED0A,Famicom,,,,1,256,128,,0,0,0,,,,", +"C06FACFC,Famicom,,,,150,32,32,,0,0,0,,,,", +"C076D66F,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"C0B23520,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"C0EDEDD0,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"C0F251EA,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,,", +"C0FB91AC,Famicom,,,,2,128,,8,0,0,0,v,,,", +"C115A022,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"C1719664,Famicom,,,,155,128,128,,0,0,0,,,,", +"C18A7BCB,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,v,,,", +"C1B43207,NesNtsc,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,FourPlayer,,", +"C1BA8BB9,Famicom,,,,4,256,,8,0,8,1,,PartyTap,,", +"C1C3636B,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3B,4,128,128,,8,0,0,,,,", +"C1D3082B,Famicom,,,,0,32,8,,0,0,0,h,,,", +"C1D7AB1D,Famicom,NAMCOT-3302,3302,,0,16,8,,0,0,0,v,,,", +"C1E91D3F,NesPal,NES-NROM-256,NES-NROM-256-06,,0,32,8,,0,0,0,v,,,", +"C1FBF659,Famicom,KONAMI-VRC-4,352396,VRC4,23,128,128,,0,0,0,,,,", +"C20E9CA7,VsUni,,,,99,32,16,,0,0,0,4,,,", +"C22BC87B,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,128,128,,0,8,1,,,,", +"C22C23AB,Famicom,,,,1,128,128,,0,0,0,,Pachinko,,", +"C22F3E9F,NesNtsc,NES-SKEPROM,NES-SKEPROM-01,MMC1B2,1,128,128,,8,0,0,,,,", +"C22FF1D8,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"C247A23D,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"C247CC80,Famicom,NAMCOT-175,60-25,175,210,512,128,,0,2,1,v,,,", +"C2730C30,NesNtsc,NES-BNROM,NES-BN-ROM-01,,34,128,,8,0,0,0,h,,,", +"C27DA417,Famicom,,,,222,128,256,,0,0,0,,,,", +"C2840372,Famicom,BANDAI-LZ93D50+24C02,DRAGON BALL Z-B,FCG-3,16,256,256,,0,0,0,,,,", +"C2A4612E,NesNtsc,AVE-NINA-06,NINA-06,,79,32,32,,0,0,0,v,,,", +"C2CFD9D9,Famicom,,,,0,16,8,,0,0,0,v,,,", +"C2EF3422,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,TurboFile,,", +"C30848D3,NesPal,NES-NROM-256,NES-NROM-256-03,,0,32,8,,0,0,0,v,,,", +"C30C9EC9,Famicom,HVC-SNROM,HVC-SNROM-07,MMC1A,1,256,,8,0,8,1,,,,", +"C313EF54,NesNtsc,KONAMI-UNROM,351320,,2,128,,8,0,0,0,v,,,", +"C32E9672,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"C3463A3D,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"C372399B,Famicom,NAMCOT-3406,LROG043-00,109,206,128,64,,0,0,0,h,,,", +"C37F225C,Famicom,IREM-UNROM,FC-00-002,,2,128,,8,0,0,0,v,,,", +"C3A0A3E0,NesPal,NES-NROM-256,NES-NROM-256-06,,0,32,8,,0,0,0,v,,,", +"C3C0811D,Famicom,,,,96,128,,32,0,0,0,,OekaKidsTablet,,", +"C3C7A568,NesNtsc,NES-CNROM,NES-CN-ROM-256-02,,3,32,32,,0,0,0,h,,,", +"C3C9D852,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,32,32,,0,0,0,v,Zapper,,", +"C3CCC493,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,,", +"C3DE7C69,Famicom,HVC-SXROM,HVC-SXROM-01,MMC1B2,1,256,,8,0,32,1,,TurboFile,,", +"C42E648A,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"C447B9FE,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,v,,,", +"C471E42D,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"C47EFC0E,NesNtsc,AVE-NINA-06,NINA-06,,79,32,32,,0,0,0,h,,,", +"C48363B4,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3B,4,256,256,,0,8,1,,,,", +"C48DDB52,Famicom,,,,4,128,128,,0,0,0,,,,", +"C49FCAB4,NesNtsc,NES-SIEPROM,NES-SIEPROM-01,MMC1B1-H,1,32,32,,0,0,0,,,,", +"C4A02712,NesNtsc,NES-NROM-256,NES-NROM-256-04,,0,32,8,,0,0,0,v,,,", +"C4B6ED3C,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"C4BC85A2,NesNtsc,KONAMI-UNROM,351258,,2,128,,8,0,0,0,v,,,", +"C4C3949A,Famicom,HVC-NROM-128,HVC-NROM-03,,0,16,8,,0,0,0,h,,,", +"C4E1886F,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B3,1,256,,8,0,8,1,,,,", +"C4E81924,NesPal,,,,4,128,256,,0,0,0,,,,", +"C4FEE54C,Famicom,,,,3,32,32,,0,0,0,v,,,", +"C527C297,NesNtsc,ACCLAIM-MC-ACC,55741,MC-ACC,4,128,128,,0,0,0,,,,", +"C528ED56,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"C53CF1D0,NesPal,NES-SLROM,NES-SLROM-04,MMC1B2,1,128,128,,0,0,0,,,,", +"C5657C12,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,256,256,,0,0,0,,,,", +"C58EEA57,Famicom,,,,3,32,32,,0,0,0,h,,,", +"C5B0B1AB,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,v,,,", +"C5CFE54E,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"C5E5C5B2,Famicom,,,,115,256,256,,0,0,0,,,,", +"C5FB1766,Famicom,,,,3,32,32,,0,0,0,h,,,", +"C6000085,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,h,,,", +"C6182024,NesNtsc,NES-SOROM,NES-SOROM-01,MMC1B2,1,256,,8,8,8,1,,,,", +"C6224026,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"C6557E02,Famicom,NAMCOT-3406,3406,118,206,128,64,,0,0,0,h,,,", +"C67865A2,Famicom,HVC-NROM-128,HVC-NROM-03,,0,16,8,,0,0,0,v,,,", +"C68363F6,Famicom,HVC-UNROM+74HC08,HVC-UNROM-02,,180,128,,8,0,0,0,h,CrazyClimber,,", +"C6ADD8C5,Famicom,NAMCOT-3407,3407,109,206,32,32,,0,0,0,h,,,", +"C6B5D7E0,Famicom,HVC-SEROM,SE-01A,MMC1B2,1,32,32,,0,0,0,,,,", +"C6C2EDB5,NesNtsc,NES-SCROM,NES-SCROM-03,MMC1B2,1,64,128,,0,0,0,,FourPlayer,,", +"C6D97331,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,h,,,", +"C6DD7E69,NesNtsc,NES-SLROM,NES-SLROM-04,MMC1B2,1,128,128,,0,0,0,,,,", +"C6E1FF1D,Famicom,,,,4,128,128,,0,0,0,,,,", +"C7197FB1,NesNtsc,NES-CNROM,NES-CN-ROM-256-02,,3,32,32,,0,0,0,h,,,", +"C73B82FC,NesNtsc,AGCI-47516,47516,,11,32,32,,0,0,0,v,,,", +"C740EB46,NesNtsc,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,,,", +"C7642467,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"C769BB34,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"C76AADF4,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"C7BCC981,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,FamilyTrainer,,", +"C7EDBC2E,Dendy,,,,13,32,,16,0,0,0,v,,,", +"C7F0C457,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"C811DC7A,Famicom,NAMCOT-163,111F0S,163,19,128,128,,0,0,0,,,,", +"C8228B54,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"C8AD4F32,NesNtsc,NES-ANROM,NES-ANROM-01,,7,128,,8,0,0,0,,,,", +"C8EBD977,NesPal,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"C8EDC97E,Famicom,,,,4,128,128,,0,0,0,,,,", +"C8F203F9,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"C9187B43,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,128,128,,0,8,1,,,,", +"C92B814B,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"C9484BB3,Famicom,HVC-SNROM,HVC-SNROM-07,MMC1A,1,256,,8,0,8,1,,,,", +"C95321A8,VsUni,,,,99,32,16,,0,0,0,4,,,", +"C9556B36,Famicom,HVC-SXROM,HVC-SXROM-01,MMC1B2,1,512,,8,0,32,1,,,,", +"C973699D,NesNtsc,NES-SKROM,NES-SKROM-04,MMC1B2,1,128,128,,8,0,0,,,,", +"C9745875,Dendy,,,,3,32,32,,0,0,0,v,,,", +"C99B690A,NesPal,NES-SFROM,NES-SFROM-03,MMC1B2,1,128,32,,0,0,0,,,,", +"C9EDF585,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,128,128,,0,8,1,,,,", +"C9EE15A7,Famicom,,,,3,32,32,,0,0,0,v,,,", +"C9F92BD9,Famicom,,,,226,1024,,8,0,0,0,,,,", +"CA033B3A,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"CA094848,Famicom,IREM-G101,FC-00-018,G-101,32,256,128,,0,0,0,,,,", +"CA0A869E,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,64,64,,0,0,0,v,,,", +"CA24A1A2,Famicom,SUNSOFT-3,LROG080-01,Sunsoft-3,67,128,128,,0,0,0,,,,", +"CA3CBFAC,Famicom,,,,4,256,128,,8,0,0,,,,", +"CA3E9B1A,VsUni,,,,99,32,16,,0,0,0,4,,,", +"CA503F32,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,0,8,1,,TurboFile,,", +"CA594ACE,NesNtsc,NES-TSROM,NES-TSROM-03,MMC3A,4,128,128,,8,0,0,,,,", +"CA5EDBFC,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3B,4,128,128,,8,0,0,,,,", +"CA69751B,Famicom,NAMCOT-129,60-11,129,19,128,128,,0,0,0,,,,", +"CA6A7BF1,Famicom,NAMCOT-3417,3417,109,206,32,32,,0,0,0,v,,,", +"CA730971,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3B,4,512,128,,0,8,1,,,,", +"CA96AD0E,Famicom,,,,4,128,128,,0,0,0,,,,", +"CAB40A6C,Famicom,,,,150,32,16,,0,0,0,,,,", +"CB0A3AF4,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"CB0A76B1,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"CB32E243,Famicom,HVC-TNROM,HVC-TNROM-02,MMC3B,4,512,,8,0,8,1,,,,", +"CB4D23A6,Famicom,,,,0,16,8,,0,0,0,v,,,", +"CB53C523,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVB,,11,64,32,,0,0,0,v,,,", +"CB5ACB49,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,128,128,,0,8,1,,,,", +"CB8F9AB7,NesNtsc,,,,4,128,128,,0,0,0,,,,", +"CBAD8B09,Famicom,,,,0,32,8,,0,0,0,v,,,", +"CBBEFD1F,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"CBF4366F,NesNtsc,TENGEN-800037,800037 REV A,337006,158,128,128,,0,0,0,,,,", +"CBFB6DE5,Famicom,,,,4,128,128,,0,0,0,,,,", +"CC3544B0,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"CC37094C,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,,", +"CC6CA4DC,NesNtsc,NES-SKEPROM,NES-SKEPROM-01,MMC1B2,1,128,128,,0,0,0,,,,", +"CC7A4DCA,Famicom,,,,4,128,128,,0,0,0,,,,", +"CC868D4E,Famicom,,,,149,32,16,,0,0,0,h,,,", +"CC8A8652,Famicom,,,,2,256,,8,0,0,0,v,,,", +"CCAF543A,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,256,,0,0,0,,,,", +"CCC03440,Famicom,,,,156,128,128,,0,0,0,,,,", +"CCCAF368,NesNtsc,CAMERICA-ALGQ,ALGQV1-1,,232,256,,8,0,0,0,v,Aladdin,,", +"CCDCBFC6,NesNtsc,CAMERICA-ALGN,ALGNV1-1,,71,256,,8,0,0,0,v,Aladdin,,", +"CCF35C02,Famicom,HVC-SOROM,HVC-SOROM-05,MMC1B2,1,256,,8,8,8,1,,,,", +"CD00249B,Playchoice,,,,2,128,,8,0,0,0,v,,,", +"CD10DCE2,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"CD373BAA,Famicom,,,,14,256,512,,0,0,0,,,,", +"CD50A092,NesNtsc,TENGEN-800004,800004-01 REV B,337001,206,128,64,2,0,0,0,,,,", +"CD6549EA,Playchoice,,,,2,128,,8,0,0,0,v,,,", +"CD7A2FD7,Famicom,HVC-SNROM,HVC-SNROM-07,MMC1A,1,128,,8,0,8,1,,,,", +"CDB8C6A5,Famicom,,,,83,128,256,,0,0,0,,,,", +"CDC641FC,NesNtsc,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"CE00022D,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"CE06F2D4,Famicom,,,,4,128,128,,8,0,0,,,,", +"CE07194F,Famicom,BANDAI-GNROM,BA-ZG,,66,128,32,,0,0,0,h,,,", +"CE1A8CC7,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"CE228874,NesNtsc,NES-TEROM,NES-TEROM-03,MMC3B,4,32,32,,0,0,0,,,,", +"CE5ACB82,Famicom,,,,57,128,128,,0,0,0,,,,", +"CE67507A,Famicom,NAMCOT-3301,3301,,0,16,8,,0,0,0,h,,,", +"CE77B4BE,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"CE94F92F,Famicom,,,,0,32,8,,0,0,0,v,,,", +"CEA35D5A,Famicom,TAITO-X1-005,P3-034-C,X1-005,80,128,128,,0,0,1,,,,", +"CEB65B06,NesNtsc,NES-AOROM,NES-AOROM-03,,7,256,,8,0,0,0,,,,", +"CEBD2A31,NesNtsc,NES-SNROM,NES-SNROM-05,MMC1B2,1,256,,8,0,8,1,,,,", +"CEC28502,Famicom,,,,136,32,32,,0,0,0,v,,,", +"CEE5857B,Famicom,HVC-SUROM,HVC-SUROM-01,MMC1B2,1,512,,8,0,8,1,,TurboFile,,", +"CF0C9D97,Famicom,HVC-CNROM+SECURITY,HVC-CNROM-256K-01,,185,32,8,,0,0,0,v,,,", +"CF23290F,Famicom,NAMCOT-163,LROG064-01,163,19,256,256,,0,8,1,,,,", +"CF26A149,NesNtsc,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"CF322BB3,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"CF40B1C5,Famicom,HVC-TKROM,HVC-TKROM-01,MMC3A,4,128,128,,0,8,1,,,,", +"CF4487A2,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,FourPlayer,,", +"CF4DBDBE,Famicom,TAITO-NROM-128,1A,,0,16,8,,0,0,0,h,,,", +"CF4E0082,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"CF5F8AF0,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"CF6D0D7A,NesNtsc,NES-UNROM,NES-UN-ROM-06,,2,128,,8,0,0,0,h,,,", +"CF701DA4,Famicom,HVC-NROM-256,9011-10,,0,32,8,,0,0,0,h,,,", +"CF7CA9BD,NesPal,NES-UNEPROM,NES-UNEPROM-01,,2,128,,8,0,0,0,v,,,", +"CF849F72,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"CF9CF7A2,Famicom,HVC-SGROM,HVC-SGROM-02,MMC1,1,128,,8,0,0,0,,,,", +"CFAE9DFA,NesNtsc,NES-SNROM,NES-SNROM-05,MMC1B2,1,128,,8,8,0,0,,FourPlayer,,", +"CFB224E6,Famicom,,,,222,128,128,,0,0,0,,,,", +"CFD4A281,Famicom,,,,155,128,32,,0,0,0,,,,", +"CFD5AC62,NesNtsc,COLORDREAMS-74*377,BC6,,11,128,128,,0,0,0,v,,,", +"CFE02ADA,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"D029F841,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"D04A40E6,NesNtsc,SACHEN-CNROM,,,3,32,32,,0,0,0,h,,,", +"D054FFB0,NesNtsc,NES-HKROM,NES-HKROM-02,MMC6B,4,256,256,,0,0,1,,,,", +"D074653D,Famicom,HVC-CNROM,CN-04B,,3,32,16,,0,0,0,v,,,", +"D09B74DC,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"D0A9F4E1,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,0,8,1,,,,", +"D0CC5EC8,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"D0DF525E,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"D0DF726E,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"D0E53454,Famicom,TAITO-X1-005,P3-034-C,X1-005,80,128,128,,0,0,1,,,,", +"D0E96F6B,NesNtsc,KONAMI-UNROM,351298,,2,128,,8,0,0,0,v,,,", +"D0EB749F,Famicom,JALECO-JF-25,JF-25,SS88006,18,128,128,,0,0,0,,,,", +"D0F70E36,NesPal,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"D114F544,Famicom,,,,66,64,64,,0,0,0,h,,,", +"D1397940,Famicom,IREM-TAM-S1,FC-00-003,TAM-S1,97,256,,8,0,0,0,,,,", +"D152FB02,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"D153CAF6,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,FourPlayer,,", +"D161888B,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"D1691028,Famicom,NAMCOT-3453,UNK-NAMCOT-DM,118,154,128,128,,0,0,0,,,,", +"D175B0CB,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"D17B76DA,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"D188963D,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVB,,11,64,64,,0,0,0,v,,,", +"D18E6BE3,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,256,256,,0,0,0,,,,", +"D19ADDEB,NesNtsc,NES-TQROM,NES-TQROM-01,MMC3A,119,128,64,8,0,0,0,,,,", +"D19DCB2B,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"D1E50064,Famicom,,,,1,128,,8,0,32,1,,,,", +"D1EA84C3,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"D1F7DF3A,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"D2038FC5,Famicom,IREM-G101,FC-00-015,G-101,32,128,128,,8,0,0,,,,", +"D20BB617,NesPal,NES-TLSROM,NES-TLSROM-01,MMC3C,118,128,128,,0,0,0,,,,", +"D2121F97,Famicom,,,,2,128,,8,0,0,0,v,,,", +"D229FD5C,NesPal,NES-PNROM,NES-PNROM-05,MMC2-L,9,128,128,,0,0,0,,,,", +"D2562072,NesNtsc,ACCLAIM-AOROM,54425,,7,256,,8,0,0,0,,,,", +"D2574720,NesNtsc,NES-SGROM,NES-SGROM-02,MMC1A,1,256,,8,0,0,0,,,,", +"D2674B0A,Famicom,,,,132,64,32,,0,0,0,h,,,", +"D2699893,Famicom,NAMCOT-3433,3433,118,88,128,128,,0,0,0,h,,,", +"D26EFD78,NesNtsc,NES-MHROM,NES-MH,,66,64,16,,0,0,0,v,Zapper,,", +"D273B409,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"D27B9D50,Famicom,,,,4,128,128,,0,0,0,,,,", +"D29DB3C7,Famicom,HVC-SNROM,HVC-SNROM-07,MMC1A,1,256,,8,0,8,1,,,,", +"D2BC86F3,Famicom,,,,1,256,,8,0,0,0,,,,", +"D2CCBACF,Famicom,,,,1,128,128,,0,0,0,,,,", +"D308D52C,NesNtsc,NES-NROM-128,NES-NROM-128-03,,0,16,8,,0,0,0,v,,,", +"D319144F,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"D31DC910,Famicom,HVC-UNROM,HVC-UNROM-10,,2,128,,8,0,0,0,v,,,", +"D323B806,Famicom,NAMCOT-340,ICM60-26-K,340,210,256,256,,0,0,0,v,,,", +"D343C66A,Famicom,BANDAI-FCG-2,JUMP,FCG-2,16,256,128,,0,0,0,,,,", +"D353D351,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,,", +"D364F816,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"D3A269DC,Famicom,,,,245,256,,8,0,8,1,,,,", +"D3AC6990,Famicom,,,,4,256,256,,0,0,0,,,,", +"D3BFF72E,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"D445F698,Famicom,HVC-NROM-256,3A,,0,32,8,,0,0,0,v,,,", +"D44B412E,NesPal,NES-SNROM,NES-SNROM-03,MMC1A,1,128,,8,0,8,1,,,,", +"D4611B79,NesNtsc,ACCLAIM-MC-ACC,53361-2,MC-ACC,4,128,256,,0,0,0,,,,", +"D467C0CC,Famicom,KONAMI-VRC-4,352396,VRC4,23,128,128,,2,0,0,,,,", +"D4924CBA,NesNtsc,,,,149,32,16,,0,0,0,h,,,", +"D49DCA84,NesPal,NES-SGROM,NES-SGROM-05,MMC1B2,1,256,,8,0,0,0,,,,", +"D4C7F0C3,Famicom,,,,2,128,,8,0,0,0,h,,,", +"D4D9E21A,Famicom,HVC-NROM-128,2,,0,16,8,,0,0,0,h,,,", +"D5224FDE,Famicom,,,,195,512,256,,1,8,1,4,,,", +"D532E98F,Famicom,HVC-EKROM,HVC-EKROM-01,MMC5,5,256,128,,0,8,1,,,,", +"D534C98E,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"D538669C,Famicom,,,,66,128,32,,0,0,0,v,,,", +"D568563F,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,128,,0,0,0,,,,", +"D5941AA9,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"D5C64257,NesNtsc,NES-NROM-256,NES-NROM-256-01,,0,32,8,,0,0,0,v,,,", +"D5C71458,NesNtsc,,,,7,128,,8,0,0,0,,,,", +"D5D6EAC4,Famicom,,,,241,512,,8,0,8,1,v,SuborKeyboard,,", +"D5ED8AC0,Famicom,HVC-NROM-256,,,0,32,8,,0,0,0,h,,,", +"D630EE8F,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"D63B30F5,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"D679627A,NesNtsc,ACCLAIM-MC-ACC,53361-2,MC-ACC,4,128,256,,0,0,0,,,,", +"D67FD6A6,NesPal,NES-SNROM,NES-SNROM-05,MMC1B2,1,128,,8,8,0,0,,,,", +"D68A6F33,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,128,,8,0,8,1,,TurboFile,,", +"D699AE69,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"D6AD4E9D,NesPal,NES-NROM-128,NES-NROM-128-04,,0,16,8,,0,0,0,h,,,", +"D6D2E486,Famicom,KONAMI-VRC-4,,Konami VRC IV,25,128,128,,0,0,0,,,,", +"D6DA2A1E,Famicom,,,,0,16,8,,0,0,0,h,,,", +"D6F7383E,NesPal,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"D6FE9826,Famicom,HVC-SKROM,HVC-SKROM-02,MMC1A,1,128,128,,8,0,0,,,,", +"D7077D96,Famicom,HVC-TLROM,,MMC3A,4,128,128,,0,0,0,,FourPlayer,,", +"D7215873,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"D72560E1,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,256,128,,0,0,0,,,,", +"D738C059,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"D73AA04C,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"D7458274,Famicom,,,,0,32,8,,0,0,0,v,,,", +"D745D7CB,NesPal,NES-NROM-256,NES-NROM-256-05,,0,32,8,,0,0,0,h,,,", +"D74B2719,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,PowerPad,,", +"D7794AFC,NesNtsc,NES-TKEPROM,NES-TKEPROM-02,MMC3C,4,512,256,,0,8,1,,,,", +"D78BFB28,NesPal,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,h,,,", +"D7AA0B6D,Famicom,NAMCOT-3416,LROG048-00,109,206,128,64,,0,0,0,v,,,", +"D7B35F7D,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,h,,,", +"D7CB398F,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"D7D2123C,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,h,,,", +"D7E29C03,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"D7F6320C,NesNtsc,NES-SJROM,NES-SJROM-03,MMC1B2,1,128,32,,8,0,0,,,,", +"D7FABAC1,Famicom,KONAMI-VRC-2,351618,VRC2,22,128,128,,0,0,0,,,,", +"D80B44BC,NesNtsc,NES-GNROM,NES-GNROM-05,,66,128,32,,0,0,0,h,,,", +"D81612F0,NesPal,,,,4,128,128,,8,0,0,,,,", +"D821A1C6,Famicom,HVC-CNROM,097-1A,,3,32,32,,0,0,0,h,,,", +"D8230D0E,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"D8578BFD,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"D858033D,Famicom,,,,3,32,32,,0,0,0,h,,,", +"D871D3E6,Famicom,,,,199,512,256,8,1,8,1,,,,", +"D8748E0A,Famicom,JALECO-JF-24,JF-24A,SS88006,18,128,128,,0,0,0,,,,", +"D898A900,Famicom,,,,3,32,32,,0,0,0,h,,,", +"D89E5A67,Famicom,TAITO-CNROM,FC-010,,3,32,16,,0,0,0,h,Arkanoid,,", +"D8EE7669,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"D8EFF0DF,Famicom,KONAMI-CNROM,302041A,,3,32,32,,0,0,0,v,,,", +"D8F651E2,Famicom,HVC-UOROM,HVC-UOROM-01,,2,256,,8,0,0,0,v,,,", +"D9084936,Famicom,HVC-TLROM,TL-01A,MMC3B,4,128,128,,0,0,0,,,,", +"D91104F1,Famicom,HVC-NROM-128,2A,,0,16,8,,0,0,0,v,,,", +"D920F9DF,Famicom,TAITO-TC0190FMC,J9100131A,TC0190FMC,33,128,128,,0,0,0,,,,", +"D923EB5B,Famicom,,,,1,128,128,,0,0,0,,,,", +"D9323EE6,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"D96D9924,Famicom,,,,4,256,256,,0,0,0,,,,", +"D97595A3,Famicom,JALECO-JF-06,JF-06,,87,16,16,,0,0,0,v,,,", +"D97C31B0,Famicom,NAMCOT-3416,3416,119,206,128,64,,0,0,0,v,,,", +"D9A532FC,Famicom,,,,4,128,256,,0,8,1,,,,", +"D9BB572C,NesNtsc,NES-SKROM,NES-SKROM-04,MMC1B2,1,128,128,,0,8,1,,,,", +"D9C093B1,Famicom,TAITO-NROM-128,FC007,,0,16,8,,0,0,0,h,,,", +"D9F0749F,NesNtsc,NES-SNROM,NES-SNROM-02,MMC1A,1,128,,8,8,0,0,,,,", +"D9F1E47C,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,256,128,,0,0,0,,,,", +"D9F45BE9,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1B2,1,128,,8,0,0,0,,PartyTap,,", +"DA07391E,Famicom,,,,4,512,,8,0,8,1,,,,", +"DA2CB59A,NesNtsc,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,FourPlayer,,", +"DA430FB3,Famicom,,,,148,32,64,,0,0,0,h,,,", +"DA690D17,Famicom,,,,1,256,,8,0,8,1,,,,", +"DA8E4AF4,NesNtsc,NES-TKROM,NES-TKROM-10,MMC3C,4,128,256,,0,8,1,,,,", +"DA8F65AE,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B3,1,128,128,,0,0,0,,,,", +"DAB84A9C,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"DAD34EE6,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"DAD88CC5,Famicom,IREM-UNROM,LROG016-00,,2,128,,8,0,0,0,v,,,", +"DAE467A8,Famicom,,,,0,32,8,,0,0,0,v,,,", +"DAEE19F2,NesNtsc,NES-SFROM,NES-SFROM-01,MMC1A,1,256,64,,0,0,0,,,,", +"DAF9D7E3,NesNtsc,NES-NROM-128,NES-NROM-128-02,,0,16,8,,0,0,0,h,,,", +"DB05106E,Famicom,BANDAI-LZ93D50,DRAGON BALL Z-B,FCG-3,16,128,128,,0,0,0,,,,", +"DB196068,Famicom,TAITO-UNROM,P3-029B,,2,128,,8,0,0,0,v,,,", +"DB1D03E5,NesNtsc,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"DB2D4F9D,NesNtsc,NES-TKEPROM,NES-TKEPROM-02,MMC3B,4,256,128,,0,8,1,,,,", +"DB479677,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"DB5169DC,Famicom,,,,82,128,256,,0,0,0,,,,", +"DB564628,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B3,1,256,,8,0,8,1,,,,", +"DB99D0CB,NesNtsc,CAMERICA-ALGN,ALGNV1-1,CF30288,71,128,,16,0,0,0,v,Aladdin,,", +"DB9C072D,NesPal,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,,,", +"DB9DCF89,NesNtsc,NES-NROM-128,NES-NROM-128-04,,0,16,8,,0,0,0,v,,,", +"DBB06A25,NesNtsc,NES-NROM-256,NES-NROM-256-05,,0,32,8,,0,0,0,v,,,", +"DBC5ECD9,NesNtsc,,,,141,256,256,,0,0,0,h,,,", +"DBECE74F,Famicom,HVC-TLROM,HVC-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"DBF90772,NesNtsc,NES-CNROM,NES-CN-ROM-256-02,,3,32,32,,0,0,0,h,,,", +"DC02F095,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"DC1E07D2,Famicom,HVC-SKROM,HVC-SKROM-03,MMC1A,1,128,128,,0,8,1,,,,", +"DC320617,NesNtsc,,,,141,256,128,,0,0,0,h,,,", +"DC45A886,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3B,4,128,128,,0,8,1,,,,", +"DC4DA5D4,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,h,,,", +"DC529482,NesPal,,,,1,256,,8,0,8,1,,,,", +"DC52BF0C,Famicom,BANDAI-LZ93D50+24C02,DRAGON BALL Z-B,FCG-3,16,256,256,,0,0,0,,,,", +"DC5959D2,Famicom,,,,4,256,256,,0,0,0,,,,", +"DC621DD1,Dendy,,,,0,16,8,,0,0,0,v,,,", +"DC75732F,Famicom,HVC-TLROM,HVC-TLROM-03,MMC3A,4,128,256,,0,0,0,,3dGlasses,,", +"DCB7C0A1,Famicom,HVC-UNROM,HVC-UNROM-09,,2,128,,8,0,0,0,v,,,", +"DCB972CE,Famicom,BANDAI-LZ93D50+24C01,DRAGON BALL Z-B,FCG-3,159,128,128,,0,0,0,,,,", +"DCD8D6F4,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"DCDF06DE,Famicom,NAMCOT-3413,023-01,109,206,64,32,,0,0,0,v,,,", +"DCEC4A59,NesNtsc,NES-TKEPROM,NES-TKEPROM-01,MMC3A,4,128,256,,0,0,0,,,,", +"DD062F9C,NesNtsc,NES-AN1ROM,NES-AN1ROM-01,,7,64,,8,0,0,0,,,,", +"DD29FD59,Famicom,NAMCOT-3406,3406,119,206,128,64,,0,0,0,h,,,", +"DD4D9A62,Famicom,,,,209,128,512,,0,0,0,,,,", +"DD7C8785,Famicom,,,,2,128,,8,0,0,0,h,,,", +"DD8CED31,Famicom,,,,209,128,256,,0,0,0,,,,", +"DD8ED0F7,Famicom,BANDAI-74*161/161/32,BA カメン,,70,128,128,,0,0,0,v,,,", +"DDA190F9,NesPal,,,,146,32,32,,0,0,0,v,,,", +"DDC6D9C9,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"DDCBDA16,Famicom,,,,150,64,64,,0,0,0,,Zapper,,", +"DDCFB058,Famicom,,,,187,256,512,,0,0,0,,,,", +"DDD90C39,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"DDDC56B8,Famicom,,,,240,128,128,,0,8,1,h,,,", +"DE25B90F,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,v,,,", +"DE395EFD,Famicom,,,,3,32,32,,0,0,0,v,,,", +"DE581355,Famicom,HVC-SEROM,HVC-SEROM-01,MMC1B2,1,32,32,,0,0,0,,,,", +"DE7E4629,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"DE8FD935,NesNtsc,NES-TEROM,NES-TEROM-02,MMC3A,4,32,32,,0,0,0,,Zapper,,", +"DE9C9C64,Famicom,TAITO-X1-005,P3-034-B,X1-005,80,128,128,,0,0,1,,,,", +"DEE05A23,Famicom,,,,4,128,128,,0,0,0,,,,", +"DF07C203,VsUni,,,,206,128,32,,0,0,0,h,,,", +"DF31B364,Famicom,,,,112,64,64,,0,0,0,,Zapper,,", +"DF343384,Dendy,,,,0,32,,8,0,0,0,h,,,", +"DF3776C6,Famicom,,,,4,128,128,,0,0,0,,,,", +"DF3E45D2,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,Zapper,,", +"DF3EB610,Famicom,,,,1,128,128,,0,8,1,,,,", +"DF43E073,NesNtsc,,,,4,128,128,,8,0,0,,,,", +"DF4EDC13,NesPal,NES-SEROM,NES-SEROM-04,MMC1B2,1,32,32,,0,0,0,,,,", +"DF64963B,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"DF67DAA1,Famicom,HVC-NROM-256,HVC-NROM-256K-02,,0,32,8,,0,0,0,h,Rob,,", +"DF6D0CE8,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"DF81364D,Famicom,,,,235,4096,,8,0,0,0,,,,", +"DFA111F1,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"DFC0CE21,Famicom,HVC-SNROM,HVC-SNROM-06,MMC1A,1,256,,8,0,8,1,,,,", +"DFD70E27,NesNtsc,NES-NROM-256,NES-NROM-256-04,,0,32,8,,0,0,0,h,,,", +"DFEB7E98,Famicom,,,,3,32,32,,0,0,0,v,,,", +"E02133AC,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"E043C6A5,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"E0604F76,Famicom,HVC-NROM-128,2,,0,16,8,,0,0,0,v,,,", +"E08C8A60,Famicom,HVC-TNROM,HVC-TNROM-02,MMC3C,4,512,,8,0,8,1,,,,", +"E095C3F2,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"E0AC6242,NesPal,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"E0B6B7BB,Famicom,HVC-UNROM,HVC-UNROM-09,,2,128,,8,0,0,0,v,,,", +"E0CBC2BA,Famicom,,,,1,256,128,,0,8,1,,,,", +"E0FFFBD2,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"E116447F,Famicom,,,,3,32,32,,0,0,0,h,,,", +"E124BC56,Famicom,,,,91,128,512,,0,0,0,v,,,", +"E1383DEB,Famicom,KONAMI-VRC-6,351949A,VRC6,26,256,256,,0,8,1,,,,", +"E145B441,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,256,128,,0,0,0,,Zapper,,", +"E149E0B2,NesNtsc,HVC-SIROM,HVC-SIROM-01,MMC1B1-H,1,32,64,,0,8,1,,PowerPad,,", +"E1526228,Famicom,NAMCOT-3416,3416,118,206,128,64,,0,0,0,v,,,", +"E15C973D,Famicom,,,,1,128,128,,0,0,0,,,,", +"E170404C,Famicom,BANDAI-LZ93D50+24C01,B50EEP,FCG-3,159,256,128,,0,0,0,,,,", +"E19293A2,Famicom,HVC-SJROM,HVC-SJROM-03,MMC1A,1,128,32,,0,8,1,,TurboFile,,", +"E19EE99C,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"E1B260DA,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"E1C03EB6,Famicom,HVC-CNROM,HVC-CNROM-2,,3,32,32,,0,0,0,h,,,", +"E1C41D7C,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"E1C59D94,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"E211B93A,Famicom,,,,0,16,8,,0,0,0,v,,,", +"E2265BF4,NesNtsc,,,,141,64,64,,0,0,0,h,,,", +"E2281986,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"E2313813,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"E24483B1,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,0,8,1,,,,", +"E2482419,Famicom,,,,0,32,8,,0,0,0,v,,,", +"E24DF353,Famicom,,,,2,128,,8,0,0,0,v,,,", +"E292AA10,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,h,,,", +"E2A79A57,Famicom,HVC-SFROM,HVC-SFROM-01,MMC1A,1,128,32,,0,0,0,,,,", +"E2B43A68,NesNtsc,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"E2C4EDCE,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"E2C94BC2,Famicom,,,,48,128,256,,0,0,0,,,,", +"E3027EBE,NesPal,NES-SJROM,NES-SJROM-03,MMC1B2,1,128,32,,8,0,0,,,,", +"E305202E,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"E30B2BCF,Famicom,HVC-NROM-256,HVC-NROM-256K-02,,0,32,8,,0,0,0,h,,,", +"E3158E17,Famicom,,,,0,32,8,,0,0,0,h,,,", +"E333FFA1,Famicom,HVC-SFROM,HVC-SFROM-01,MMC1B2,1,128,32,,0,0,0,,,,", +"E349AF38,Famicom,KONAMI-VRC-6,351951,VRC6,24,256,128,,0,0,0,,,,", +"E3526D8B,Famicom,,,,4,512,,8,0,0,0,,,,", +"E353969F,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"E37A39AB,NesPal,NES-TFROM,NES-TFROM-04,MMC3C,4,128,64,,0,0,0,,,,", +"E37F82CC,Famicom,,,,0,32,8,,0,0,0,v,,,", +"E387C77F,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,256,256,,0,0,0,,,,", +"E3C5BB3D,NesNtsc,KONAMI-TLROM,352026,MMC3B,4,128,128,,0,0,0,,,,", +"E3E2C3BF,Famicom,HVC-CNROM,N04,,3,32,32,,0,0,0,h,,,", +"E3F3F6AE,Famicom,,,,3,32,32,,0,0,0,h,,,", +"E402B134,NesPal,NES-CNROM,NES-CNROM-08,,3,32,32,,0,0,0,v,,,", +"E40B4973,Famicom,NAMCOT-3451,3451,118,206,32,32,,0,0,0,v,,,", +"E40DFB7E,Famicom,,,,116,256,256,,0,0,0,,,,", +"E41B440F,NesNtsc,,,,3,16,16,,0,0,0,h,,,", +"E429F0D3,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"E4362167,Famicom,KONAMI-VRC-7,353429,VRC7,85,128,128,,0,0,0,,,,", +"E44001D8,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1B2,1,128,,8,0,0,0,,PartyTap,,", +"E45485A5,VsUni,NES-DRROM,,,206,64,32,2,0,0,0,,,,", +"E46AEE21,NesNtsc,NES-TKEPROM,NES-TKEPROM-02,MMC3C,4,128,128,,0,8,1,,,,", +"E46B1C5D,Famicom,JALECO-JF-11,JF-11,,140,128,32,,0,0,0,v,,,", +"E4776A2B,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"E47E9FA7,Famicom,TAITO-NROM-128,P3-016,,0,16,8,,0,0,0,h,,,", +"E492D45A,Famicom,IREM-NROM-128,IREM-01-H,,0,16,8,,0,0,0,h,,,", +"E4A6E151,Famicom,,,,3,32,32,,0,0,0,h,FamilyTrainer,,", +"E4A7D436,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,512,256,,0,8,1,,,,", +"E4E3D2ED,Famicom,,,,0,16,8,,0,0,0,h,,,", +"E50A9130,NesNtsc,NES-SBROM,NES-SBROM-01,MMC1B1-H,1,64,32,,0,0,0,,,,", +"E53F7A55,Famicom,,,,1,128,128,,0,8,1,,,,", +"E54138A9,NesPal,NES-NROM-128,NES-NROM-128-01,,0,16,8,,0,0,0,h,,,", +"E542E3CF,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"E575687C,NesNtsc,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,h,,,", +"E57E5384,NesPal,NES-NROM-256,NES-NROM-256-03,,0,32,8,,0,0,0,v,,,", +"E583EC5E,Famicom,,,,0,16,8,,0,0,0,v,,,", +"E5901A99,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"E592F53A,NesPal,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,v,FamilyFunFitness,,", +"E5A8401B,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"E5A972BE,NesPal,NES-AN1ROM,NES-AN1ROM-01,,7,64,,8,0,0,0,,,,", +"E5D11921,Famicom,NAMCOT-3301,,,0,16,8,,0,0,0,h,,,", +"E5EA0EBE,NesNtsc,,,,1,128,128,,0,0,0,,,,", +"E5FCC4C1,NesPal,NES-SEROM,NES-SEROM-04,MMC1B2,1,32,32,,0,0,0,,,,", +"E616FF0A,Famicom,HVC-SKROM,HVC-SKROM-06,MMC1B2,1,128,128,,0,8,1,,,,", +"E62E3382,NesNtsc,CAMERICA-BF9093,BIC-48,BF9093,71,128,,8,0,0,0,v,,,", +"E63D9193,Famicom,HVC-SNROM,HVC-SNROM-08,MMC1B2,1,128,,8,0,8,1,,,,", +"E64B8975,Famicom,NAMCOT-163,60-15,163,19,128,128,,0,8,1,,,,", +"E66010C4,Famicom,,,,195,512,256,,9,0,0,4,,,", +"E66BDDCF,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"E681B300,NesPal,,,,4,128,128,,0,0,0,,,,", +"E6A477B2,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,v,3dGlasses,,", +"E6B30BB3,Famicom,,,,1,128,128,,0,0,0,,,,", +"E6C9029E,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"E6DF6616,Famicom,KONAMI-74*139/74,302017B,,87,32,16,,0,0,0,v,,,", +"E6F08E93,NesNtsc,NES-UNROM,NES-UN-ROM-01,,2,128,,8,0,0,0,v,,,", +"E71D034E,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"E71DB268,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,,", +"E73E7260,NesNtsc,TENGEN-800030,800030-01 REV A,337001,206,64,32,,0,0,0,v,,,", +"E74A91BB,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"E74AA15A,Famicom,HVC-SGROM,HVC-SGROM-03,MMC1A,1,128,,8,0,0,0,,,,", +"E78A394C,Famicom,HVC-TLROM,HVC-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"E7C981A2,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"E7D2C49D,NesNtsc,NES-NROM-128,NES-NROM-128-03,,0,16,8,,0,0,0,h,,,", +"E7DA8A04,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"E7DDFEE3,Famicom,HVC-TSROM,HVC-TSROM-01,MMC3A,4,256,128,,8,0,0,,,,", +"E7EAD93B,NesNtsc,NES-SFROM,NES-SFROM-03,MMC1B3,1,128,32,,0,0,0,,,,", +"E801F662,Famicom,,,,0,16,8,,0,0,0,h,,,", +"E81C71E9,NesNtsc,HVC-CNROM,HVC-CNROM-256K-01,,3,32,32,,0,0,0,v,,,", +"E840FD21,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3A,4,128,128,,0,0,0,,FourPlayer,,", +"E85B4D3D,NesNtsc,,,,2,128,,8,0,0,0,v,Zapper,,", +"E8829001,Famicom,,,,3,32,32,,0,0,0,v,,,", +"E8AF6FF5,Famicom,HVC-CNROM,097,,3,32,32,,0,0,0,v,,,", +"E8B20197,VsUni,,,,99,32,16,,0,0,0,4,,,", +"E8BAA782,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,0,8,1,,,,", +"E9023072,Famicom,JALECO-JF-01,JF-01,,0,16,8,,0,0,0,h,,,", +"E911BCC4,Famicom,NAMCOT-3301,3301,,0,16,8,,0,0,0,h,,,", +"E9176129,Famicom,HVC-TEROM,UNK-HVC-TEROM,MMC3B,4,32,32,,0,0,0,,,,", +"E943EC4D,NesNtsc,NES-SLRROM,NES-SLRROM-01,MMC1B2,1,128,128,,0,0,0,,,,", +"E949EF8A,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"E94D5181,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"E94E883D,NesPal,NES-TSROM,NES-TSROM-03,MMC3A,4,128,128,,8,0,0,,,,", +"E95454FC,Famicom,,,,4,128,128,,0,0,0,,,,", +"E95E51E0,Famicom,,,,1,128,128,,0,0,0,,,,", +"E98AB943,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"E9A6C211,NesNtsc,KONAMI-SLROM,351908,MMC1B2,1,128,128,,0,0,0,,,,", +"E9A6F17D,VsUni,,,,99,32,8,,0,0,0,4,,,", +"E9A7FE9E,Dendy,UNL-EDU2000,,,65000,1024,,8,0,32,1,,SuborKeyboard,,", +"E9AD2163,NesPal,NTDEC-N715061,N715061,,3,32,32,,0,0,0,h,,,", +"E9C387EC,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"E9D352EB,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"E9F16673,Famicom,,,,148,32,64,,0,0,0,h,,,", +"E9F8EF15,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,256,128,,0,0,0,,,,", +"EA113128,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVC,,11,64,64,,0,0,0,v,,,", +"EA19080A,NesNtsc,AVE-NINA-03,NINA-03 REV. A,,79,32,32,,0,0,0,h,,,", +"EA27B477,NesNtsc,ACCLAIM-MC-ACC,53361-2,MC-ACC,4,128,128,,0,0,0,,,,", +"EA3E78DD,Famicom,JALECO-JF-37,JF-37,SS88006,18,128,256,,0,0,0,,,,", +"EA4EB69E,NesNtsc,NES-SFROM,NES-SFROM-03,MMC1B2,1,128,32,,0,0,0,,,,", +"EA89963F,Famicom,HVC-CNROM,097,,3,32,32,,0,0,0,v,,,", +"EA90F3E2,Famicom,BANDAI-CNROM,BA-ランニング,,3,32,32,,0,0,0,h,FamilyTrainer,,", +"EAB93CFB,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"EAC38105,NesNtsc,NES-CNROM,NES-CNROM-06,,3,32,32,,0,0,0,v,FourPlayer,,", +"EAD40557,Dendy,,,,0,32,8,,0,0,0,h,,,", +"EAF7ED72,NesNtsc,NES-SNROM,NES-SNROM-03,MMC1A,1,128,,8,0,8,1,,,,", +"EB0BDA7E,NesNtsc,TENGEN-800032,800032 REV A,337006,64,128,128,,0,0,0,,,,", +"EB15169E,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"EB2D56C0,Famicom,,,,198,640,,8,1,8,1,,,,", +"EB465156,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,,,", +"EB61133B,NesNtsc,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,h,,,", +"EB6F80E8,Dendy,,,,0,32,8,,0,0,0,h,,,", +"EB764567,Famicom,NAMCOT-3305,3305,,0,32,8,,0,0,0,v,,,", +"EB803610,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"EB84C54C,NesNtsc,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,,,", +"EB92B32A,Famicom,KONAMI-VRC-2,351948,VRC2,25,256,256,,0,8,1,,,,", +"EB9960EE,NesNtsc,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,v,,,", +"EBB56E10,Dendy,,,,7,128,8,,0,0,0,,SuborKeyboard,,", +"EBCF8419,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,256,128,,0,8,1,,,,", +"EBCFE7C5,NesNtsc,NES-SC1ROM,NES-SC1ROM-01,MMC1B2,1,64,128,,0,0,0,,,,", +"EBD0644D,NesNtsc,,,,3,32,32,,0,0,0,v,,,", +"EC0517C4,Famicom,HVC-NROM-256,HVC-NROM-256K-02,,0,32,8,,0,0,0,h,,,", +"EC0FC2DE,NesNtsc,NES-SEROM,NES-SEROM-03,MMC1B2,1,32,32,,0,0,0,,,,", +"EC3B7B47,Famicom,,,,64,128,64,,0,0,0,,,,", +"EC40E71B,Famicom,JALECO-JF-14,JF-14,,140,128,128,,0,0,0,v,,,", +"EC6D910E,Famicom,,,,156,256,256,,8,0,0,,,,", +"EC8A884F,Famicom,,,,3,32,32,,0,0,0,v,,,", +"EC968C51,NesNtsc,NES-DRROM,NES-DRROM-01,109,206,128,64,2,0,0,0,,,,", +"ECBF33CE,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3C,4,256,128,,0,8,1,,,,", +"ECCD4089,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,256,128,,0,0,0,,,,", +"ECEC80B4,Famicom,,,,75,128,128,,0,0,0,,,,", +"ED0AA77B,Famicom,,,,4,64,64,,0,0,0,,,,", +"ED2465BE,NesNtsc,NES-ELROM,NES-ELROM-01,MMC5,5,256,128,,0,0,0,,,,", +"ED3FA60E,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,256,,0,0,0,,,,", +"ED481B7C,Famicom,,,,199,512,256,8,1,8,1,,,,", +"ED77B453,NesPal,NES-UNROM,NES-UNROM-10,,2,128,,8,0,0,0,v,,,", +"ED7F5555,NesPal,NES-SNROM,NES-SNROM-02,MMC1A,1,128,,8,0,8,1,,,,", +"EDB662C5,Famicom,,,,4,128,256,,0,0,0,,,,", +"EDC3662B,NesNtsc,NES-SL1ROM,NES-SL1ROM-01,MMC1A,1,128,128,,0,0,0,,Zapper,,", +"EDCF1B71,NesNtsc,NES-ANROM,NES-ANROM-01,,7,128,,8,0,0,0,,,,", +"EDDCC468,Famicom,,,,2,128,,8,0,0,0,v,,,", +"EE219A49,NesPal,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,h,,,", +"EE43153E,Famicom,,,,4,128,128,,0,0,0,,,,", +"EE6892EB,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"EE7614E8,Famicom,,,,4,256,128,,8,0,0,,,,", +"EE810D55,Famicom,,,,192,512,256,,1,8,1,4,,,", +"EE8E6553,Famicom,HVC-EWROM,HVC-EWROM-02,MMC5,5,256,256,,0,32,1,,,,", +"EE921D8E,NesNtsc,KONAMI-SLROM,351908,MMC1B2,1,128,128,,0,0,0,,,,", +"EE9548AD,Famicom,,,,195,256,256,,1,8,1,4,,,", +"EEB20F84,Playchoice,,,,1,128,128,,0,0,0,,,,", +"EEBEE0C8,Famicom,,,,195,256,256,,1,8,1,4,,,", +"EEE0C7F8,NesPal,,,,0,16,8,,0,0,0,v,,,", +"EEE6314E,Famicom,HVC-TKROM,HVC-TKROM-03,MMC3B,4,128,128,,0,8,1,,,,", +"EEE9A682,Famicom,HVC-ETROM,HVC-ETROM-01,MMC5,5,256,128,,8,8,1,,,,", +"EF4DB05E,Dendy,,,,1,128,128,,0,0,0,,,,", +"EF7996BF,Famicom,NAMCOT-163,60-14,163,19,128,128,,0,0,0,,,,", +"EF7AF338,VsUni,,,,99,32,16,,0,0,0,4,,,", +"EF7BA485,Famicom,,,,163,2048,,8,0,8,1,v,,,", +"EFB09075,NesNtsc,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"EFB2B7E8,NesPal,,,,0,16,8,,0,0,0,v,,,", +"EFCF375D,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,PowerGlove,,", +"EFD26E37,NesNtsc,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,,,", +"F00584B6,NesNtsc,NES-TKROM,NES-TKROM-02,MMC3B,4,128,128,,0,8,1,,,,", +"F009DDD2,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"F011E490,NesNtsc,NES-EWROM,NES-EWROM-01,MMC5,5,256,256,,0,32,1,,,,", +"F03E6D72,NesNtsc,NES-TKEPROM,NES-TKEPROM-02,MMC3B,4,128,128,,0,0,0,,,,", +"F053AC5F,Famicom,HVC-TKROM,HVC-TKROM-01,MMC3A,4,128,256,,0,8,1,,,,", +"F05870D5,NesNtsc,AVE-NINA-06,NINA-06,,79,64,64,,0,0,0,v,,,", +"F08E8EF0,Famicom,,,,4,128,128,,0,0,0,,,,", +"F0C198FF,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"F0E89EFA,Famicom,,,,0,32,8,,0,0,0,v,,,", +"F0E9971B,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"F11649E5,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"F161A5D8,Famicom,HVC-TGROM,HVC-TGROM-01,MMC3C,4,512,,8,0,0,0,,,,", +"F17486DF,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"F181C021,NesNtsc,NES-TFROM,NES-TFROM-01,MMC3A,4,128,64,,0,0,0,,,,", +"F184EB2D,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"F19A11AF,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,0,8,1,,,,", +"F1C48D61,Famicom,,,,196,128,128,,0,0,0,,,,", +"F1C76AED,Famicom,,,,1,128,128,,0,0,0,,,,", +"F1E6B576,Famicom,JALECO-JF-13,JF-13,D7756C,86,128,64,,0,0,0,v,,,", +"F1FED9B8,NesNtsc,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,,", +"F2594374,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"F27D4017,NesPal,NES-TKEPROM,NES-TKEPROM-01,MMC3B,4,128,128,,0,0,0,,,,", +"F283CF58,Famicom,,,,3,32,32,,0,0,0,h,,,", +"F2CE3641,Famicom,SUNSOFT-4,SUNSOFT-6A,Sunsoft-4,68,128,256,,0,0,0,,,,", +"F2DC8923,Famicom,,,,4,128,128,,0,0,0,,,,", +"F2FC8212,Famicom,HVC-NROM-128,9011-06,,0,16,8,,0,0,0,v,,,", +"F304F1B9,NesNtsc,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"F31D36A3,NesNtsc,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"F31DCC15,Famicom,,,,4,128,128,,0,0,0,,,,", +"F32748A1,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"F34190B4,Famicom,,,,4,128,128,,0,0,0,,,,", +"F3623561,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3B,4,128,128,,0,0,0,,,,", +"F37BEFD5,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"F3808245,Famicom,,,,2,128,,8,0,0,0,v,,,", +"F3841DCD,NesNtsc,AVE-NINA-06,NINA-06,,79,32,32,,0,0,0,h,,,", +"F3F1269D,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"F41ADD60,Famicom,NAMCOT-3406,026-00,109,206,128,64,,0,0,0,h,,,", +"F42B0DBD,NesNtsc,NES-CNROM,NES-CN-ROM-256-01,,3,32,32,,0,0,0,h,,,", +"F450DB3A,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"F4615036,NesNtsc,NES-SL1ROM,NES-SL1ROM-02,MMC1B2,1,128,128,,0,0,0,,,,", +"F46EF39A,NesPal,PAL-ZZ,ZZ,MMC3,37,256,256,,0,0,0,,FourPlayer,,", +"F471827D,NesNtsc,,,,1,128,128,,0,0,0,,,,", +"F4B70BFE,NesPal,NES-SNROM,NES-SNROM-05,MMC1B2,1,256,,8,0,8,1,,,,", +"F4DD5BA5,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,,", +"F4DFDB14,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,h,,,", +"F4E5DF0E,Famicom,,,,4,128,128,,0,0,0,,,,", +"F518DD58,NesNtsc,NES-AMROM,NES-AMROM-01,,7,128,,8,0,0,0,,,,", +"F51A7F46,Famicom,,,,157,256,,8,0,0,0,,,,", +"F532F09A,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"F5350410,NesNtsc,,,,113,16,16,,0,0,0,h,,,", +"F540677B,Famicom,HVC-EWROM,HVC-EWROM-03,MMC5,5,512,256,,0,32,1,,,,", +"F54B34BD,NesNtsc,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,v,FourPlayer,,", +"F56135C0,Famicom,HVC-TLROM,HVC-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"F568A7A4,Famicom,,,,1,256,,8,0,0,0,,,,", +"F56D6D46,Famicom,,,,243,64,64,,0,0,0,h,,,", +"F59CFC3D,NesPal,,,,1,256,,8,0,8,1,,,,", +"F5A1B8FB,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"F5B2AFCA,NesPal,NES-SNROM,NES-SNROM-05,MMC1B2,1,256,,8,0,8,1,,,,", +"F5CEEF8F,Famicom,NAMCOT-3406,LROG037-00,109,206,128,64,,0,0,0,h,,,", +"F5F435B1,Famicom,HVC-NROM-128,HVC-NROM-03,,0,16,8,,0,0,0,h,,,", +"F5F5AA5D,Famicom,,,,3,32,32,,0,0,0,h,,,", +"F6035030,NesNtsc,NES-UNROM,NES-UN-ROM-06,,2,128,,8,0,0,0,v,,,", +"F6139EE9,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"F613A8F9,NesNtsc,NES-ANROM,NES-ANROM-01,,7,128,,8,0,0,0,,,,", +"F6271A51,Famicom,KONAMI-VRC-4,351406,VRC4,25,128,128,,0,0,0,,,,", +"F635C594,Famicom,SUNSOFT-1,4041,Sunsoft-1,184,32,16,,0,0,0,v,,,", +"F64CB545,Famicom,HVC-UNROM,HVC-UNROM-09,,2,128,,8,0,0,0,v,,,", +"F651398D,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,,,", +"F66944EE,NesNtsc,BMC-FK23C,,,65000,1024,1024,,0,0,0,h,,,", +"F66EC512,Famicom,HVC-TFROM,HVC-TFROM-01,MMC3C,4,128,64,,0,0,0,,,,", +"F6751D3D,Famicom,,,,2,128,,8,0,0,0,h,,,", +"F6898A59,NesNtsc,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,,", +"F699EE7E,NesNtsc,TENGEN-800042,800042-01 REV B,337007,68,128,256,,0,0,0,,,,", +"F6A9CB75,NesNtsc,UNL-RACERMATE,R981-112-00,,168,64,,64,0,0,0,h,,,", +"F6B9799C,NesNtsc,NES-SNROM,NES-SNROM-05,MMC1B2,1,256,,8,0,8,1,,,,", +"F6DE2AA2,VsUni,,,,151,64,64,,0,0,0,4,,,", +"F6E2BD6E,Famicom,,,,3,32,32,,0,0,0,v,,,", +"F6ECF6F7,Famicom,,,,170,32,8,,0,0,0,h,,,", +"F714FAE3,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,128,,8,0,8,1,,,,", +"F71E7EDD,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"F732C8FD,NesNtsc,CAMERICA-ALGN,ALGNV1-1,CF30288,71,256,,16,0,0,0,v,,,", +"F735D926,VsUni,,,,151,64,32,,0,0,0,4,,,", +"F74DFC91,NesNtsc,NES-SGROM,NES-SGROM-04,MMC1B2,1,128,,8,0,0,0,,,,", +"F7606810,Famicom,HVC-FAMILYBASIC,FB-R-128-01,,0,32,8,,0,2,1,v,FamilyKeyboard,,", +"F760F1CB,Famicom,HVC-NROM-256,3A,,0,32,8,,0,0,0,v,,,", +"F7762A20,Famicom,NAMCOT-3405,LROG032-00,109,206,128,32,,0,0,0,h,,,", +"F7893859,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,,", +"F793E28A,Famicom,,,,4,256,128,,0,0,0,,,,", +"F79A75D7,NesNtsc,NES-TKEPROM,NES-TKEPROM-02,MMC3B,4,256,256,,0,8,1,,,,", +"F7A9822E,NesNtsc,,,,141,256,128,,0,0,0,h,,,", +"F7B852E4,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,v,,,", +"F7D20181,Famicom,,,,1,128,128,,0,0,0,,,,", +"F7DB8B5C,Famicom,,,,0,32,8,,0,2,1,v,FamilyKeyboard,,", +"F7E07B83,Famicom,HVC-SKROM,HVC-SKROM-04,MMC1B2,1,128,128,,0,8,1,,,,", +"F808AF60,Famicom,SUNSOFT-1,4041,Sunsoft-1,184,32,16,,0,0,0,v,,,", +"F80BDC50,Famicom,TAITO-TC0190FMC,J9100205A,TC0190FMC,33,128,128,,0,0,0,,,,", +"F83E0D2D,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"F84E2912,Famicom,,,,225,1024,512,,0,0,0,,,,", +"F85E264D,Famicom,,,,4,256,256,,0,0,0,,,,", +"F863D5BB,Famicom,HVC-NROM-128,9011-01,,0,16,8,,0,0,0,h,,,", +"F865EC8D,Famicom,,,,0,16,8,,0,0,0,h,,,", +"F880E010,Famicom,KONAMI-VRC-4,,Konami VRC IV,25,128,128,,0,0,0,,,,", +"F885D931,Famicom,HVC-SKROM,HVC-SKROM-04,MMC1B1-H,1,128,128,,0,8,1,,,,", +"F89300FB,Famicom,,,,2,128,,8,0,0,0,h,,,", +"F8A713BE,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"F8C1A690,Famicom,,,,1,128,128,,0,0,0,,,,", +"F8D53171,Famicom,HVC-TLROM,HVC-TLROM-01,MMC3A,4,128,128,,0,0,0,,,,", +"F919795D,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,,", +"F927FA43,Famicom,,,,4,128,128,,0,0,0,,,,", +"F92BE3EC,NesNtsc,TENGEN-800032,800032 REV A,337006,64,128,128,,0,0,0,,,,", +"F92BE7F2,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"F9443A53,Famicom,,,,3,32,16,,0,0,0,h,,,", +"F956FCEA,NesNtsc,DREAMTECH01,,,65000,144,,8,0,0,0,h,,,", +"F96D07C8,Famicom,,,,1,128,128,,0,0,0,,,,", +"F989296C,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,,", +"F99525B7,Famicom,,,,3,32,32,,0,0,0,h,,,", +"F99E37EB,NesNtsc,NES-SLROM,NES-SLROM-05,MMC1B2,1,128,128,,0,0,0,,FourPlayer,,", +"F9B0C04D,Famicom,,,,4,128,128,,0,0,0,,,,", +"F9FC0700,NesPal,NES-UNEPROM,NES-UNEPROM-01,,2,128,,8,0,0,0,h,,,", +"FA014BA1,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"FA1CB05C,NesNtsc,BMC-FK23C,,,65000,512,512,,0,0,0,v,,,", +"FA2A8A8B,Famicom,HVC-TKROM,HVC-TKROM-02,MMC3B,4,128,128,,0,8,1,,,,", +"FA43146B,NesNtsc,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"FA6D4281,Famicom,HVC-CNROM,N04,,3,32,32,,0,0,0,v,,,", +"FA704C86,Famicom,HVC-UNROM,HVC-UNROM-08,,2,128,,8,0,0,0,h,,,", +"FA73D3A2,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,256,,0,0,0,,,,", +"FA74F656,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,,", +"FA7E02FA,Famicom,NAMCOT-CNROM+WRAM,UNK-NAMCOT-X79,,3,32,32,,2,0,0,h,,,", +"FA7EE642,NesPal,NES-SGROM,NES-SGROM-04,MMC1B2,1,256,,8,0,0,0,,,,", +"FAAD108A,Dendy,,,,0,32,8,,0,0,0,v,,,", +"FAF3582F,Dendy,,,,0,32,8,,0,0,0,h,,,", +"FB0DDDE7,VsUni,,,,99,32,16,,0,0,0,4,,,", +"FB1C0551,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B3,1,256,,8,0,8,1,,,,", +"FB2B6B10,NesNtsc,,,,241,1024,,,0,0,0,h,,,", +"FB2F949F,Famicom,,,,112,128,256,,0,0,0,,,,", +"FB3439FC,NesNtsc,SACHEN-8259A,TC-30-2,SA8259A,141,128,256,,0,0,0,,,,", +"FB69743A,Famicom,HVC-SOROM,HVC-SOROM-03,MMC1A,1,256,,8,8,8,1,,,,", +"FB8A9B80,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1A,1,128,128,,0,0,0,,,,", +"FB98D46E,NesNtsc,NES-NROM-128,NES-NROM-128-01,,0,16,8,,0,0,0,h,,,", +"FBA769F6,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"FBD48274,NesPal,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"FBF8A785,NesNtsc,NES-AOROM,NES-AOROM-01,,7,128,,8,0,0,0,,,,", +"FC00A282,Famicom,JALECO-JF-03,JF,,0,16,8,,0,0,0,h,,,", +"FC201C46,Famicom,,,,2,128,,8,0,0,0,v,,,", +"FC2DA286,NesPal,NES-CNROM,NES-CNROM-07,,3,32,32,,0,0,0,h,,,", +"FC2F9B2D,NesPal,NES-TSROM,NES-TSROM-08,MMC3C,4,128,128,,8,0,0,,,,", +"FC3236D1,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"FC3E5C86,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,v,,,", +"FC5026EE,NesPal,NES-CNROM,NES-CNROM-08,,3,32,32,,0,0,0,h,,,", +"FC5783A7,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"FC778215,NesNtsc,,,,148,64,64,,0,0,0,h,,,", +"FC78ACAF,Famicom,,,,90,128,512,,0,0,0,,,,", +"FC889532,Famicom,,,,4,128,256,,0,0,0,,,,", +"FCB13110,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,,", +"FCB5CB1E,Famicom,,,,2,128,,8,0,0,0,h,,,", +"FCBF28B1,Famicom,KONAMI-VRC-4,352396,VRC4,23,128,128,,2,0,0,,,,", +"FCD772EB,NesPal,NES-TSROM,NES-TSROM-08,MMC3B,4,128,128,,8,0,0,,,,", +"FCDACA80,Famicom,TAITO-NROM-256,FC008,,0,32,8,,0,0,0,h,,,", +"FCE408A4,NesNtsc,NES-CNROM,NES-CN-ROM-256-05,,3,32,32,,0,0,0,v,,,", +"FCE71311,NesNtsc,NES-CNROM,NES-CN-ROM-256-02,,3,32,32,,0,0,0,h,PowerPad,,", +"FCEBCC5F,NesPal,,,,0,16,8,,0,0,0,v,,,", +"FCED9648,Famicom,,,,117,256,256,,0,0,0,v,,,", +"FD21F54D,NesPal,NES-SGROM,NES-SGROM-05,MMC1B2,1,256,,8,0,0,0,,,,", +"FD45E9C1,Famicom,,,,1,128,,8,0,8,1,,,,", +"FD46C854,Famicom,,,,189,128,128,,0,0,0,,,,", +"FD63E7AC,NesNtsc,TENGEN-800030,800030-01 REV A,337001,206,128,64,,0,0,0,v,,,", +"FD7E9A7E,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,,", +"FD8D6C75,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"FDB8AA9A,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,256,,0,0,0,,,,", +"FDD89C45,Famicom,,,,0,16,8,,0,0,0,v,,,", +"FDDF2135,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,256,256,,0,0,0,,,,", +"FDE14CCE,Famicom,HVC-NROM-256,HVC-NROM-256K-02,,0,32,8,,0,0,0,v,,,", +"FDE1C7ED,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,256,128,,0,0,0,,,,", +"FDF4569B,NesNtsc,NES-SEROM,NES-SEROM-04,MMC1B2,1,32,32,,0,0,0,,,,", +"FDFF80D5,NesPal,NES-SEROM,NES-SEROM-04,MMC1B2,1,32,16,,0,0,0,,,,", +"FE07C1D5,Famicom,,,,7,256,,8,0,0,0,,,,", +"FE08D602,NesPal,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,,", +"FE18E6B6,Famicom,HVC-NROM-256,HVC-NROM-256K-02,,0,32,8,,0,0,0,v,,,", +"FE3488D1,Famicom,HVC-ETROM,HVC-ETROM-02,MMC5,5,512,128,,8,8,1,,,,", +"FE364BE5,Famicom,HVC-SNROM,HVC-SNROM-09,MMC1B2,1,256,,8,0,8,1,,,,", +"FE387FE5,Famicom,IREM-G101,FC-00-016,G-101,32,128,128,,0,0,0,,,,", +"FE4ED42B,Famicom,,,,4,128,128,,0,0,0,,,,", +"FE907015,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,,", +"FE99BBED,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,128,,0,0,0,,,,", +"FEA1CB5D,Famicom,,,,0,16,8,,0,0,0,v,,,", +"FEBF5DC1,Famicom,,,,0,32,8,,0,0,0,v,,,", +"FF24D794,Famicom,HVC-SROM,HVC-SROM-03,,0,16,8,,0,0,0,v,Zapper,,", +"FF53D73E,NesNtsc,NES-UNROM,NES-UNROM-08,,2,128,,8,0,0,0,v,,,", +"FF5BC685,Famicom,,,,4,128,128,,0,0,0,,,,", +"FF84F552,NesNtsc,VS-DualSystem,,,65000,0,,,0,0,0,,,,", +"FFBEF374,VsUni,,,,2,128,,8,0,0,0,v,,,", +"FFD9DB04,Famicom,SETA-NROM-128,P3-009,,0,16,8,,0,0,0,h,,,", +"FFE8507E,Famicom,,,,4,128,256,,0,8,1,,,,", +"FFFDC310,NesPal,,,,79,32,64,,0,0,0,h,,,", \ No newline at end of file diff --git a/Libretro/libretro.cpp b/Libretro/libretro.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d66cc7e90308ee07ac9dc90c6e935d14050f4f66 GIT binary patch literal 62892 zcmeI5`EndblBermuGzdpHO58*_DoZ}4^1D2lg({PG_}k{~t#$M<=7FqvO%r(c$Q5G#;&u z&PH$a|KriK(T}4GqZfkw!{~pE+AV+Ev^;Hkcs}}lPb+#nRqu~S-}SV6EG(XnUa93v zwSUpmc5QT5ZJsoJ((|j)o_arNX23Y7y?D2;-d7KAo9n+6jwgCQpQD#Q>6&+=MSA#B zJ)G%f58g=j z5A=6D`DIJj9qaW(pHD~M3jRC2PZ~-e>ni&Bw?_WE$3Q;6SMNyciB^g4ZziK8Ty~mP z^YjniuZ0nPzHX>|Jn7xP-TByJ(f)mwN0SlI7H>wW|9yRf(&*D+lzJkJk-o8dd?5+C zKcV#52#P!w<&n(8Nq^4-Io5g}RjCeku9fKzTGRGq^hkeC^}k7m;kG9IZfggRe6APs zh!)|wMx&3h#%ESw^SJ48+3TfPXE6W2aVMxVREML>uPtT7xVCISg}{? z-{{3JKTP@nK5jHISJAUk6x#qcta!xpnIKT498Bnuu38p0f7B|#3;(x~ z3+%;Ej9yf(oENK&hRaOr?+FL<2WynUma%%+2Xw5rop)qB*yox*TA?-`THJr1e+(?v zzA$#H*j{mF@}1`9ZRQ<|I04Os=Y|)EtUZubIF+?D$#@T|G&@#HEjIR4S8t~#7twHQ9TqC9lR+dpmmnN#(A zSKl7%v&IvK5q=%lJ!ACV#RvIvyvs0Nr^u_c;5y9^S@B*%QvjcinP; zCi3?1R%}1-T%kPP1Cqgt5|`Fy45evz(9qjk&O7Rt4JRE*D$sjq9@u@zyr5m1#FJ5WoUkfvEu2Bja`ZWjokE<-g zO4rSc&we8tuZ0Wqf2WMZJN1qP*DyJov<3@nf1uWW#k@F}p700@Uk1H#B=5~K8N0%V zd`t}^(-wX${+nM-)MeM>%UKVOAs*!0hT?BVS4NkcRVTJOQcH9a>z(^<-;6FQzQ3x! ze-R$<_2&DoUf09xUjzK2T3nW1ys1}&Us5lZnqO{Y@GFXCxMoAY$M)B>Cctkf4vp~Z z`VJhNayad;H@`*rHNh@vow+8$uZRLyM%P;Ki^Ausa4*~Q{hIKv!LN!Q7mNAQ4jiv) z>^LrPe=P#vP{00;{ag~3*M!gZ=vFrFRpAaktX*t>qnXtWL3289sO=?*UlD(Y@i_!;+RXmO_Sc0cRvvpE z;mj1Bg4T&}B;tl%y9NER*Q`z1epgUz54JV-v#WJsg|R>pjy}Jo*3dP=(N1U;s1)JQ z9^NV8*VKAj{UEQgJ$$v@;F{0ZtO+_UpD%Liuh`GB=x>@H4V#Y(j@uf!gu}^Ly%N6L zP_4aQw1f6&vxq-%=(bhRll6jb_+_y@8j?3_6XEoM1-PZFA{@Jb4c^r6IUL@>)|c&p zU(^^m9q=Ih9s3zV|2}K-PSMEsf9J7C+lQS!7J>ij)}uQX+0vS}tpqw5shf3`hP3xM zgwNRi(~U*Yf?cr)YnE$4q~V5SmY6EiXNZ&xY2R%f;q=41gmVqA zMc^qC%p+j>Wo{)sfrCq_ogDWP?sP8Ue5Wt2i}*XdoELb2PYLJx8r)W^79)1knGxtK z;^R1$c+$VW%l2GT;_0vw&V2n9`vDK|;kO6}58fr*=~Ke_&X_egW7OdEU&GVaGUCIy zyvz3VU4uI=Wqao-u8IA7`w~x=iACjte*G24HEuJ{J;K4Swl4J11+T4_x96JJKXAt2 zni9@$<$QthD*4uNDcd_PWqaDuPf35;1LL=d4{(1+IP2xFE_h!o!cOvcvLu`y;cN*z zSez!b-QMB*C3ye#F0mkILR=T&`0!v&To>WQz>rsbvh=SE*&Vh~3C?G3Pig zwuacEg!7%8d<{-};=$Mt?eOKvDwS}4tMxMr+;oEdjs3Gw%)+-G^lT**( zBAitu!%_0$6~WjIK+;pzP+JUjj=SDbtu)rB7!Y${77Ru>>&Zc)p zkL{5R%M<49$?t*@XEI`Y>=)7pt~nfQg|Cp~gBByhPmVISXMM4grSCE;ox9qj9sC`~ zB~}7cx&)=E`+3%?+*d{-H7}Q%2Ssg4^DE zE~m&Leg)DI$HlY54`Buoj^#oBv1SpDoU*Hc-i>hlF+T?q;azm@f;;W`jQubtbUGA@ zaKnWigq%Li)%0=R9xnv$DceI~^RRM#W&7WjBa7o=N1zb&&f$1vaC1%{@MJ%Ozp*{q zjhVG=3EY78%lo$;@C5Vu!f*bL{ddth!uxEAoqFbEFL&%5>#i*B1UQ_W|2&$(u55^N z;HZ2(z@r|c*!hvtXY?~&WlZDtW40Kj9a~t8Vq-@-nqBFNIoka&FWVb#>wSw+az3E_ zDq|G$HSmaXzL_;fL63CDD0or1zJTA+QKh}-bOp3#-jU8otwoMGe4ZG^_7(Gf7|$$A zZij&XZDJJcecQList_xbzA!NgUR4Q)%FL^TvqMWyr5-`w(Hc7*=}#UD8&sZovol@T zk9>XYOcyeo>rLzmTCL2;pux?q))>`2L<*8Y;{7yGx9sqGvIIv%}O(uecQ=9%Yo!+Wy0C5Ll8D^~Vn za3b0Ey3jxJ6!E0JzZQX;9kF~x><9dzMQLBiJ&^A}W@3B1S8y+LW9U5ciKYKU#(>C+ zh#>X@<$Wz99KRJ$n>k0g3fg&v>oIPJ~Ed6P8A@eHX_`%p6G}>B`zd7ysjQw}Po%SU?;m(>J!G_fA z2zHs6z3j(wRBgLsaJ;Epj?C^@WD)TvzOhqVc^t($GBziZV|z02^i`fhv{(silG_XO zS%`~re9Z39SFR_qANJ1IrHjrH-e*Vb9;A1|<3~j%cgnMSa+^sNp+cPE}^qrg74`*euDvS}~#Gqi=hWA+% z^g@m&*CWSeWCh$``M3@(@u|bH1O6`iLGH_Qf%t=HgYq0C9w&Uw>G#-=@ih7%=U{X< z7Kp#GJ(7$y0NV(+{BYZ%qxtNtcitX;xFJl-e)x`t#rKH)8ysG2)8DlF?2=RV<QS zyi21I<#C3(q%(8HK9_LfHs9CE`^Og0Pd;C+XMYI}E!*SAl^UP+mZi+s5ziH0tDKib zJ#bduznyv}rpPrHIZN`BWwzh)jZi7~w9<))_IlOm?64BgF8U+Uwo8(aYp0vr{LfyX zo#e{fgE!GznNc%1(Me7p;Ba&qQ2>WNW#-j(ZQzM~eetLGjeYaDzE~1untiPZCkxET zrRByVA*GBT+nepd-sG07i_Q_AEDHB6QfJ8StmWSJHTAdF+>yv{=M<-K|08!eTScL~ z-o|>fTW|M*r6Vk>#r%|7&x{QrlRx3ImFgzzL z>#evtj$V#v)jzoYr^%@HX&CH@;tzDf?Vj%D+>kxJqcQDXoR>QF#x4_7;k1I!|8a9F z&Z{tZO`i2h^_n<0yNdhmp?Q0x1J!@n5qw{x-Wz>2sS4wGcH@^;E8<1=lJgZcOgPPV zs(EpLeLfqbDfi=&`HYpK?3YA6Td6c6^^LyQXmMUUn#Ci{26}#_J8}8`K$N}RQ29W2 z(%;kn2WkPFxubvmu7uAfD|}wGg{^Ix;Vjp| z$v=n=W&OQe((}r7-EvvZV0!g7D6`+p!SBmH6II&RrC+%suM**uwL8DR6_+Ghw0pAA zs2*bV!B>{TUn52f}D!Ks9kf^ zjFkGGrtRz6l)L)-G^(u&kr`Bkw{GjxYRRE(sU<XJh!Whc)cs3I5qjxNn<)Ymt>!HQ71!>FHV zo35i(tjD%otZKdY;nn7)?$+~hvssUWX4dUmj=6saW!i15s-*qa_To;}v-wBn6_{nV z)<%D~oF*Gqy9!S+RbcD(QNGt|T6GnxrZ^UUK+Z1)xKmsaapa!p7g|~MrdD4 z-4g1M;5}1S2f3@Y+Z3*6szZnd#GAV;&;En@%%NAS(3^td_y43Q!&d~4HPS23DH)}5 zm{BNJJ*m?tp7UiUPgL_|ESqkpf2jhDmOLE&xuM-xnlH5`^D|u^v`YEiDD-4hgyQ$q z3$_tmZS~5^-TUby-`ARbsgd_ZPur=Pe$9TfTFhrl_;X6dvvT{w>Y=c~o6GO!hi|Xz zifNSiTGu~PyYH1BnAUpQYPM_a*^0K|tSVJ>@Dx8ZUhEJ0M2-$c-M8Y$4>}nEtzYOr zt6azY9X2~AUVX0%qp@NHtG5Sko5IBEYatgz7sP7t0w>9l7bM2CIzHM5t;#d40G@%j zpN1oSd4)H_Dnh`*eH{4mfjDMMSJLZX z%9$i;>mKVHwb8JSQR*Bv4dc9qoZ*Fy_S#p-@3zK9!&?$#0ZvAq5pdK=!#tI&Ba?nJ-h7cT?*h)1m!-E0_dOOI~} zbITbn6VL7%bqPangX~e+8DEa|&#^%stZp5@c-^|QrBE~XG?ANn6}yCUeudd=yQYn| z*RsRIwOV$|;DEk*kqOV(3Vof|i3E@2ZLmM`{~A3^4ub#K_2$26ng%-%>!~vST4RZk zW~<3(((;2=_Ei44NecSZG9SAMf4i$pxTT$OSLa+l{^ruyzZ5Qj~m|_OGm6nMO4?~ zR0dtfsvD;0Q)pMOkXqvEt)0eHi05Q2wc@eM%+>ZBi1N)&&yVX@@|*AK1s48)PJOSx z<*^Ua9^=+w+3fvEHv5tIWKUiwXOiyXB;7@hld>6Pc5ndZnx} z*gtFjo{5@y6yM#>B6+w3j@{MumdkEO^|R%oz{b39{^L0!d|Kwgo*z)lKkpS+tv6Sc zm@SKXXax8S>fzsTUn)G9)2^#kPB|h0>xuw4viw>5>XgfL4R+9YtmQKoa@k93%3jm-{BIXm{Yl(bj>OKE=e>RpH zmeqLROcbZwxCe(wVqr**tv*d`_D$p7#Wpukx}=bG@hM< zEKfp2+|f+7PXM>P6MgW_J%{G_TNaHOtZSvoFrl5#>)WMJoLCnRaOdPl; zzULfE*9nZ}&0;xNC*Ft}gVRYSk;qJ&+J5TepxKK#6jfhn#!z||tja7b@x5iT{cI6? z=jXLnZSMJZwY70+k!CRzZ=T0x8GV1|&tD63o_yycC){18c$%3-n4X_}Ev~ivizU|fpyKxEDCF2nJ0S= zmFH}}(oEn8vwzI`jb?CFbK?qcm9h?P-QR6bEIy^mTfVnyeEj}n#cIweS=$Q}57Jur z=#FEgCMWx_rL#xaeqOAMu%WNMgNBncly0z-iarc`wnQcs$O!sE$ zyp1E;Ik$e^f0W_*IWwJag*S)kEt~m$VT5O8=cx=9vGg;$a9jSr zuY^-$$TJ^@VYVgPLEi7%kGwGbblgK(`y=h&#HR$67}5eC+qr68-kN!|Nv4DD+ub%yN*Ov5Vg<&L-si6MeEeDjmDebO{E=RXW1-wnw34(IVEgs9eOzLK}!*ShGkHn?dihh^n^TZK{&(`-TojaMQ-=&fNH;ivzRh*z z;+&h#S;m$06JzVzh4r1X+V7UBBJPU0I$O<{wXp0?Ee;@4me(~U!;+r}T~s>z=P+!J zc1kVh-P!!*8o!$M80Ix6Kl+(;hMoOSF!!)?40DO^UWI8VZhuKD@S90SFVVIQA&ctw zD*AuRUzM&?&Y#9=EFM3a1zCj@#ue}S-zDyXa_+_}tK$Ur22S)Quho63{g=lVacz7( zat*i|?nv_g8|5}GNMpbO_P^@|=ZV#GM|sx*_cHwLc_GKjt>6Dr#7eHtVh!TqJmy5E z+i_57C-FNB=KV(Rq-^c?%sGc7%^o4k*WWn>*!%kVt_$~j94o)|%UTh;lV`EmZ*lK3 z=M(4X)$6gy{aydhA{8FD#jJLHzawQI%6p=`k7e8^|8v~;AVPgDWQQl3rn%NLTpXpo-8KHVD z_W9P%=8&F4Wp{gV|K$0Fy@Wdd*-X-iwN~@ZW%2tISF?7Utcv$fmUmAsgBNGNzj8Hm z?XSl<-@0a%?kJ3)99c0~GjQ~Vs# zQ}s%`{%yGX)^Ye$eVf{y!tM3$qIB{!Qx?CyKj1W+brn*dfA7>kkqq1Yo!D7CGi2LO zp2d?`edlj{H>Rd-xOa4V-$Q*zb|rtPdKz8hSPk8@V&xgg?mRYe#i6k0KKof_#%Z>k zazkh5rwL{m&1wzLGrvcgA7@l!y@0la_0zSSClcjSh z4~oA;ZLE^lEIU)`@3@=vKHxiBwx}Bqi+|hLlz2F$ay!BtkU%@flPU|;@A&_nTEwD< z5;S~ldP%Fas8w`cDETXm@ZWq;(#B+O^*m4?ciQ^Tnl*PX)j5H@$#=3XoN?k#2R_#a zX*0C-5I(N8E9W|-jqBrK+OK|x#i!5b+?PuJrKa&_vD+!PU8iI`J5g`JPK{&3`r6$x zzKXVkJJi?0XRTMI`FYF}{5Ts$3~6`TV%eWJdxMM3+fJYSTxMz5EV`Oj@9F0;C&OjY z8Ce~qpT~^gL#qpCwIUXs8y3iFJGK3ozrIGXJGRJ|KW(H9%hf$Yw-ve1-tRZF59&3{ z{@Y%#TSd;$e1md-J?_S{Ch1Prb;W!+B-(>{t-x}$VToBCSHBN;K3tch)sIlEjo{ae2s-47PJyi5Pnm(ji~`z&5l9~C*>R<6_#KD646Rx@r5`cHx1LqD9ba}jxxduvq^3-=U)wLm zmb14z(9ydW}_2hby>`JJxcrzQ&_}5&Tl7A^C@w*(ZAH1zt+q8u*hyasZEjpM*U0I7Uw!zT&QXV!>h(YLwd}y zAdj{&nQ3iJ6Ya?d#HT9poMxV?#B-8(cG9-~{!i5c|GKF>&bQ5M4Z7#p#%Oaz7=1lA zMoBxbidq{>z-?7@<5>vv@s>q6CcEs@E}O^pB_Y&1eXszAsk*I6*79-OX)3X91uUma zep@OYO0TR2!-taDc~^K_y7`AjPp@Kqx1~}3U6y-Z?C#1g@w|oA(2e@KyJ1yr|K(ea zX%#7xB{-9wZLjE_>;zA)SQUQM0luwTEJ->N-X;`@R{90A#E>-~-h6=cRI#W@O7Ftr%s7+f zjc)hP^^eXRD13^Nx6%^R33+c}21_ zaXsEyt%l}j@(;MQ&qTx z6LlLo7g?*8WtwCd_s&yM$||!^hZPO_V~D%k)z+xdw=Zw{Wn(L;LvB^-@a8RYv09Xz zYou-~7WGImVZI}iSAr*oqXr3CQ%;Az(N+BQIs;>kfd=Os;^*4eyQu%Yda2bIXEYnp z&O{TXQ8}M>79-A5i{9&%!8Pq_==NMctD<6b@cpB8VOiFJwLUn#&*~mF6sD33^22ip zct+qXecAj{^!HM8#4q5K-B?s4f*Y$Es(t$x#cFMP!y0Zh^krqJ!PUKXwx)K%_2P&M zrD=U#vYDf4>sTN6b~7*JnDs56jJVg(gUVOLf@Ek?P5M+BlAdFN>RluqaWW6eDz4IW7NB@4WYyw-u9xNu+cwIRR9o?QKzRx{NAB-Av7 z8?Cw}TFI>gPfSGC4+9S%;WnpPb;!fObAJrnko0leewjuY%6Hbf)IqsMLYwr_*?6(9 zMUvLovwPi9ztp@5PC)YfTdNBjJqqN>Y6)^q+}e2SnxBE5KGdn1FB*-_m6oTo6JpqT zw13R2wO5R1GkmXcEiYj^uUymi#60`RuNU-Y6tLodf1)ouO2yukvz9$RTGbKZuUEA&DZk5*Nd5V z^?5<<(a*j{2@;hWf@PUvGM*Ojn;nHdMbWn-zw(uiIhF^m= z_FWI2YqtlL&FKYM3p2a{- z^c&676L^}{mV7$$Z9cL~Y(6)qk?9%#W)yQNHjK@dKuLJ$Odf&l51L#;=L^k!to9sV z_|VtJeq-J2Dd0JryS?&j;7j}!>^ghKtX;yzybH%P*G|j=-}#2#=COLaZ&d&0FM`_d z|Ev-IS-s}DyPPuUfqNdDirPf%Jm=G%XU_@{!O_~w8 zof~paO_c5L>*gpQnu4#g<1KNCsTZA_S^gU*!Ja~)6Y}TO?8|HCe8i5TqyzcRcbfA%oI<##|9p?A3mbUE zbpEeIhqNCSF)sPY@b%caCT($@&WS%#Y~%5I>_7R7%c97J>;~tRx~X9~hKNNwO9$UP z7gf!Zw%wBaDZO_^?z4m6VAgf@*K7Q zqboSKn5dFd6Kz4Ij&a}{o@n?|9x?tX&s(twhZvD@ziU2;FQUxc7pMGLnBUbEyAAGN zHo5czL9K=|PtD_%Fj;JUd>6B8WN7!<1m9(@MmZn%P<&;GiHO*s8u9UAbrs5N$aKCZ zkG-Q+@u%X&tTg%n{^AK?JMRs}i@yEBZ!=?ff2p;v8%-d83-nGC5ysB9pZsuRgn>xqWY+TP`?~ zr(u|%i)F=DF@JmNr|108IbSvyVn2+Ncq*=0Irep5>wmoPWM6$mlV$kKM=SL_8Fbf7 zzil|utdv>6^1vsgkr%N_mKYeb@%+}?-J|i|!yXNO++bTND&r^p43M?U0*@Z<@QcwS`BqqV?y>ZZBnE#c1l;wGM=LY`_fP|b5j-{@B| zC%!(l)81`L8dnY5^RyhUakp_+x=Z4nFvJsf`ZAL3Cib-_>e&}}*_~o!E65` zs;_cXKkeBb*-x3Sa`bdsvOWHubeNsgTqOpZ6Pj}mfyTxI=AOECHe{LdY+SW2e}%JOjCQB7-so8@I`?{;pGN&4yskFx z%hWJ?lU0cr@hm&Cb6Cf*@H9NA5@TM^YB9Pyc?!&$^!uYKjnLV6Gu+{`T3q&Kz~%Ca zapBB!;vRezcG~cM;iB59>o#pHRx~T+et>1l3>!aJhg&^(Su#do9`?rTr$fqXl> z$9;J&*sA-JOwNA88;R<^pU;kEoI#!~Fq}MB6TN-+abo-EyZAZbJTmbJpq*3WWQIk$ zJU8^X>brYnLiXG|Jop_RpEnnWmUyP?=_k+4Tb3kc?mPy5|1kp1Y15A9r%|SUN`RQ8 zO`ZDrhBB_}Kh=O|OJq-9LszdIAtf#)ABu$7ISjAcQ^ORS6)V(?rIRe%dn~$RSIx_g zF{;hQPr<|oatBDvTk$xyKhnN_1^H#?={Cn6H1R7M>O_{)PI6ct-d16jxXbdI?VjMWluPh6 zb1mn%ky~J2?uptGXT1~MQ~b&bu7&)RpXETq_Vqxk|4{87|m>b(%G;4>a@3YpkDCXpqOLmvGST=NXQ3`aoBt!chB^lPdw2s3h*Rg z+d=XEp{H>RR9u!;s`DxNxOuoWzpkHWlRZ7q%<}P^7vM5@!?#rIB^;ygAD$J`c8$I{!^GG0TlOqG!hGyD5rj(ou? literal 0 HcmV?d00001 diff --git a/Libretro/libretro.h b/Libretro/libretro.h new file mode 100644 index 00000000..315123c9 --- /dev/null +++ b/Libretro/libretro.h @@ -0,0 +1,2323 @@ +/* Copyright (C) 2010-2017 The RetroArch team + * + * --------------------------------------------------------------------------------------- + * The following license statement only applies to this libretro API header (libretro.h). + * --------------------------------------------------------------------------------------- + * + * Permission is hereby granted, free of charge, + * to any person obtaining a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, + * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef LIBRETRO_H__ +#define LIBRETRO_H__ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __cplusplus +#if defined(_MSC_VER) && !defined(SN_TARGET_PS3) +/* Hack applied for MSVC when compiling in C89 mode + * as it isn't C99-compliant. */ +#define bool unsigned char +#define true 1 +#define false 0 +#else +#include +#endif +#endif + +#ifndef RETRO_CALLCONV +# if defined(__GNUC__) && defined(__i386__) && !defined(__x86_64__) +# define RETRO_CALLCONV __attribute__((cdecl)) +# elif defined(_MSC_VER) && defined(_M_X86) && !defined(_M_X64) +# define RETRO_CALLCONV __cdecl +# else +# define RETRO_CALLCONV /* all other platforms only have one calling convention each */ +# endif +#endif + +#ifndef RETRO_API +# if defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__) +# ifdef RETRO_IMPORT_SYMBOLS +# ifdef __GNUC__ +# define RETRO_API RETRO_CALLCONV __attribute__((__dllimport__)) +# else +# define RETRO_API RETRO_CALLCONV __declspec(dllimport) +# endif +# else +# ifdef __GNUC__ +# define RETRO_API RETRO_CALLCONV __attribute__((__dllexport__)) +# else +# define RETRO_API RETRO_CALLCONV __declspec(dllexport) +# endif +# endif +# else +# if defined(__GNUC__) && __GNUC__ >= 4 && !defined(__CELLOS_LV2__) +# define RETRO_API RETRO_CALLCONV __attribute__((__visibility__("default"))) +# else +# define RETRO_API RETRO_CALLCONV +# endif +# endif +#endif + +/* Used for checking API/ABI mismatches that can break libretro + * implementations. + * It is not incremented for compatible changes to the API. + */ +#define RETRO_API_VERSION 1 + +/* + * Libretro's fundamental device abstractions. + * + * Libretro's input system consists of some standardized device types, + * such as a joypad (with/without analog), mouse, keyboard, lightgun + * and a pointer. + * + * The functionality of these devices are fixed, and individual cores + * map their own concept of a controller to libretro's abstractions. + * This makes it possible for frontends to map the abstract types to a + * real input device, and not having to worry about binding input + * correctly to arbitrary controller layouts. + */ + +#define RETRO_DEVICE_TYPE_SHIFT 8 +#define RETRO_DEVICE_MASK ((1 << RETRO_DEVICE_TYPE_SHIFT) - 1) +#define RETRO_DEVICE_SUBCLASS(base, id) (((id + 1) << RETRO_DEVICE_TYPE_SHIFT) | base) + +/* Input disabled. */ +#define RETRO_DEVICE_NONE 0 + +/* The JOYPAD is called RetroPad. It is essentially a Super Nintendo + * controller, but with additional L2/R2/L3/R3 buttons, similar to a + * PS1 DualShock. */ +#define RETRO_DEVICE_JOYPAD 1 + +/* The mouse is a simple mouse, similar to Super Nintendo's mouse. + * X and Y coordinates are reported relatively to last poll (poll callback). + * It is up to the libretro implementation to keep track of where the mouse + * pointer is supposed to be on the screen. + * The frontend must make sure not to interfere with its own hardware + * mouse pointer. + */ +#define RETRO_DEVICE_MOUSE 2 + +/* KEYBOARD device lets one poll for raw key pressed. + * It is poll based, so input callback will return with the current + * pressed state. + * For event/text based keyboard input, see + * RETRO_ENVIRONMENT_SET_KEYBOARD_CALLBACK. + */ +#define RETRO_DEVICE_KEYBOARD 3 + +/* LIGHTGUN device is similar to Guncon-2 for PlayStation 2. + * It reports X/Y coordinates in screen space (similar to the pointer) + * in the range [-0x8000, 0x7fff] in both axes, with zero being center. + * As well as reporting on/off screen state. It features a trigger, + * start/select buttons, auxiliary action buttons and a + * directional pad. A forced off-screen shot can be requested for + * auto-reloading function in some games. + */ +#define RETRO_DEVICE_LIGHTGUN 4 + +/* The ANALOG device is an extension to JOYPAD (RetroPad). + * Similar to DualShock2 it adds two analog sticks and all buttons can + * be analog. This is treated as a separate device type as it returns + * axis values in the full analog range of [-0x8000, 0x7fff]. + * Positive X axis is right. Positive Y axis is down. + * Buttons are returned in the range [0, 0x7fff]. + * Only use ANALOG type when polling for analog values. + */ +#define RETRO_DEVICE_ANALOG 5 + +/* Abstracts the concept of a pointing mechanism, e.g. touch. + * This allows libretro to query in absolute coordinates where on the + * screen a mouse (or something similar) is being placed. + * For a touch centric device, coordinates reported are the coordinates + * of the press. + * + * Coordinates in X and Y are reported as: + * [-0x7fff, 0x7fff]: -0x7fff corresponds to the far left/top of the screen, + * and 0x7fff corresponds to the far right/bottom of the screen. + * The "screen" is here defined as area that is passed to the frontend and + * later displayed on the monitor. + * + * The frontend is free to scale/resize this screen as it sees fit, however, + * (X, Y) = (-0x7fff, -0x7fff) will correspond to the top-left pixel of the + * game image, etc. + * + * To check if the pointer coordinates are valid (e.g. a touch display + * actually being touched), PRESSED returns 1 or 0. + * + * If using a mouse on a desktop, PRESSED will usually correspond to the + * left mouse button, but this is a frontend decision. + * PRESSED will only return 1 if the pointer is inside the game screen. + * + * For multi-touch, the index variable can be used to successively query + * more presses. + * If index = 0 returns true for _PRESSED, coordinates can be extracted + * with _X, _Y for index = 0. One can then query _PRESSED, _X, _Y with + * index = 1, and so on. + * Eventually _PRESSED will return false for an index. No further presses + * are registered at this point. */ +#define RETRO_DEVICE_POINTER 6 + +/* Buttons for the RetroPad (JOYPAD). + * The placement of these is equivalent to placements on the + * Super Nintendo controller. + * L2/R2/L3/R3 buttons correspond to the PS1 DualShock. + * Also used as id values for RETRO_DEVICE_INDEX_ANALOG_BUTTON */ +#define RETRO_DEVICE_ID_JOYPAD_B 0 +#define RETRO_DEVICE_ID_JOYPAD_Y 1 +#define RETRO_DEVICE_ID_JOYPAD_SELECT 2 +#define RETRO_DEVICE_ID_JOYPAD_START 3 +#define RETRO_DEVICE_ID_JOYPAD_UP 4 +#define RETRO_DEVICE_ID_JOYPAD_DOWN 5 +#define RETRO_DEVICE_ID_JOYPAD_LEFT 6 +#define RETRO_DEVICE_ID_JOYPAD_RIGHT 7 +#define RETRO_DEVICE_ID_JOYPAD_A 8 +#define RETRO_DEVICE_ID_JOYPAD_X 9 +#define RETRO_DEVICE_ID_JOYPAD_L 10 +#define RETRO_DEVICE_ID_JOYPAD_R 11 +#define RETRO_DEVICE_ID_JOYPAD_L2 12 +#define RETRO_DEVICE_ID_JOYPAD_R2 13 +#define RETRO_DEVICE_ID_JOYPAD_L3 14 +#define RETRO_DEVICE_ID_JOYPAD_R3 15 + +/* Index / Id values for ANALOG device. */ +#define RETRO_DEVICE_INDEX_ANALOG_LEFT 0 +#define RETRO_DEVICE_INDEX_ANALOG_RIGHT 1 +#define RETRO_DEVICE_INDEX_ANALOG_BUTTON 2 +#define RETRO_DEVICE_ID_ANALOG_X 0 +#define RETRO_DEVICE_ID_ANALOG_Y 1 + +/* Id values for MOUSE. */ +#define RETRO_DEVICE_ID_MOUSE_X 0 +#define RETRO_DEVICE_ID_MOUSE_Y 1 +#define RETRO_DEVICE_ID_MOUSE_LEFT 2 +#define RETRO_DEVICE_ID_MOUSE_RIGHT 3 +#define RETRO_DEVICE_ID_MOUSE_WHEELUP 4 +#define RETRO_DEVICE_ID_MOUSE_WHEELDOWN 5 +#define RETRO_DEVICE_ID_MOUSE_MIDDLE 6 +#define RETRO_DEVICE_ID_MOUSE_HORIZ_WHEELUP 7 +#define RETRO_DEVICE_ID_MOUSE_HORIZ_WHEELDOWN 8 +#define RETRO_DEVICE_ID_MOUSE_BUTTON_4 9 +#define RETRO_DEVICE_ID_MOUSE_BUTTON_5 10 + +/* Id values for LIGHTGUN. */ +#define RETRO_DEVICE_ID_LIGHTGUN_SCREEN_X 13 /*Absolute Position*/ +#define RETRO_DEVICE_ID_LIGHTGUN_SCREEN_Y 14 /*Absolute*/ +#define RETRO_DEVICE_ID_LIGHTGUN_IS_OFFSCREEN 15 /*Status Check*/ +#define RETRO_DEVICE_ID_LIGHTGUN_TRIGGER 2 +#define RETRO_DEVICE_ID_LIGHTGUN_RELOAD 16 /*Forced off-screen shot*/ +#define RETRO_DEVICE_ID_LIGHTGUN_AUX_A 3 +#define RETRO_DEVICE_ID_LIGHTGUN_AUX_B 4 +#define RETRO_DEVICE_ID_LIGHTGUN_START 6 +#define RETRO_DEVICE_ID_LIGHTGUN_SELECT 7 +#define RETRO_DEVICE_ID_LIGHTGUN_AUX_C 8 +#define RETRO_DEVICE_ID_LIGHTGUN_DPAD_UP 9 +#define RETRO_DEVICE_ID_LIGHTGUN_DPAD_DOWN 10 +#define RETRO_DEVICE_ID_LIGHTGUN_DPAD_LEFT 11 +#define RETRO_DEVICE_ID_LIGHTGUN_DPAD_RIGHT 12 +/* deprecated */ +#define RETRO_DEVICE_ID_LIGHTGUN_X 0 /*Relative Position*/ +#define RETRO_DEVICE_ID_LIGHTGUN_Y 1 /*Relative*/ +#define RETRO_DEVICE_ID_LIGHTGUN_CURSOR 3 /*Use Aux:A*/ +#define RETRO_DEVICE_ID_LIGHTGUN_TURBO 4 /*Use Aux:B*/ +#define RETRO_DEVICE_ID_LIGHTGUN_PAUSE 5 /*Use Start*/ + +/* Id values for POINTER. */ +#define RETRO_DEVICE_ID_POINTER_X 0 +#define RETRO_DEVICE_ID_POINTER_Y 1 +#define RETRO_DEVICE_ID_POINTER_PRESSED 2 + +/* Returned from retro_get_region(). */ +#define RETRO_REGION_NTSC 0 +#define RETRO_REGION_PAL 1 + +/* Id values for LANGUAGE */ +enum retro_language +{ + RETRO_LANGUAGE_ENGLISH = 0, + RETRO_LANGUAGE_JAPANESE = 1, + RETRO_LANGUAGE_FRENCH = 2, + RETRO_LANGUAGE_SPANISH = 3, + RETRO_LANGUAGE_GERMAN = 4, + RETRO_LANGUAGE_ITALIAN = 5, + RETRO_LANGUAGE_DUTCH = 6, + RETRO_LANGUAGE_PORTUGUESE_BRAZIL = 7, + RETRO_LANGUAGE_PORTUGUESE_PORTUGAL = 8, + RETRO_LANGUAGE_RUSSIAN = 9, + RETRO_LANGUAGE_KOREAN = 10, + RETRO_LANGUAGE_CHINESE_TRADITIONAL = 11, + RETRO_LANGUAGE_CHINESE_SIMPLIFIED = 12, + RETRO_LANGUAGE_ESPERANTO = 13, + RETRO_LANGUAGE_POLISH = 14, + RETRO_LANGUAGE_VIETNAMESE = 15, + RETRO_LANGUAGE_LAST, + + /* Ensure sizeof(enum) == sizeof(int) */ + RETRO_LANGUAGE_DUMMY = INT_MAX +}; + +/* Passed to retro_get_memory_data/size(). + * If the memory type doesn't apply to the + * implementation NULL/0 can be returned. + */ +#define RETRO_MEMORY_MASK 0xff + +/* Regular save RAM. This RAM is usually found on a game cartridge, + * backed up by a battery. + * If save game data is too complex for a single memory buffer, + * the SAVE_DIRECTORY (preferably) or SYSTEM_DIRECTORY environment + * callback can be used. */ +#define RETRO_MEMORY_SAVE_RAM 0 + +/* Some games have a built-in clock to keep track of time. + * This memory is usually just a couple of bytes to keep track of time. + */ +#define RETRO_MEMORY_RTC 1 + +/* System ram lets a frontend peek into a game systems main RAM. */ +#define RETRO_MEMORY_SYSTEM_RAM 2 + +/* Video ram lets a frontend peek into a game systems video RAM (VRAM). */ +#define RETRO_MEMORY_VIDEO_RAM 3 + +/* Keysyms used for ID in input state callback when polling RETRO_KEYBOARD. */ +enum retro_key +{ + RETROK_UNKNOWN = 0, + RETROK_FIRST = 0, + RETROK_BACKSPACE = 8, + RETROK_TAB = 9, + RETROK_CLEAR = 12, + RETROK_RETURN = 13, + RETROK_PAUSE = 19, + RETROK_ESCAPE = 27, + RETROK_SPACE = 32, + RETROK_EXCLAIM = 33, + RETROK_QUOTEDBL = 34, + RETROK_HASH = 35, + RETROK_DOLLAR = 36, + RETROK_AMPERSAND = 38, + RETROK_QUOTE = 39, + RETROK_LEFTPAREN = 40, + RETROK_RIGHTPAREN = 41, + RETROK_ASTERISK = 42, + RETROK_PLUS = 43, + RETROK_COMMA = 44, + RETROK_MINUS = 45, + RETROK_PERIOD = 46, + RETROK_SLASH = 47, + RETROK_0 = 48, + RETROK_1 = 49, + RETROK_2 = 50, + RETROK_3 = 51, + RETROK_4 = 52, + RETROK_5 = 53, + RETROK_6 = 54, + RETROK_7 = 55, + RETROK_8 = 56, + RETROK_9 = 57, + RETROK_COLON = 58, + RETROK_SEMICOLON = 59, + RETROK_LESS = 60, + RETROK_EQUALS = 61, + RETROK_GREATER = 62, + RETROK_QUESTION = 63, + RETROK_AT = 64, + RETROK_LEFTBRACKET = 91, + RETROK_BACKSLASH = 92, + RETROK_RIGHTBRACKET = 93, + RETROK_CARET = 94, + RETROK_UNDERSCORE = 95, + RETROK_BACKQUOTE = 96, + RETROK_a = 97, + RETROK_b = 98, + RETROK_c = 99, + RETROK_d = 100, + RETROK_e = 101, + RETROK_f = 102, + RETROK_g = 103, + RETROK_h = 104, + RETROK_i = 105, + RETROK_j = 106, + RETROK_k = 107, + RETROK_l = 108, + RETROK_m = 109, + RETROK_n = 110, + RETROK_o = 111, + RETROK_p = 112, + RETROK_q = 113, + RETROK_r = 114, + RETROK_s = 115, + RETROK_t = 116, + RETROK_u = 117, + RETROK_v = 118, + RETROK_w = 119, + RETROK_x = 120, + RETROK_y = 121, + RETROK_z = 122, + RETROK_DELETE = 127, + + RETROK_KP0 = 256, + RETROK_KP1 = 257, + RETROK_KP2 = 258, + RETROK_KP3 = 259, + RETROK_KP4 = 260, + RETROK_KP5 = 261, + RETROK_KP6 = 262, + RETROK_KP7 = 263, + RETROK_KP8 = 264, + RETROK_KP9 = 265, + RETROK_KP_PERIOD = 266, + RETROK_KP_DIVIDE = 267, + RETROK_KP_MULTIPLY = 268, + RETROK_KP_MINUS = 269, + RETROK_KP_PLUS = 270, + RETROK_KP_ENTER = 271, + RETROK_KP_EQUALS = 272, + + RETROK_UP = 273, + RETROK_DOWN = 274, + RETROK_RIGHT = 275, + RETROK_LEFT = 276, + RETROK_INSERT = 277, + RETROK_HOME = 278, + RETROK_END = 279, + RETROK_PAGEUP = 280, + RETROK_PAGEDOWN = 281, + + RETROK_F1 = 282, + RETROK_F2 = 283, + RETROK_F3 = 284, + RETROK_F4 = 285, + RETROK_F5 = 286, + RETROK_F6 = 287, + RETROK_F7 = 288, + RETROK_F8 = 289, + RETROK_F9 = 290, + RETROK_F10 = 291, + RETROK_F11 = 292, + RETROK_F12 = 293, + RETROK_F13 = 294, + RETROK_F14 = 295, + RETROK_F15 = 296, + + RETROK_NUMLOCK = 300, + RETROK_CAPSLOCK = 301, + RETROK_SCROLLOCK = 302, + RETROK_RSHIFT = 303, + RETROK_LSHIFT = 304, + RETROK_RCTRL = 305, + RETROK_LCTRL = 306, + RETROK_RALT = 307, + RETROK_LALT = 308, + RETROK_RMETA = 309, + RETROK_LMETA = 310, + RETROK_LSUPER = 311, + RETROK_RSUPER = 312, + RETROK_MODE = 313, + RETROK_COMPOSE = 314, + + RETROK_HELP = 315, + RETROK_PRINT = 316, + RETROK_SYSREQ = 317, + RETROK_BREAK = 318, + RETROK_MENU = 319, + RETROK_POWER = 320, + RETROK_EURO = 321, + RETROK_UNDO = 322, + + RETROK_LAST, + + RETROK_DUMMY = INT_MAX /* Ensure sizeof(enum) == sizeof(int) */ +}; + +enum retro_mod +{ + RETROKMOD_NONE = 0x0000, + + RETROKMOD_SHIFT = 0x01, + RETROKMOD_CTRL = 0x02, + RETROKMOD_ALT = 0x04, + RETROKMOD_META = 0x08, + + RETROKMOD_NUMLOCK = 0x10, + RETROKMOD_CAPSLOCK = 0x20, + RETROKMOD_SCROLLOCK = 0x40, + + RETROKMOD_DUMMY = INT_MAX /* Ensure sizeof(enum) == sizeof(int) */ +}; + +/* If set, this call is not part of the public libretro API yet. It can + * change or be removed at any time. */ +#define RETRO_ENVIRONMENT_EXPERIMENTAL 0x10000 +/* Environment callback to be used internally in frontend. */ +#define RETRO_ENVIRONMENT_PRIVATE 0x20000 + +/* Environment commands. */ +#define RETRO_ENVIRONMENT_SET_ROTATION 1 /* const unsigned * -- + * Sets screen rotation of graphics. + * Is only implemented if rotation can be accelerated by hardware. + * Valid values are 0, 1, 2, 3, which rotates screen by 0, 90, 180, + * 270 degrees counter-clockwise respectively. + */ +#define RETRO_ENVIRONMENT_GET_OVERSCAN 2 /* bool * -- + * Boolean value whether or not the implementation should use overscan, + * or crop away overscan. + */ +#define RETRO_ENVIRONMENT_GET_CAN_DUPE 3 /* bool * -- + * Boolean value whether or not frontend supports frame duping, + * passing NULL to video frame callback. + */ + + /* Environ 4, 5 are no longer supported (GET_VARIABLE / SET_VARIABLES), + * and reserved to avoid possible ABI clash. + */ + +#define RETRO_ENVIRONMENT_SET_MESSAGE 6 /* const struct retro_message * -- + * Sets a message to be displayed in implementation-specific manner + * for a certain amount of 'frames'. + * Should not be used for trivial messages, which should simply be + * logged via RETRO_ENVIRONMENT_GET_LOG_INTERFACE (or as a + * fallback, stderr). + */ +#define RETRO_ENVIRONMENT_SHUTDOWN 7 /* N/A (NULL) -- + * Requests the frontend to shutdown. + * Should only be used if game has a specific + * way to shutdown the game from a menu item or similar. + */ +#define RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL 8 + /* const unsigned * -- + * Gives a hint to the frontend how demanding this implementation + * is on a system. E.g. reporting a level of 2 means + * this implementation should run decently on all frontends + * of level 2 and up. + * + * It can be used by the frontend to potentially warn + * about too demanding implementations. + * + * The levels are "floating". + * + * This function can be called on a per-game basis, + * as certain games an implementation can play might be + * particularly demanding. + * If called, it should be called in retro_load_game(). + */ +#define RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY 9 + /* const char ** -- + * Returns the "system" directory of the frontend. + * This directory can be used to store system specific + * content such as BIOSes, configuration data, etc. + * The returned value can be NULL. + * If so, no such directory is defined, + * and it's up to the implementation to find a suitable directory. + * + * NOTE: Some cores used this folder also for "save" data such as + * memory cards, etc, for lack of a better place to put it. + * This is now discouraged, and if possible, cores should try to + * use the new GET_SAVE_DIRECTORY. + */ +#define RETRO_ENVIRONMENT_SET_PIXEL_FORMAT 10 + /* const enum retro_pixel_format * -- + * Sets the internal pixel format used by the implementation. + * The default pixel format is RETRO_PIXEL_FORMAT_0RGB1555. + * This pixel format however, is deprecated (see enum retro_pixel_format). + * If the call returns false, the frontend does not support this pixel + * format. + * + * This function should be called inside retro_load_game() or + * retro_get_system_av_info(). + */ +#define RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS 11 + /* const struct retro_input_descriptor * -- + * Sets an array of retro_input_descriptors. + * It is up to the frontend to present this in a usable way. + * The array is terminated by retro_input_descriptor::description + * being set to NULL. + * This function can be called at any time, but it is recommended + * to call it as early as possible. + */ +#define RETRO_ENVIRONMENT_SET_KEYBOARD_CALLBACK 12 + /* const struct retro_keyboard_callback * -- + * Sets a callback function used to notify core about keyboard events. + */ +#define RETRO_ENVIRONMENT_SET_DISK_CONTROL_INTERFACE 13 + /* const struct retro_disk_control_callback * -- + * Sets an interface which frontend can use to eject and insert + * disk images. + * This is used for games which consist of multiple images and + * must be manually swapped out by the user (e.g. PSX). + */ +#define RETRO_ENVIRONMENT_SET_HW_RENDER 14 + /* struct retro_hw_render_callback * -- + * Sets an interface to let a libretro core render with + * hardware acceleration. + * Should be called in retro_load_game(). + * If successful, libretro cores will be able to render to a + * frontend-provided framebuffer. + * The size of this framebuffer will be at least as large as + * max_width/max_height provided in get_av_info(). + * If HW rendering is used, pass only RETRO_HW_FRAME_BUFFER_VALID or + * NULL to retro_video_refresh_t. + */ +#define RETRO_ENVIRONMENT_GET_VARIABLE 15 + /* struct retro_variable * -- + * Interface to acquire user-defined information from environment + * that cannot feasibly be supported in a multi-system way. + * 'key' should be set to a key which has already been set by + * SET_VARIABLES. + * 'data' will be set to a value or NULL. + */ +#define RETRO_ENVIRONMENT_SET_VARIABLES 16 + /* const struct retro_variable * -- + * Allows an implementation to signal the environment + * which variables it might want to check for later using + * GET_VARIABLE. + * This allows the frontend to present these variables to + * a user dynamically. + * This should be called as early as possible (ideally in + * retro_set_environment). + * + * 'data' points to an array of retro_variable structs + * terminated by a { NULL, NULL } element. + * retro_variable::key should be namespaced to not collide + * with other implementations' keys. E.g. A core called + * 'foo' should use keys named as 'foo_option'. + * retro_variable::value should contain a human readable + * description of the key as well as a '|' delimited list + * of expected values. + * + * The number of possible options should be very limited, + * i.e. it should be feasible to cycle through options + * without a keyboard. + * + * First entry should be treated as a default. + * + * Example entry: + * { "foo_option", "Speed hack coprocessor X; false|true" } + * + * Text before first ';' is description. This ';' must be + * followed by a space, and followed by a list of possible + * values split up with '|'. + * + * Only strings are operated on. The possible values will + * generally be displayed and stored as-is by the frontend. + */ +#define RETRO_ENVIRONMENT_GET_VARIABLE_UPDATE 17 + /* bool * -- + * Result is set to true if some variables are updated by + * frontend since last call to RETRO_ENVIRONMENT_GET_VARIABLE. + * Variables should be queried with GET_VARIABLE. + */ +#define RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME 18 + /* const bool * -- + * If true, the libretro implementation supports calls to + * retro_load_game() with NULL as argument. + * Used by cores which can run without particular game data. + * This should be called within retro_set_environment() only. + */ +#define RETRO_ENVIRONMENT_GET_LIBRETRO_PATH 19 + /* const char ** -- + * Retrieves the absolute path from where this libretro + * implementation was loaded. + * NULL is returned if the libretro was loaded statically + * (i.e. linked statically to frontend), or if the path cannot be + * determined. + * Mostly useful in cooperation with SET_SUPPORT_NO_GAME as assets can + * be loaded without ugly hacks. + */ + + /* Environment 20 was an obsolete version of SET_AUDIO_CALLBACK. + * It was not used by any known core at the time, + * and was removed from the API. */ +#define RETRO_ENVIRONMENT_SET_AUDIO_CALLBACK 22 + /* const struct retro_audio_callback * -- + * Sets an interface which is used to notify a libretro core about audio + * being available for writing. + * The callback can be called from any thread, so a core using this must + * have a thread safe audio implementation. + * It is intended for games where audio and video are completely + * asynchronous and audio can be generated on the fly. + * This interface is not recommended for use with emulators which have + * highly synchronous audio. + * + * The callback only notifies about writability; the libretro core still + * has to call the normal audio callbacks + * to write audio. The audio callbacks must be called from within the + * notification callback. + * The amount of audio data to write is up to the implementation. + * Generally, the audio callback will be called continously in a loop. + * + * Due to thread safety guarantees and lack of sync between audio and + * video, a frontend can selectively disallow this interface based on + * internal configuration. A core using this interface must also + * implement the "normal" audio interface. + * + * A libretro core using SET_AUDIO_CALLBACK should also make use of + * SET_FRAME_TIME_CALLBACK. + */ +#define RETRO_ENVIRONMENT_SET_FRAME_TIME_CALLBACK 21 + /* const struct retro_frame_time_callback * -- + * Lets the core know how much time has passed since last + * invocation of retro_run(). + * The frontend can tamper with the timing to fake fast-forward, + * slow-motion, frame stepping, etc. + * In this case the delta time will use the reference value + * in frame_time_callback.. + */ +#define RETRO_ENVIRONMENT_GET_RUMBLE_INTERFACE 23 + /* struct retro_rumble_interface * -- + * Gets an interface which is used by a libretro core to set + * state of rumble motors in controllers. + * A strong and weak motor is supported, and they can be + * controlled indepedently. + */ +#define RETRO_ENVIRONMENT_GET_INPUT_DEVICE_CAPABILITIES 24 + /* uint64_t * -- + * Gets a bitmask telling which device type are expected to be + * handled properly in a call to retro_input_state_t. + * Devices which are not handled or recognized always return + * 0 in retro_input_state_t. + * Example bitmask: caps = (1 << RETRO_DEVICE_JOYPAD) | (1 << RETRO_DEVICE_ANALOG). + * Should only be called in retro_run(). + */ +#define RETRO_ENVIRONMENT_GET_SENSOR_INTERFACE (25 | RETRO_ENVIRONMENT_EXPERIMENTAL) + /* struct retro_sensor_interface * -- + * Gets access to the sensor interface. + * The purpose of this interface is to allow + * setting state related to sensors such as polling rate, + * enabling/disable it entirely, etc. + * Reading sensor state is done via the normal + * input_state_callback API. + */ +#define RETRO_ENVIRONMENT_GET_CAMERA_INTERFACE (26 | RETRO_ENVIRONMENT_EXPERIMENTAL) + /* struct retro_camera_callback * -- + * Gets an interface to a video camera driver. + * A libretro core can use this interface to get access to a + * video camera. + * New video frames are delivered in a callback in same + * thread as retro_run(). + * + * GET_CAMERA_INTERFACE should be called in retro_load_game(). + * + * Depending on the camera implementation used, camera frames + * will be delivered as a raw framebuffer, + * or as an OpenGL texture directly. + * + * The core has to tell the frontend here which types of + * buffers can be handled properly. + * An OpenGL texture can only be handled when using a + * libretro GL core (SET_HW_RENDER). + * It is recommended to use a libretro GL core when + * using camera interface. + * + * The camera is not started automatically. The retrieved start/stop + * functions must be used to explicitly + * start and stop the camera driver. + */ +#define RETRO_ENVIRONMENT_GET_LOG_INTERFACE 27 + /* struct retro_log_callback * -- + * Gets an interface for logging. This is useful for + * logging in a cross-platform way + * as certain platforms cannot use stderr for logging. + * It also allows the frontend to + * show logging information in a more suitable way. + * If this interface is not used, libretro cores should + * log to stderr as desired. + */ +#define RETRO_ENVIRONMENT_GET_PERF_INTERFACE 28 + /* struct retro_perf_callback * -- + * Gets an interface for performance counters. This is useful + * for performance logging in a cross-platform way and for detecting + * architecture-specific features, such as SIMD support. + */ +#define RETRO_ENVIRONMENT_GET_LOCATION_INTERFACE 29 + /* struct retro_location_callback * -- + * Gets access to the location interface. + * The purpose of this interface is to be able to retrieve + * location-based information from the host device, + * such as current latitude / longitude. + */ +#define RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY 30 /* Old name, kept for compatibility. */ +#define RETRO_ENVIRONMENT_GET_CORE_ASSETS_DIRECTORY 30 + /* const char ** -- + * Returns the "core assets" directory of the frontend. + * This directory can be used to store specific assets that the + * core relies upon, such as art assets, + * input data, etc etc. + * The returned value can be NULL. + * If so, no such directory is defined, + * and it's up to the implementation to find a suitable directory. + */ +#define RETRO_ENVIRONMENT_GET_SAVE_DIRECTORY 31 + /* const char ** -- + * Returns the "save" directory of the frontend. + * This directory can be used to store SRAM, memory cards, + * high scores, etc, if the libretro core + * cannot use the regular memory interface (retro_get_memory_data()). + * + * NOTE: libretro cores used to check GET_SYSTEM_DIRECTORY for + * similar things before. + * They should still check GET_SYSTEM_DIRECTORY if they want to + * be backwards compatible. + * The path here can be NULL. It should only be non-NULL if the + * frontend user has set a specific save path. + */ +#define RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO 32 + /* const struct retro_system_av_info * -- + * Sets a new av_info structure. This can only be called from + * within retro_run(). + * This should *only* be used if the core is completely altering the + * internal resolutions, aspect ratios, timings, sampling rate, etc. + * Calling this can require a full reinitialization of video/audio + * drivers in the frontend, + * + * so it is important to call it very sparingly, and usually only with + * the users explicit consent. + * An eventual driver reinitialize will happen so that video and + * audio callbacks + * happening after this call within the same retro_run() call will + * target the newly initialized driver. + * + * This callback makes it possible to support configurable resolutions + * in games, which can be useful to + * avoid setting the "worst case" in max_width/max_height. + * + * ***HIGHLY RECOMMENDED*** Do not call this callback every time + * resolution changes in an emulator core if it's + * expected to be a temporary change, for the reasons of possible + * driver reinitialization. + * This call is not a free pass for not trying to provide + * correct values in retro_get_system_av_info(). If you need to change + * things like aspect ratio or nominal width/height, + * use RETRO_ENVIRONMENT_SET_GEOMETRY, which is a softer variant + * of SET_SYSTEM_AV_INFO. + * + * If this returns false, the frontend does not acknowledge a + * changed av_info struct. + */ +#define RETRO_ENVIRONMENT_SET_PROC_ADDRESS_CALLBACK 33 + /* const struct retro_get_proc_address_interface * -- + * Allows a libretro core to announce support for the + * get_proc_address() interface. + * This interface allows for a standard way to extend libretro where + * use of environment calls are too indirect, + * e.g. for cases where the frontend wants to call directly into the core. + * + * If a core wants to expose this interface, SET_PROC_ADDRESS_CALLBACK + * **MUST** be called from within retro_set_environment(). + */ +#define RETRO_ENVIRONMENT_SET_SUBSYSTEM_INFO 34 + /* const struct retro_subsystem_info * -- + * This environment call introduces the concept of libretro "subsystems". + * A subsystem is a variant of a libretro core which supports + * different kinds of games. + * The purpose of this is to support e.g. emulators which might + * have special needs, e.g. Super Nintendo's Super GameBoy, Sufami Turbo. + * It can also be used to pick among subsystems in an explicit way + * if the libretro implementation is a multi-system emulator itself. + * + * Loading a game via a subsystem is done with retro_load_game_special(), + * and this environment call allows a libretro core to expose which + * subsystems are supported for use with retro_load_game_special(). + * A core passes an array of retro_game_special_info which is terminated + * with a zeroed out retro_game_special_info struct. + * + * If a core wants to use this functionality, SET_SUBSYSTEM_INFO + * **MUST** be called from within retro_set_environment(). + */ +#define RETRO_ENVIRONMENT_SET_CONTROLLER_INFO 35 + /* const struct retro_controller_info * -- + * This environment call lets a libretro core tell the frontend + * which controller types are recognized in calls to + * retro_set_controller_port_device(). + * + * Some emulators such as Super Nintendo + * support multiple lightgun types which must be specifically + * selected from. + * It is therefore sometimes necessary for a frontend to be able + * to tell the core about a special kind of input device which is + * not covered by the libretro input API. + * + * In order for a frontend to understand the workings of an input device, + * it must be a specialized type + * of the generic device types already defined in the libretro API. + * + * Which devices are supported can vary per input port. + * The core must pass an array of const struct retro_controller_info which + * is terminated with a blanked out struct. Each element of the struct + * corresponds to an ascending port index to + * retro_set_controller_port_device(). + * Even if special device types are set in the libretro core, + * libretro should only poll input based on the base input device types. + */ +#define RETRO_ENVIRONMENT_SET_MEMORY_MAPS (36 | RETRO_ENVIRONMENT_EXPERIMENTAL) + /* const struct retro_memory_map * -- + * This environment call lets a libretro core tell the frontend + * about the memory maps this core emulates. + * This can be used to implement, for example, cheats in a core-agnostic way. + * + * Should only be used by emulators; it doesn't make much sense for + * anything else. + * It is recommended to expose all relevant pointers through + * retro_get_memory_* as well. + * + * Can be called from retro_init and retro_load_game. + */ +#define RETRO_ENVIRONMENT_SET_GEOMETRY 37 + /* const struct retro_game_geometry * -- + * This environment call is similar to SET_SYSTEM_AV_INFO for changing + * video parameters, but provides a guarantee that drivers will not be + * reinitialized. + * This can only be called from within retro_run(). + * + * The purpose of this call is to allow a core to alter nominal + * width/heights as well as aspect ratios on-the-fly, which can be + * useful for some emulators to change in run-time. + * + * max_width/max_height arguments are ignored and cannot be changed + * with this call as this could potentially require a reinitialization or a + * non-constant time operation. + * If max_width/max_height are to be changed, SET_SYSTEM_AV_INFO is required. + * + * A frontend must guarantee that this environment call completes in + * constant time. + */ +#define RETRO_ENVIRONMENT_GET_USERNAME 38 + /* const char ** + * Returns the specified username of the frontend, if specified by the user. + * This username can be used as a nickname for a core that has online facilities + * or any other mode where personalization of the user is desirable. + * The returned value can be NULL. + * If this environ callback is used by a core that requires a valid username, + * a default username should be specified by the core. + */ +#define RETRO_ENVIRONMENT_GET_LANGUAGE 39 + /* unsigned * -- + * Returns the specified language of the frontend, if specified by the user. + * It can be used by the core for localization purposes. + */ +#define RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER (40 | RETRO_ENVIRONMENT_EXPERIMENTAL) + /* struct retro_framebuffer * -- + * Returns a preallocated framebuffer which the core can use for rendering + * the frame into when not using SET_HW_RENDER. + * The framebuffer returned from this call must not be used + * after the current call to retro_run() returns. + * + * The goal of this call is to allow zero-copy behavior where a core + * can render directly into video memory, avoiding extra bandwidth cost by copying + * memory from core to video memory. + * + * If this call succeeds and the core renders into it, + * the framebuffer pointer and pitch can be passed to retro_video_refresh_t. + * If the buffer from GET_CURRENT_SOFTWARE_FRAMEBUFFER is to be used, + * the core must pass the exact + * same pointer as returned by GET_CURRENT_SOFTWARE_FRAMEBUFFER; + * i.e. passing a pointer which is offset from the + * buffer is undefined. The width, height and pitch parameters + * must also match exactly to the values obtained from GET_CURRENT_SOFTWARE_FRAMEBUFFER. + * + * It is possible for a frontend to return a different pixel format + * than the one used in SET_PIXEL_FORMAT. This can happen if the frontend + * needs to perform conversion. + * + * It is still valid for a core to render to a different buffer + * even if GET_CURRENT_SOFTWARE_FRAMEBUFFER succeeds. + * + * A frontend must make sure that the pointer obtained from this function is + * writeable (and readable). + */ + +#define RETRO_ENVIRONMENT_SET_HW_SHARED_CONTEXT (44 | RETRO_ENVIRONMENT_EXPERIMENTAL) + /* N/A (null) * -- + * The frontend will try to use a 'shared' hardware context (mostly applicable + * to OpenGL) when a hardware context is being set up. + * + * Returns true if the frontend supports shared hardware contexts and false + * if the frontend does not support shared hardware contexts. + * + * This will do nothing on its own until SET_HW_RENDER env callbacks are + * being used. + */ + +#define RETRO_ENVIRONMENT_GET_VFS_INTERFACE (45 | RETRO_ENVIRONMENT_EXPERIMENTAL) + /* struct retro_vfs_interface_info * -- + * Gets access to the VFS interface. + * VFS presence needs to be queried prior to load_game or any + * get_system/save/other_directory being called to let front end know + * core supports VFS before it starts handing out paths. + * It is recomended to do so in retro_set_environment */ + +/* VFS functionality */ + +/* File paths: + * File paths passed as parameters when using this api shall be well formed unix-style, + * using "/" (unquoted forward slash) as directory separator regardless of the platform's native separator. + * Paths shall also include at least one forward slash ("game.bin" is an invalid path, use "./game.bin" instead). + * Other than the directory separator, cores shall not make assumptions about path format: + * "C:/path/game.bin", "http://example.com/game.bin", "#game/game.bin", "./game.bin" (without quotes) are all valid paths. + * Cores may replace the basename or remove path components from the end, and/or add new components; + * however, cores shall not append "./", "../" or multiple consecutive forward slashes ("//") to paths they request to front end. + * The frontend is encouraged to make such paths work as well as it can, but is allowed to give up if the core alters paths too much. + * Frontends are encouraged, but not required, to support native file system paths (modulo replacing the directory separator, if applicable). + * Cores are allowed to try using them, but must remain functional if the front rejects such requests. + * Cores are encouraged to use the libretro-common filestream functions for file I/O, + * as they seamlessly integrate with VFS, deal with directory separator replacement as appropriate + * and provide platform-specific fallbacks in cases where front ends do not support VFS. */ + +/* Opaque file handle + * Introduced in VFS API v1 */ +struct retro_vfs_file_handle; + +/* File open flags + * Introduced in VFS API v1 */ +#define RETRO_VFS_FILE_ACCESS_READ (1 << 0) /* Read only mode */ +#define RETRO_VFS_FILE_ACCESS_WRITE (1 << 1) /* Write only mode, discard contents and overwrites existing file unless RETRO_VFS_FILE_ACCESS_UPDATE is also specified */ +#define RETRO_VFS_FILE_ACCESS_READ_WRITE (RETRO_VFS_FILE_ACCESS_READ | RETRO_VFS_FILE_ACCESS_WRITE) /* Read-write mode, discard contents and overwrites existing file unless RETRO_VFS_FILE_ACCESS_UPDATE is also specified*/ +#define RETRO_VFS_FILE_ACCESS_UPDATE_EXISTING (1 << 2) /* Prevents discarding content of existing files opened for writing */ + +/* These are only hints. The frontend may choose to ignore them. Other than RAM/CPU/etc use, + and how they react to unlikely external interference (for example someone else writing to that file, + or the file's server going down), behavior will not change. */ +#define RETRO_VFS_FILE_ACCESS_HINT_NONE (0) +/* Indicate that the file will be accessed many times. The frontend should aggressively cache everything. */ +#define RETRO_VFS_FILE_ACCESS_HINT_FREQUENT_ACCESS (1 << 0) + +/* Seek positions */ +#define RETRO_VFS_SEEK_POSITION_START 0 +#define RETRO_VFS_SEEK_POSITION_CURRENT 1 +#define RETRO_VFS_SEEK_POSITION_END 2 + +/* Get path from opaque handle. Returns the exact same path passed to file_open when getting the handle + * Introduced in VFS API v1 */ +typedef const char *(RETRO_CALLCONV *retro_vfs_get_path_t)(struct retro_vfs_file_handle *stream); + +/* Open a file for reading or writing. If path points to a directory, this will + * fail. Returns the opaque file handle, or NULL for error. + * Introduced in VFS API v1 */ +typedef struct retro_vfs_file_handle *(RETRO_CALLCONV *retro_vfs_open_t)(const char *path, unsigned mode, unsigned hints); + +/* Close the file and release its resources. Must be called if open_file returns non-NULL. Returns 0 on succes, -1 on failure. + * Whether the call succeeds ot not, the handle passed as parameter becomes invalid and should no longer be used. + * Introduced in VFS API v1 */ +typedef int (RETRO_CALLCONV *retro_vfs_close_t)(struct retro_vfs_file_handle *stream); + +/* Return the size of the file in bytes, or -1 for error. + * Introduced in VFS API v1 */ +typedef int64_t (RETRO_CALLCONV *retro_vfs_size_t)(struct retro_vfs_file_handle *stream); + +/* Get the current read / write position for the file. Returns - 1 for error. + * Introduced in VFS API v1 */ +typedef int64_t (RETRO_CALLCONV *retro_vfs_tell_t)(struct retro_vfs_file_handle *stream); + +/* Set the current read/write position for the file. Returns the new position, -1 for error. + * Introduced in VFS API v1 */ +typedef int64_t (RETRO_CALLCONV *retro_vfs_seek_t)(struct retro_vfs_file_handle *stream, int64_t offset, int seek_position); + +/* Read data from a file. Returns the number of bytes read, or -1 for error. + * Introduced in VFS API v1 */ +typedef int64_t (RETRO_CALLCONV *retro_vfs_read_t)(struct retro_vfs_file_handle *stream, void *s, uint64_t len); + +/* Write data to a file. Returns the number of bytes written, or -1 for error. + * Introduced in VFS API v1 */ +typedef int64_t (RETRO_CALLCONV *retro_vfs_write_t)(struct retro_vfs_file_handle *stream, const void *s, uint64_t len); + +/* Flush pending writes to file, if using buffered IO. Returns 0 on sucess, or -1 on failure. + * Introduced in VFS API v1 */ +typedef int (RETRO_CALLCONV *retro_vfs_flush_t)(struct retro_vfs_file_handle *stream); + +/* Delete the specified file. Returns 0 on success, -1 on failure + * Introduced in VFS API v1 */ +typedef int (RETRO_CALLCONV *retro_vfs_remove_t)(const char *path); + +/* Rename the specified file. Returns 0 on success, -1 on failure + * Introduced in VFS API v1 */ +typedef int (RETRO_CALLCONV *retro_vfs_rename_t)(const char *old_path, const char *new_path); + +struct retro_vfs_interface +{ + retro_vfs_get_path_t get_path; + retro_vfs_open_t open; + retro_vfs_close_t close; + retro_vfs_size_t size; + retro_vfs_tell_t tell; + retro_vfs_seek_t seek; + retro_vfs_read_t read; + retro_vfs_write_t write; + retro_vfs_flush_t flush; + retro_vfs_remove_t remove; + retro_vfs_rename_t rename; +}; + +struct retro_vfs_interface_info +{ + /* Set by core: should this be higher than the version the front end supports, + * front end will return false in the RETRO_ENVIRONMENT_GET_VFS_INTERFACE call + * Introduced in VFS API v1 */ + uint32_t required_interface_version; + + /* Frontend writes interface pointer here. The frontend also sets the actual + * version, must be at least required_interface_version. + * Introduced in VFS API v1 */ + struct retro_vfs_interface *iface; +}; + +enum retro_hw_render_interface_type +{ + RETRO_HW_RENDER_INTERFACE_VULKAN = 0, + RETRO_HW_RENDER_INTERFACE_DUMMY = INT_MAX +}; + +/* Base struct. All retro_hw_render_interface_* types + * contain at least these fields. */ +struct retro_hw_render_interface +{ + enum retro_hw_render_interface_type interface_type; + unsigned interface_version; +}; +#define RETRO_ENVIRONMENT_GET_HW_RENDER_INTERFACE (41 | RETRO_ENVIRONMENT_EXPERIMENTAL) + /* const struct retro_hw_render_interface ** -- + * Returns an API specific rendering interface for accessing API specific data. + * Not all HW rendering APIs support or need this. + * The contents of the returned pointer is specific to the rendering API + * being used. See the various headers like libretro_vulkan.h, etc. + * + * GET_HW_RENDER_INTERFACE cannot be called before context_reset has been called. + * Similarly, after context_destroyed callback returns, + * the contents of the HW_RENDER_INTERFACE are invalidated. + */ + +#define RETRO_ENVIRONMENT_SET_SUPPORT_ACHIEVEMENTS (42 | RETRO_ENVIRONMENT_EXPERIMENTAL) + /* const bool * -- + * If true, the libretro implementation supports achievements + * either via memory descriptors set with RETRO_ENVIRONMENT_SET_MEMORY_MAPS + * or via retro_get_memory_data/retro_get_memory_size. + * + * This must be called before the first call to retro_run. + */ + +enum retro_hw_render_context_negotiation_interface_type +{ + RETRO_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE_VULKAN = 0, + RETRO_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE_DUMMY = INT_MAX +}; + +/* Base struct. All retro_hw_render_context_negotiation_interface_* types + * contain at least these fields. */ +struct retro_hw_render_context_negotiation_interface +{ + enum retro_hw_render_context_negotiation_interface_type interface_type; + unsigned interface_version; +}; +#define RETRO_ENVIRONMENT_SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE (43 | RETRO_ENVIRONMENT_EXPERIMENTAL) + /* const struct retro_hw_render_context_negotiation_interface * -- + * Sets an interface which lets the libretro core negotiate with frontend how a context is created. + * The semantics of this interface depends on which API is used in SET_HW_RENDER earlier. + * This interface will be used when the frontend is trying to create a HW rendering context, + * so it will be used after SET_HW_RENDER, but before the context_reset callback. + */ + +/* Serialized state is incomplete in some way. Set if serialization is + * usable in typical end-user cases but should not be relied upon to + * implement frame-sensitive frontend features such as netplay or + * rerecording. */ +#define RETRO_SERIALIZATION_QUIRK_INCOMPLETE (1 << 0) +/* The core must spend some time initializing before serialization is + * supported. retro_serialize() will initially fail; retro_unserialize() + * and retro_serialize_size() may or may not work correctly either. */ +#define RETRO_SERIALIZATION_QUIRK_MUST_INITIALIZE (1 << 1) +/* Serialization size may change within a session. */ +#define RETRO_SERIALIZATION_QUIRK_CORE_VARIABLE_SIZE (1 << 2) +/* Set by the frontend to acknowledge that it supports variable-sized + * states. */ +#define RETRO_SERIALIZATION_QUIRK_FRONT_VARIABLE_SIZE (1 << 3) +/* Serialized state can only be loaded during the same session. */ +#define RETRO_SERIALIZATION_QUIRK_SINGLE_SESSION (1 << 4) +/* Serialized state cannot be loaded on an architecture with a different + * endianness from the one it was saved on. */ +#define RETRO_SERIALIZATION_QUIRK_ENDIAN_DEPENDENT (1 << 5) +/* Serialized state cannot be loaded on a different platform from the one it + * was saved on for reasons other than endianness, such as word size + * dependence */ +#define RETRO_SERIALIZATION_QUIRK_PLATFORM_DEPENDENT (1 << 6) + +#define RETRO_ENVIRONMENT_SET_SERIALIZATION_QUIRKS 44 + /* uint64_t * -- + * Sets quirk flags associated with serialization. The frontend will zero any flags it doesn't + * recognize or support. Should be set in either retro_init or retro_load_game, but not both. + */ + +#define RETRO_MEMDESC_CONST (1 << 0) /* The frontend will never change this memory area once retro_load_game has returned. */ +#define RETRO_MEMDESC_BIGENDIAN (1 << 1) /* The memory area contains big endian data. Default is little endian. */ +#define RETRO_MEMDESC_ALIGN_2 (1 << 16) /* All memory access in this area is aligned to their own size, or 2, whichever is smaller. */ +#define RETRO_MEMDESC_ALIGN_4 (2 << 16) +#define RETRO_MEMDESC_ALIGN_8 (3 << 16) +#define RETRO_MEMDESC_MINSIZE_2 (1 << 24) /* All memory in this region is accessed at least 2 bytes at the time. */ +#define RETRO_MEMDESC_MINSIZE_4 (2 << 24) +#define RETRO_MEMDESC_MINSIZE_8 (3 << 24) +struct retro_memory_descriptor +{ + uint64_t flags; + + /* Pointer to the start of the relevant ROM or RAM chip. + * It's strongly recommended to use 'offset' if possible, rather than + * doing math on the pointer. + * + * If the same byte is mapped my multiple descriptors, their descriptors + * must have the same pointer. + * If 'start' does not point to the first byte in the pointer, put the + * difference in 'offset' instead. + * + * May be NULL if there's nothing usable here (e.g. hardware registers and + * open bus). No flags should be set if the pointer is NULL. + * It's recommended to minimize the number of descriptors if possible, + * but not mandatory. */ + void *ptr; + size_t offset; + + /* This is the location in the emulated address space + * where the mapping starts. */ + size_t start; + + /* Which bits must be same as in 'start' for this mapping to apply. + * The first memory descriptor to claim a certain byte is the one + * that applies. + * A bit which is set in 'start' must also be set in this. + * Can be zero, in which case each byte is assumed mapped exactly once. + * In this case, 'len' must be a power of two. */ + size_t select; + + /* If this is nonzero, the set bits are assumed not connected to the + * memory chip's address pins. */ + size_t disconnect; + + /* This one tells the size of the current memory area. + * If, after start+disconnect are applied, the address is higher than + * this, the highest bit of the address is cleared. + * + * If the address is still too high, the next highest bit is cleared. + * Can be zero, in which case it's assumed to be infinite (as limited + * by 'select' and 'disconnect'). */ + size_t len; + + /* To go from emulated address to physical address, the following + * order applies: + * Subtract 'start', pick off 'disconnect', apply 'len', add 'offset'. */ + + /* The address space name must consist of only a-zA-Z0-9_-, + * should be as short as feasible (maximum length is 8 plus the NUL), + * and may not be any other address space plus one or more 0-9A-F + * at the end. + * However, multiple memory descriptors for the same address space is + * allowed, and the address space name can be empty. NULL is treated + * as empty. + * + * Address space names are case sensitive, but avoid lowercase if possible. + * The same pointer may exist in multiple address spaces. + * + * Examples: + * blank+blank - valid (multiple things may be mapped in the same namespace) + * 'Sp'+'Sp' - valid (multiple things may be mapped in the same namespace) + * 'A'+'B' - valid (neither is a prefix of each other) + * 'S'+blank - valid ('S' is not in 0-9A-F) + * 'a'+blank - valid ('a' is not in 0-9A-F) + * 'a'+'A' - valid (neither is a prefix of each other) + * 'AR'+blank - valid ('R' is not in 0-9A-F) + * 'ARB'+blank - valid (the B can't be part of the address either, because + * there is no namespace 'AR') + * blank+'B' - not valid, because it's ambigous which address space B1234 + * would refer to. + * The length can't be used for that purpose; the frontend may want + * to append arbitrary data to an address, without a separator. */ + const char *addrspace; + + /* TODO: When finalizing this one, add a description field, which should be + * "WRAM" or something roughly equally long. */ + + /* TODO: When finalizing this one, replace 'select' with 'limit', which tells + * which bits can vary and still refer to the same address (limit = ~select). + * TODO: limit? range? vary? something else? */ + + /* TODO: When finalizing this one, if 'len' is above what 'select' (or + * 'limit') allows, it's bankswitched. Bankswitched data must have both 'len' + * and 'select' != 0, and the mappings don't tell how the system switches the + * banks. */ + + /* TODO: When finalizing this one, fix the 'len' bit removal order. + * For len=0x1800, pointer 0x1C00 should go to 0x1400, not 0x0C00. + * Algorithm: Take bits highest to lowest, but if it goes above len, clear + * the most recent addition and continue on the next bit. + * TODO: Can the above be optimized? Is "remove the lowest bit set in both + * pointer and 'len'" equivalent? */ + + /* TODO: Some emulators (MAME?) emulate big endian systems by only accessing + * the emulated memory in 32-bit chunks, native endian. But that's nothing + * compared to Darek Mihocka + * (section Emulation 103 - Nearly Free Byte Reversal) - he flips the ENTIRE + * RAM backwards! I'll want to represent both of those, via some flags. + * + * I suspect MAME either didn't think of that idea, or don't want the #ifdef. + * Not sure which, nor do I really care. */ + + /* TODO: Some of those flags are unused and/or don't really make sense. Clean + * them up. */ +}; + +/* The frontend may use the largest value of 'start'+'select' in a + * certain namespace to infer the size of the address space. + * + * If the address space is larger than that, a mapping with .ptr=NULL + * should be at the end of the array, with .select set to all ones for + * as long as the address space is big. + * + * Sample descriptors (minus .ptr, and RETRO_MEMFLAG_ on the flags): + * SNES WRAM: + * .start=0x7E0000, .len=0x20000 + * (Note that this must be mapped before the ROM in most cases; some of the + * ROM mappers + * try to claim $7E0000, or at least $7E8000.) + * SNES SPC700 RAM: + * .addrspace="S", .len=0x10000 + * SNES WRAM mirrors: + * .flags=MIRROR, .start=0x000000, .select=0xC0E000, .len=0x2000 + * .flags=MIRROR, .start=0x800000, .select=0xC0E000, .len=0x2000 + * SNES WRAM mirrors, alternate equivalent descriptor: + * .flags=MIRROR, .select=0x40E000, .disconnect=~0x1FFF + * (Various similar constructions can be created by combining parts of + * the above two.) + * SNES LoROM (512KB, mirrored a couple of times): + * .flags=CONST, .start=0x008000, .select=0x408000, .disconnect=0x8000, .len=512*1024 + * .flags=CONST, .start=0x400000, .select=0x400000, .disconnect=0x8000, .len=512*1024 + * SNES HiROM (4MB): + * .flags=CONST, .start=0x400000, .select=0x400000, .len=4*1024*1024 + * .flags=CONST, .offset=0x8000, .start=0x008000, .select=0x408000, .len=4*1024*1024 + * SNES ExHiROM (8MB): + * .flags=CONST, .offset=0, .start=0xC00000, .select=0xC00000, .len=4*1024*1024 + * .flags=CONST, .offset=4*1024*1024, .start=0x400000, .select=0xC00000, .len=4*1024*1024 + * .flags=CONST, .offset=0x8000, .start=0x808000, .select=0xC08000, .len=4*1024*1024 + * .flags=CONST, .offset=4*1024*1024+0x8000, .start=0x008000, .select=0xC08000, .len=4*1024*1024 + * Clarify the size of the address space: + * .ptr=NULL, .select=0xFFFFFF + * .len can be implied by .select in many of them, but was included for clarity. + */ + +struct retro_memory_map +{ + const struct retro_memory_descriptor *descriptors; + unsigned num_descriptors; +}; + +struct retro_controller_description +{ + /* Human-readable description of the controller. Even if using a generic + * input device type, this can be set to the particular device type the + * core uses. */ + const char *desc; + + /* Device type passed to retro_set_controller_port_device(). If the device + * type is a sub-class of a generic input device type, use the + * RETRO_DEVICE_SUBCLASS macro to create an ID. + * + * E.g. RETRO_DEVICE_SUBCLASS(RETRO_DEVICE_JOYPAD, 1). */ + unsigned id; +}; + +struct retro_controller_info +{ + const struct retro_controller_description *types; + unsigned num_types; +}; + +struct retro_subsystem_memory_info +{ + /* The extension associated with a memory type, e.g. "psram". */ + const char *extension; + + /* The memory type for retro_get_memory(). This should be at + * least 0x100 to avoid conflict with standardized + * libretro memory types. */ + unsigned type; +}; + +struct retro_subsystem_rom_info +{ + /* Describes what the content is (SGB BIOS, GB ROM, etc). */ + const char *desc; + + /* Same definition as retro_get_system_info(). */ + const char *valid_extensions; + + /* Same definition as retro_get_system_info(). */ + bool need_fullpath; + + /* Same definition as retro_get_system_info(). */ + bool block_extract; + + /* This is set if the content is required to load a game. + * If this is set to false, a zeroed-out retro_game_info can be passed. */ + bool required; + + /* Content can have multiple associated persistent + * memory types (retro_get_memory()). */ + const struct retro_subsystem_memory_info *memory; + unsigned num_memory; +}; + +struct retro_subsystem_info +{ + /* Human-readable string of the subsystem type, e.g. "Super GameBoy" */ + const char *desc; + + /* A computer friendly short string identifier for the subsystem type. + * This name must be [a-z]. + * E.g. if desc is "Super GameBoy", this can be "sgb". + * This identifier can be used for command-line interfaces, etc. + */ + const char *ident; + + /* Infos for each content file. The first entry is assumed to be the + * "most significant" content for frontend purposes. + * E.g. with Super GameBoy, the first content should be the GameBoy ROM, + * as it is the most "significant" content to a user. + * If a frontend creates new file paths based on the content used + * (e.g. savestates), it should use the path for the first ROM to do so. */ + const struct retro_subsystem_rom_info *roms; + + /* Number of content files associated with a subsystem. */ + unsigned num_roms; + + /* The type passed to retro_load_game_special(). */ + unsigned id; +}; + +typedef void (RETRO_CALLCONV *retro_proc_address_t)(void); + +/* libretro API extension functions: + * (None here so far). + * + * Get a symbol from a libretro core. + * Cores should only return symbols which are actual + * extensions to the libretro API. + * + * Frontends should not use this to obtain symbols to standard + * libretro entry points (static linking or dlsym). + * + * The symbol name must be equal to the function name, + * e.g. if void retro_foo(void); exists, the symbol must be called "retro_foo". + * The returned function pointer must be cast to the corresponding type. + */ +typedef retro_proc_address_t (RETRO_CALLCONV *retro_get_proc_address_t)(const char *sym); + +struct retro_get_proc_address_interface +{ + retro_get_proc_address_t get_proc_address; +}; + +enum retro_log_level +{ + RETRO_LOG_DEBUG = 0, + RETRO_LOG_INFO, + RETRO_LOG_WARN, + RETRO_LOG_ERROR, + + RETRO_LOG_DUMMY = INT_MAX +}; + +/* Logging function. Takes log level argument as well. */ +typedef void (RETRO_CALLCONV *retro_log_printf_t)(enum retro_log_level level, + const char *fmt, ...); + +struct retro_log_callback +{ + retro_log_printf_t log; +}; + +/* Performance related functions */ + +/* ID values for SIMD CPU features */ +#define RETRO_SIMD_SSE (1 << 0) +#define RETRO_SIMD_SSE2 (1 << 1) +#define RETRO_SIMD_VMX (1 << 2) +#define RETRO_SIMD_VMX128 (1 << 3) +#define RETRO_SIMD_AVX (1 << 4) +#define RETRO_SIMD_NEON (1 << 5) +#define RETRO_SIMD_SSE3 (1 << 6) +#define RETRO_SIMD_SSSE3 (1 << 7) +#define RETRO_SIMD_MMX (1 << 8) +#define RETRO_SIMD_MMXEXT (1 << 9) +#define RETRO_SIMD_SSE4 (1 << 10) +#define RETRO_SIMD_SSE42 (1 << 11) +#define RETRO_SIMD_AVX2 (1 << 12) +#define RETRO_SIMD_VFPU (1 << 13) +#define RETRO_SIMD_PS (1 << 14) +#define RETRO_SIMD_AES (1 << 15) +#define RETRO_SIMD_VFPV3 (1 << 16) +#define RETRO_SIMD_VFPV4 (1 << 17) +#define RETRO_SIMD_POPCNT (1 << 18) +#define RETRO_SIMD_MOVBE (1 << 19) +#define RETRO_SIMD_CMOV (1 << 20) +#define RETRO_SIMD_ASIMD (1 << 21) + +typedef uint64_t retro_perf_tick_t; +typedef int64_t retro_time_t; + +struct retro_perf_counter +{ + const char *ident; + retro_perf_tick_t start; + retro_perf_tick_t total; + retro_perf_tick_t call_cnt; + + bool registered; +}; + +/* Returns current time in microseconds. + * Tries to use the most accurate timer available. + */ +typedef retro_time_t (RETRO_CALLCONV *retro_perf_get_time_usec_t)(void); + +/* A simple counter. Usually nanoseconds, but can also be CPU cycles. + * Can be used directly if desired (when creating a more sophisticated + * performance counter system). + * */ +typedef retro_perf_tick_t (RETRO_CALLCONV *retro_perf_get_counter_t)(void); + +/* Returns a bit-mask of detected CPU features (RETRO_SIMD_*). */ +typedef uint64_t (RETRO_CALLCONV *retro_get_cpu_features_t)(void); + +/* Asks frontend to log and/or display the state of performance counters. + * Performance counters can always be poked into manually as well. + */ +typedef void (RETRO_CALLCONV *retro_perf_log_t)(void); + +/* Register a performance counter. + * ident field must be set with a discrete value and other values in + * retro_perf_counter must be 0. + * Registering can be called multiple times. To avoid calling to + * frontend redundantly, you can check registered field first. */ +typedef void (RETRO_CALLCONV *retro_perf_register_t)(struct retro_perf_counter *counter); + +/* Starts a registered counter. */ +typedef void (RETRO_CALLCONV *retro_perf_start_t)(struct retro_perf_counter *counter); + +/* Stops a registered counter. */ +typedef void (RETRO_CALLCONV *retro_perf_stop_t)(struct retro_perf_counter *counter); + +/* For convenience it can be useful to wrap register, start and stop in macros. + * E.g.: + * #ifdef LOG_PERFORMANCE + * #define RETRO_PERFORMANCE_INIT(perf_cb, name) static struct retro_perf_counter name = {#name}; if (!name.registered) perf_cb.perf_register(&(name)) + * #define RETRO_PERFORMANCE_START(perf_cb, name) perf_cb.perf_start(&(name)) + * #define RETRO_PERFORMANCE_STOP(perf_cb, name) perf_cb.perf_stop(&(name)) + * #else + * ... Blank macros ... + * #endif + * + * These can then be used mid-functions around code snippets. + * + * extern struct retro_perf_callback perf_cb; * Somewhere in the core. + * + * void do_some_heavy_work(void) + * { + * RETRO_PERFORMANCE_INIT(cb, work_1; + * RETRO_PERFORMANCE_START(cb, work_1); + * heavy_work_1(); + * RETRO_PERFORMANCE_STOP(cb, work_1); + * + * RETRO_PERFORMANCE_INIT(cb, work_2); + * RETRO_PERFORMANCE_START(cb, work_2); + * heavy_work_2(); + * RETRO_PERFORMANCE_STOP(cb, work_2); + * } + * + * void retro_deinit(void) + * { + * perf_cb.perf_log(); * Log all perf counters here for example. + * } + */ + +struct retro_perf_callback +{ + retro_perf_get_time_usec_t get_time_usec; + retro_get_cpu_features_t get_cpu_features; + + retro_perf_get_counter_t get_perf_counter; + retro_perf_register_t perf_register; + retro_perf_start_t perf_start; + retro_perf_stop_t perf_stop; + retro_perf_log_t perf_log; +}; + +/* FIXME: Document the sensor API and work out behavior. + * It will be marked as experimental until then. + */ +enum retro_sensor_action +{ + RETRO_SENSOR_ACCELEROMETER_ENABLE = 0, + RETRO_SENSOR_ACCELEROMETER_DISABLE, + + RETRO_SENSOR_DUMMY = INT_MAX +}; + +/* Id values for SENSOR types. */ +#define RETRO_SENSOR_ACCELEROMETER_X 0 +#define RETRO_SENSOR_ACCELEROMETER_Y 1 +#define RETRO_SENSOR_ACCELEROMETER_Z 2 + +typedef bool (RETRO_CALLCONV *retro_set_sensor_state_t)(unsigned port, + enum retro_sensor_action action, unsigned rate); + +typedef float (RETRO_CALLCONV *retro_sensor_get_input_t)(unsigned port, unsigned id); + +struct retro_sensor_interface +{ + retro_set_sensor_state_t set_sensor_state; + retro_sensor_get_input_t get_sensor_input; +}; + +enum retro_camera_buffer +{ + RETRO_CAMERA_BUFFER_OPENGL_TEXTURE = 0, + RETRO_CAMERA_BUFFER_RAW_FRAMEBUFFER, + + RETRO_CAMERA_BUFFER_DUMMY = INT_MAX +}; + +/* Starts the camera driver. Can only be called in retro_run(). */ +typedef bool (RETRO_CALLCONV *retro_camera_start_t)(void); + +/* Stops the camera driver. Can only be called in retro_run(). */ +typedef void (RETRO_CALLCONV *retro_camera_stop_t)(void); + +/* Callback which signals when the camera driver is initialized + * and/or deinitialized. + * retro_camera_start_t can be called in initialized callback. + */ +typedef void (RETRO_CALLCONV *retro_camera_lifetime_status_t)(void); + +/* A callback for raw framebuffer data. buffer points to an XRGB8888 buffer. + * Width, height and pitch are similar to retro_video_refresh_t. + * First pixel is top-left origin. + */ +typedef void (RETRO_CALLCONV *retro_camera_frame_raw_framebuffer_t)(const uint32_t *buffer, + unsigned width, unsigned height, size_t pitch); + +/* A callback for when OpenGL textures are used. + * + * texture_id is a texture owned by camera driver. + * Its state or content should be considered immutable, except for things like + * texture filtering and clamping. + * + * texture_target is the texture target for the GL texture. + * These can include e.g. GL_TEXTURE_2D, GL_TEXTURE_RECTANGLE, and possibly + * more depending on extensions. + * + * affine points to a packed 3x3 column-major matrix used to apply an affine + * transform to texture coordinates. (affine_matrix * vec3(coord_x, coord_y, 1.0)) + * After transform, normalized texture coord (0, 0) should be bottom-left + * and (1, 1) should be top-right (or (width, height) for RECTANGLE). + * + * GL-specific typedefs are avoided here to avoid relying on gl.h in + * the API definition. + */ +typedef void (RETRO_CALLCONV *retro_camera_frame_opengl_texture_t)(unsigned texture_id, + unsigned texture_target, const float *affine); + +struct retro_camera_callback +{ + /* Set by libretro core. + * Example bitmask: caps = (1 << RETRO_CAMERA_BUFFER_OPENGL_TEXTURE) | (1 << RETRO_CAMERA_BUFFER_RAW_FRAMEBUFFER). + */ + uint64_t caps; + + /* Desired resolution for camera. Is only used as a hint. */ + unsigned width; + unsigned height; + + /* Set by frontend. */ + retro_camera_start_t start; + retro_camera_stop_t stop; + + /* Set by libretro core if raw framebuffer callbacks will be used. */ + retro_camera_frame_raw_framebuffer_t frame_raw_framebuffer; + + /* Set by libretro core if OpenGL texture callbacks will be used. */ + retro_camera_frame_opengl_texture_t frame_opengl_texture; + + /* Set by libretro core. Called after camera driver is initialized and + * ready to be started. + * Can be NULL, in which this callback is not called. + */ + retro_camera_lifetime_status_t initialized; + + /* Set by libretro core. Called right before camera driver is + * deinitialized. + * Can be NULL, in which this callback is not called. + */ + retro_camera_lifetime_status_t deinitialized; +}; + +/* Sets the interval of time and/or distance at which to update/poll + * location-based data. + * + * To ensure compatibility with all location-based implementations, + * values for both interval_ms and interval_distance should be provided. + * + * interval_ms is the interval expressed in milliseconds. + * interval_distance is the distance interval expressed in meters. + */ +typedef void (RETRO_CALLCONV *retro_location_set_interval_t)(unsigned interval_ms, + unsigned interval_distance); + +/* Start location services. The device will start listening for changes to the + * current location at regular intervals (which are defined with + * retro_location_set_interval_t). */ +typedef bool (RETRO_CALLCONV *retro_location_start_t)(void); + +/* Stop location services. The device will stop listening for changes + * to the current location. */ +typedef void (RETRO_CALLCONV *retro_location_stop_t)(void); + +/* Get the position of the current location. Will set parameters to + * 0 if no new location update has happened since the last time. */ +typedef bool (RETRO_CALLCONV *retro_location_get_position_t)(double *lat, double *lon, + double *horiz_accuracy, double *vert_accuracy); + +/* Callback which signals when the location driver is initialized + * and/or deinitialized. + * retro_location_start_t can be called in initialized callback. + */ +typedef void (RETRO_CALLCONV *retro_location_lifetime_status_t)(void); + +struct retro_location_callback +{ + retro_location_start_t start; + retro_location_stop_t stop; + retro_location_get_position_t get_position; + retro_location_set_interval_t set_interval; + + retro_location_lifetime_status_t initialized; + retro_location_lifetime_status_t deinitialized; +}; + +enum retro_rumble_effect +{ + RETRO_RUMBLE_STRONG = 0, + RETRO_RUMBLE_WEAK = 1, + + RETRO_RUMBLE_DUMMY = INT_MAX +}; + +/* Sets rumble state for joypad plugged in port 'port'. + * Rumble effects are controlled independently, + * and setting e.g. strong rumble does not override weak rumble. + * Strength has a range of [0, 0xffff]. + * + * Returns true if rumble state request was honored. + * Calling this before first retro_run() is likely to return false. */ +typedef bool (RETRO_CALLCONV *retro_set_rumble_state_t)(unsigned port, + enum retro_rumble_effect effect, uint16_t strength); + +struct retro_rumble_interface +{ + retro_set_rumble_state_t set_rumble_state; +}; + +/* Notifies libretro that audio data should be written. */ +typedef void (RETRO_CALLCONV *retro_audio_callback_t)(void); + +/* True: Audio driver in frontend is active, and callback is + * expected to be called regularily. + * False: Audio driver in frontend is paused or inactive. + * Audio callback will not be called until set_state has been + * called with true. + * Initial state is false (inactive). + */ +typedef void (RETRO_CALLCONV *retro_audio_set_state_callback_t)(bool enabled); + +struct retro_audio_callback +{ + retro_audio_callback_t callback; + retro_audio_set_state_callback_t set_state; +}; + +/* Notifies a libretro core of time spent since last invocation + * of retro_run() in microseconds. + * + * It will be called right before retro_run() every frame. + * The frontend can tamper with timing to support cases like + * fast-forward, slow-motion and framestepping. + * + * In those scenarios the reference frame time value will be used. */ +typedef int64_t retro_usec_t; +typedef void (RETRO_CALLCONV *retro_frame_time_callback_t)(retro_usec_t usec); +struct retro_frame_time_callback +{ + retro_frame_time_callback_t callback; + /* Represents the time of one frame. It is computed as + * 1000000 / fps, but the implementation will resolve the + * rounding to ensure that framestepping, etc is exact. */ + retro_usec_t reference; +}; + +/* Pass this to retro_video_refresh_t if rendering to hardware. + * Passing NULL to retro_video_refresh_t is still a frame dupe as normal. + * */ +#define RETRO_HW_FRAME_BUFFER_VALID ((void*)-1) + +/* Invalidates the current HW context. + * Any GL state is lost, and must not be deinitialized explicitly. + * If explicit deinitialization is desired by the libretro core, + * it should implement context_destroy callback. + * If called, all GPU resources must be reinitialized. + * Usually called when frontend reinits video driver. + * Also called first time video driver is initialized, + * allowing libretro core to initialize resources. + */ +typedef void (RETRO_CALLCONV *retro_hw_context_reset_t)(void); + +/* Gets current framebuffer which is to be rendered to. + * Could change every frame potentially. + */ +typedef uintptr_t (RETRO_CALLCONV *retro_hw_get_current_framebuffer_t)(void); + +/* Get a symbol from HW context. */ +typedef retro_proc_address_t (RETRO_CALLCONV *retro_hw_get_proc_address_t)(const char *sym); + +enum retro_hw_context_type +{ + RETRO_HW_CONTEXT_NONE = 0, + /* OpenGL 2.x. Driver can choose to use latest compatibility context. */ + RETRO_HW_CONTEXT_OPENGL = 1, + /* OpenGL ES 2.0. */ + RETRO_HW_CONTEXT_OPENGLES2 = 2, + /* Modern desktop core GL context. Use version_major/ + * version_minor fields to set GL version. */ + RETRO_HW_CONTEXT_OPENGL_CORE = 3, + /* OpenGL ES 3.0 */ + RETRO_HW_CONTEXT_OPENGLES3 = 4, + /* OpenGL ES 3.1+. Set version_major/version_minor. For GLES2 and GLES3, + * use the corresponding enums directly. */ + RETRO_HW_CONTEXT_OPENGLES_VERSION = 5, + + /* Vulkan, see RETRO_ENVIRONMENT_GET_HW_RENDER_INTERFACE. */ + RETRO_HW_CONTEXT_VULKAN = 6, + + RETRO_HW_CONTEXT_DUMMY = INT_MAX +}; + +struct retro_hw_render_callback +{ + /* Which API to use. Set by libretro core. */ + enum retro_hw_context_type context_type; + + /* Called when a context has been created or when it has been reset. + * An OpenGL context is only valid after context_reset() has been called. + * + * When context_reset is called, OpenGL resources in the libretro + * implementation are guaranteed to be invalid. + * + * It is possible that context_reset is called multiple times during an + * application lifecycle. + * If context_reset is called without any notification (context_destroy), + * the OpenGL context was lost and resources should just be recreated + * without any attempt to "free" old resources. + */ + retro_hw_context_reset_t context_reset; + + /* Set by frontend. + * TODO: This is rather obsolete. The frontend should not + * be providing preallocated framebuffers. */ + retro_hw_get_current_framebuffer_t get_current_framebuffer; + + /* Set by frontend. + * Can return all relevant functions, including glClear on Windows. */ + retro_hw_get_proc_address_t get_proc_address; + + /* Set if render buffers should have depth component attached. + * TODO: Obsolete. */ + bool depth; + + /* Set if stencil buffers should be attached. + * TODO: Obsolete. */ + bool stencil; + + /* If depth and stencil are true, a packed 24/8 buffer will be added. + * Only attaching stencil is invalid and will be ignored. */ + + /* Use conventional bottom-left origin convention. If false, + * standard libretro top-left origin semantics are used. + * TODO: Move to GL specific interface. */ + bool bottom_left_origin; + + /* Major version number for core GL context or GLES 3.1+. */ + unsigned version_major; + + /* Minor version number for core GL context or GLES 3.1+. */ + unsigned version_minor; + + /* If this is true, the frontend will go very far to avoid + * resetting context in scenarios like toggling fullscreen, etc. + * TODO: Obsolete? Maybe frontend should just always assume this ... + */ + bool cache_context; + + /* The reset callback might still be called in extreme situations + * such as if the context is lost beyond recovery. + * + * For optimal stability, set this to false, and allow context to be + * reset at any time. + */ + + /* A callback to be called before the context is destroyed in a + * controlled way by the frontend. */ + retro_hw_context_reset_t context_destroy; + + /* OpenGL resources can be deinitialized cleanly at this step. + * context_destroy can be set to NULL, in which resources will + * just be destroyed without any notification. + * + * Even when context_destroy is non-NULL, it is possible that + * context_reset is called without any destroy notification. + * This happens if context is lost by external factors (such as + * notified by GL_ARB_robustness). + * + * In this case, the context is assumed to be already dead, + * and the libretro implementation must not try to free any OpenGL + * resources in the subsequent context_reset. + */ + + /* Creates a debug context. */ + bool debug_context; +}; + +/* Callback type passed in RETRO_ENVIRONMENT_SET_KEYBOARD_CALLBACK. + * Called by the frontend in response to keyboard events. + * down is set if the key is being pressed, or false if it is being released. + * keycode is the RETROK value of the char. + * character is the text character of the pressed key. (UTF-32). + * key_modifiers is a set of RETROKMOD values or'ed together. + * + * The pressed/keycode state can be indepedent of the character. + * It is also possible that multiple characters are generated from a + * single keypress. + * Keycode events should be treated separately from character events. + * However, when possible, the frontend should try to synchronize these. + * If only a character is posted, keycode should be RETROK_UNKNOWN. + * + * Similarily if only a keycode event is generated with no corresponding + * character, character should be 0. + */ +typedef void (RETRO_CALLCONV *retro_keyboard_event_t)(bool down, unsigned keycode, + uint32_t character, uint16_t key_modifiers); + +struct retro_keyboard_callback +{ + retro_keyboard_event_t callback; +}; + +/* Callbacks for RETRO_ENVIRONMENT_SET_DISK_CONTROL_INTERFACE. + * Should be set for implementations which can swap out multiple disk + * images in runtime. + * + * If the implementation can do this automatically, it should strive to do so. + * However, there are cases where the user must manually do so. + * + * Overview: To swap a disk image, eject the disk image with + * set_eject_state(true). + * Set the disk index with set_image_index(index). Insert the disk again + * with set_eject_state(false). + */ + +/* If ejected is true, "ejects" the virtual disk tray. + * When ejected, the disk image index can be set. + */ +typedef bool (RETRO_CALLCONV *retro_set_eject_state_t)(bool ejected); + +/* Gets current eject state. The initial state is 'not ejected'. */ +typedef bool (RETRO_CALLCONV *retro_get_eject_state_t)(void); + +/* Gets current disk index. First disk is index 0. + * If return value is >= get_num_images(), no disk is currently inserted. + */ +typedef unsigned (RETRO_CALLCONV *retro_get_image_index_t)(void); + +/* Sets image index. Can only be called when disk is ejected. + * The implementation supports setting "no disk" by using an + * index >= get_num_images(). + */ +typedef bool (RETRO_CALLCONV *retro_set_image_index_t)(unsigned index); + +/* Gets total number of images which are available to use. */ +typedef unsigned (RETRO_CALLCONV *retro_get_num_images_t)(void); + +struct retro_game_info; + +/* Replaces the disk image associated with index. + * Arguments to pass in info have same requirements as retro_load_game(). + * Virtual disk tray must be ejected when calling this. + * + * Replacing a disk image with info = NULL will remove the disk image + * from the internal list. + * As a result, calls to get_image_index() can change. + * + * E.g. replace_image_index(1, NULL), and previous get_image_index() + * returned 4 before. + * Index 1 will be removed, and the new index is 3. + */ +typedef bool (RETRO_CALLCONV *retro_replace_image_index_t)(unsigned index, + const struct retro_game_info *info); + +/* Adds a new valid index (get_num_images()) to the internal disk list. + * This will increment subsequent return values from get_num_images() by 1. + * This image index cannot be used until a disk image has been set + * with replace_image_index. */ +typedef bool (RETRO_CALLCONV *retro_add_image_index_t)(void); + +struct retro_disk_control_callback +{ + retro_set_eject_state_t set_eject_state; + retro_get_eject_state_t get_eject_state; + + retro_get_image_index_t get_image_index; + retro_set_image_index_t set_image_index; + retro_get_num_images_t get_num_images; + + retro_replace_image_index_t replace_image_index; + retro_add_image_index_t add_image_index; +}; + +enum retro_pixel_format +{ + /* 0RGB1555, native endian. + * 0 bit must be set to 0. + * This pixel format is default for compatibility concerns only. + * If a 15/16-bit pixel format is desired, consider using RGB565. */ + RETRO_PIXEL_FORMAT_0RGB1555 = 0, + + /* XRGB8888, native endian. + * X bits are ignored. */ + RETRO_PIXEL_FORMAT_XRGB8888 = 1, + + /* RGB565, native endian. + * This pixel format is the recommended format to use if a 15/16-bit + * format is desired as it is the pixel format that is typically + * available on a wide range of low-power devices. + * + * It is also natively supported in APIs like OpenGL ES. */ + RETRO_PIXEL_FORMAT_RGB565 = 2, + + /* Ensure sizeof() == sizeof(int). */ + RETRO_PIXEL_FORMAT_UNKNOWN = INT_MAX +}; + +struct retro_message +{ + const char *msg; /* Message to be displayed. */ + unsigned frames; /* Duration in frames of message. */ +}; + +/* Describes how the libretro implementation maps a libretro input bind + * to its internal input system through a human readable string. + * This string can be used to better let a user configure input. */ +struct retro_input_descriptor +{ + /* Associates given parameters with a description. */ + unsigned port; + unsigned device; + unsigned index; + unsigned id; + + /* Human readable description for parameters. + * The pointer must remain valid until + * retro_unload_game() is called. */ + const char *description; +}; + +struct retro_system_info +{ + /* All pointers are owned by libretro implementation, and pointers must + * remain valid until retro_deinit() is called. */ + + const char *library_name; /* Descriptive name of library. Should not + * contain any version numbers, etc. */ + const char *library_version; /* Descriptive version of core. */ + + const char *valid_extensions; /* A string listing probably content + * extensions the core will be able to + * load, separated with pipe. + * I.e. "bin|rom|iso". + * Typically used for a GUI to filter + * out extensions. */ + + /* If true, retro_load_game() is guaranteed to provide a valid pathname + * in retro_game_info::path. + * ::data and ::size are both invalid. + * + * If false, ::data and ::size are guaranteed to be valid, but ::path + * might not be valid. + * + * This is typically set to true for libretro implementations that must + * load from file. + * Implementations should strive for setting this to false, as it allows + * the frontend to perform patching, etc. */ + bool need_fullpath; + + /* If true, the frontend is not allowed to extract any archives before + * loading the real content. + * Necessary for certain libretro implementations that load games + * from zipped archives. */ + bool block_extract; +}; + +struct retro_game_geometry +{ + unsigned base_width; /* Nominal video width of game. */ + unsigned base_height; /* Nominal video height of game. */ + unsigned max_width; /* Maximum possible width of game. */ + unsigned max_height; /* Maximum possible height of game. */ + + float aspect_ratio; /* Nominal aspect ratio of game. If + * aspect_ratio is <= 0.0, an aspect ratio + * of base_width / base_height is assumed. + * A frontend could override this setting, + * if desired. */ +}; + +struct retro_system_timing +{ + double fps; /* FPS of video content. */ + double sample_rate; /* Sampling rate of audio. */ +}; + +struct retro_system_av_info +{ + struct retro_game_geometry geometry; + struct retro_system_timing timing; +}; + +struct retro_variable +{ + /* Variable to query in RETRO_ENVIRONMENT_GET_VARIABLE. + * If NULL, obtains the complete environment string if more + * complex parsing is necessary. + * The environment string is formatted as key-value pairs + * delimited by semicolons as so: + * "key1=value1;key2=value2;..." + */ + const char *key; + + /* Value to be obtained. If key does not exist, it is set to NULL. */ + const char *value; +}; + +struct retro_game_info +{ + const char *path; /* Path to game, UTF-8 encoded. + * Sometimes used as a reference for building other paths. + * May be NULL if game was loaded from stdin or similar, + * but in this case some cores will be unable to load `data`. + * So, it is preferable to fabricate something here instead + * of passing NULL, which will help more cores to succeed. + * retro_system_info::need_fullpath requires + * that this path is valid. */ + const void *data; /* Memory buffer of loaded game. Will be NULL + * if need_fullpath was set. */ + size_t size; /* Size of memory buffer. */ + const char *meta; /* String of implementation specific meta-data. */ +}; + +#define RETRO_MEMORY_ACCESS_WRITE (1 << 0) + /* The core will write to the buffer provided by retro_framebuffer::data. */ +#define RETRO_MEMORY_ACCESS_READ (1 << 1) + /* The core will read from retro_framebuffer::data. */ +#define RETRO_MEMORY_TYPE_CACHED (1 << 0) + /* The memory in data is cached. + * If not cached, random writes and/or reading from the buffer is expected to be very slow. */ +struct retro_framebuffer +{ + void *data; /* The framebuffer which the core can render into. + Set by frontend in GET_CURRENT_SOFTWARE_FRAMEBUFFER. + The initial contents of data are unspecified. */ + unsigned width; /* The framebuffer width used by the core. Set by core. */ + unsigned height; /* The framebuffer height used by the core. Set by core. */ + size_t pitch; /* The number of bytes between the beginning of a scanline, + and beginning of the next scanline. + Set by frontend in GET_CURRENT_SOFTWARE_FRAMEBUFFER. */ + enum retro_pixel_format format; /* The pixel format the core must use to render into data. + This format could differ from the format used in + SET_PIXEL_FORMAT. + Set by frontend in GET_CURRENT_SOFTWARE_FRAMEBUFFER. */ + + unsigned access_flags; /* How the core will access the memory in the framebuffer. + RETRO_MEMORY_ACCESS_* flags. + Set by core. */ + unsigned memory_flags; /* Flags telling core how the memory has been mapped. + RETRO_MEMORY_TYPE_* flags. + Set by frontend in GET_CURRENT_SOFTWARE_FRAMEBUFFER. */ +}; + +/* Callbacks */ + +/* Environment callback. Gives implementations a way of performing + * uncommon tasks. Extensible. */ +typedef bool (RETRO_CALLCONV *retro_environment_t)(unsigned cmd, void *data); + +/* Render a frame. Pixel format is 15-bit 0RGB1555 native endian + * unless changed (see RETRO_ENVIRONMENT_SET_PIXEL_FORMAT). + * + * Width and height specify dimensions of buffer. + * Pitch specifices length in bytes between two lines in buffer. + * + * For performance reasons, it is highly recommended to have a frame + * that is packed in memory, i.e. pitch == width * byte_per_pixel. + * Certain graphic APIs, such as OpenGL ES, do not like textures + * that are not packed in memory. + */ +typedef void (RETRO_CALLCONV *retro_video_refresh_t)(const void *data, unsigned width, + unsigned height, size_t pitch); + +/* Renders a single audio frame. Should only be used if implementation + * generates a single sample at a time. + * Format is signed 16-bit native endian. + */ +typedef void (RETRO_CALLCONV *retro_audio_sample_t)(int16_t left, int16_t right); + +/* Renders multiple audio frames in one go. + * + * One frame is defined as a sample of left and right channels, interleaved. + * I.e. int16_t buf[4] = { l, r, l, r }; would be 2 frames. + * Only one of the audio callbacks must ever be used. + */ +typedef size_t (RETRO_CALLCONV *retro_audio_sample_batch_t)(const int16_t *data, + size_t frames); + +/* Polls input. */ +typedef void (RETRO_CALLCONV *retro_input_poll_t)(void); + +/* Queries for input for player 'port'. device will be masked with + * RETRO_DEVICE_MASK. + * + * Specialization of devices such as RETRO_DEVICE_JOYPAD_MULTITAP that + * have been set with retro_set_controller_port_device() + * will still use the higher level RETRO_DEVICE_JOYPAD to request input. + */ +typedef int16_t (RETRO_CALLCONV *retro_input_state_t)(unsigned port, unsigned device, + unsigned index, unsigned id); + +/* Sets callbacks. retro_set_environment() is guaranteed to be called + * before retro_init(). + * + * The rest of the set_* functions are guaranteed to have been called + * before the first call to retro_run() is made. */ +RETRO_API void retro_set_environment(retro_environment_t); +RETRO_API void retro_set_video_refresh(retro_video_refresh_t); +RETRO_API void retro_set_audio_sample(retro_audio_sample_t); +RETRO_API void retro_set_audio_sample_batch(retro_audio_sample_batch_t); +RETRO_API void retro_set_input_poll(retro_input_poll_t); +RETRO_API void retro_set_input_state(retro_input_state_t); + +/* Library global initialization/deinitialization. */ +RETRO_API void retro_init(void); +RETRO_API void retro_deinit(void); + +/* Must return RETRO_API_VERSION. Used to validate ABI compatibility + * when the API is revised. */ +RETRO_API unsigned retro_api_version(void); + +/* Gets statically known system info. Pointers provided in *info + * must be statically allocated. + * Can be called at any time, even before retro_init(). */ +RETRO_API void retro_get_system_info(struct retro_system_info *info); + +/* Gets information about system audio/video timings and geometry. + * Can be called only after retro_load_game() has successfully completed. + * NOTE: The implementation of this function might not initialize every + * variable if needed. + * E.g. geom.aspect_ratio might not be initialized if core doesn't + * desire a particular aspect ratio. */ +RETRO_API void retro_get_system_av_info(struct retro_system_av_info *info); + +/* Sets device to be used for player 'port'. + * By default, RETRO_DEVICE_JOYPAD is assumed to be plugged into all + * available ports. + * Setting a particular device type is not a guarantee that libretro cores + * will only poll input based on that particular device type. It is only a + * hint to the libretro core when a core cannot automatically detect the + * appropriate input device type on its own. It is also relevant when a + * core can change its behavior depending on device type. */ +RETRO_API void retro_set_controller_port_device(unsigned port, unsigned device); + +/* Resets the current game. */ +RETRO_API void retro_reset(void); + +/* Runs the game for one video frame. + * During retro_run(), input_poll callback must be called at least once. + * + * If a frame is not rendered for reasons where a game "dropped" a frame, + * this still counts as a frame, and retro_run() should explicitly dupe + * a frame if GET_CAN_DUPE returns true. + * In this case, the video callback can take a NULL argument for data. + */ +RETRO_API void retro_run(void); + +/* Returns the amount of data the implementation requires to serialize + * internal state (save states). + * Between calls to retro_load_game() and retro_unload_game(), the + * returned size is never allowed to be larger than a previous returned + * value, to ensure that the frontend can allocate a save state buffer once. + */ +RETRO_API size_t retro_serialize_size(void); + +/* Serializes internal state. If failed, or size is lower than + * retro_serialize_size(), it should return false, true otherwise. */ +RETRO_API bool retro_serialize(void *data, size_t size); +RETRO_API bool retro_unserialize(const void *data, size_t size); + +RETRO_API void retro_cheat_reset(void); +RETRO_API void retro_cheat_set(unsigned index, bool enabled, const char *code); + +/* Loads a game. */ +RETRO_API bool retro_load_game(const struct retro_game_info *game); + +/* Loads a "special" kind of game. Should not be used, + * except in extreme cases. */ +RETRO_API bool retro_load_game_special( + unsigned game_type, + const struct retro_game_info *info, size_t num_info +); + +/* Unloads a currently loaded game. */ +RETRO_API void retro_unload_game(void); + +/* Gets region of game. */ +RETRO_API unsigned retro_get_region(void); + +/* Gets region of memory. */ +RETRO_API void *retro_get_memory_data(unsigned id); +RETRO_API size_t retro_get_memory_size(unsigned id); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/Libretro/stdafx.cpp b/Libretro/stdafx.cpp new file mode 100644 index 0000000000000000000000000000000000000000..9189f641cba3b8d1c76805e5bc326cf9d46d9059 GIT binary patch literal 592 zcmZ{iPfNo<6vXE&_#J|twRdlVhzFsdJ@lHIglvgPNKUB~#WR-&t4+Lw6F*`ppC zt@VI;8=kYkd|GuQTGt_-8Iy(yGi4`B1-zR9K1a@)+I-qXqE~G|x!0q%DE{VLY*?=e+V}COZ&;QjJGqOCDiE$C7mAT4Qu9ksYmxVwz@=_!-=gg;- zn*nDUx@1)KNHnsbMtaeN+R6SzJI-9@PyN*K(`AOPD!i}dO#93(R3}%NuaxvLSl1m_ z#vzSPl?S+DQI?Y+6$=S@1j$FP1GD?itA;PP5xZ^({kP?+a4Jw^l6 zjzhI~MCNuuy9HtDxITk6*a@pf#fAw8tMyQZdzYS=;mx8kCNkFRcB;wF2)ljdvDnFI z>Et3>+x}yQH3GE-M(7aY3Qor&Debug Win32 + + Libretro + Win32 + + + Libretro + x64 + PGO Optimize Win32 @@ -119,6 +127,13 @@ true Unicode + + StaticLibrary + false + v141 + true + Unicode + StaticLibrary false @@ -146,6 +161,13 @@ true Unicode + + StaticLibrary + false + v141 + true + Unicode + StaticLibrary false @@ -171,6 +193,9 @@ + + + @@ -183,6 +208,9 @@ + + + @@ -194,6 +222,10 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ @@ -218,6 +250,10 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + $(SolutionDir)\bin\$(PlatformTarget)\PGO Profile\ obj\$(Platform)\PGO Profile\ @@ -268,6 +304,24 @@ true + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreaded + + + Windows + true + true + + Level3 @@ -323,6 +377,25 @@ true + + + Level3 + + + MaxSpeed + true + true + NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreaded + CompileAsC + + + Windows + true + true + + Level3 diff --git a/Mesen.sln b/Mesen.sln index af36bdea..3fa0692f 100644 --- a/Mesen.sln +++ b/Mesen.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26228.4 +VisualStudioVersion = 15.0.27004.2010 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Core", "Core\Core.vcxproj", "{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}" ProjectSection(ProjectDependencies) = postProject @@ -55,11 +55,28 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SevenZip", "SevenZip\SevenZ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lua", "Lua\Lua.vcxproj", "{B609E0A0-5050-4871-91D6-E760633BCDD1}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Libretro", "Libretro\Libretro.vcxproj", "{4432139E-528B-44DE-961C-B37CD5E92E0E}" + ProjectSection(ProjectDependencies) = postProject + {B5330148-E8C7-46BA-B54E-69BE59EA337D} = {B5330148-E8C7-46BA-B54E-69BE59EA337D} + {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0} = {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{54D3FF68-C2AE-4D22-BFED-D84191E1D23C}" + ProjectSection(SolutionItems) = preProject + Performance1.psess = Performance1.psess + EndProjectSection +EndProject Global + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Libretro|Any CPU = Libretro|Any CPU + Libretro|x64 = Libretro|x64 + Libretro|x86 = Libretro|x86 PGO Optimize|Any CPU = PGO Optimize|Any CPU PGO Optimize|x64 = PGO Optimize|x64 PGO Optimize|x86 = PGO Optimize|x86 @@ -76,6 +93,11 @@ Global {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Debug|x64.Build.0 = Debug|x64 {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Debug|x86.ActiveCfg = Debug|Win32 {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Debug|x86.Build.0 = Debug|Win32 + {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|Any CPU.ActiveCfg = Libretro|Win32 + {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|x64.ActiveCfg = Libretro|x64 + {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|x64.Build.0 = Libretro|x64 + {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|x86.ActiveCfg = Libretro|Win32 + {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|x86.Build.0 = Libretro|Win32 {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32 {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64 {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Optimize|x64.Build.0 = PGO Optimize|x64 @@ -96,6 +118,11 @@ Global {B5330148-E8C7-46BA-B54E-69BE59EA337D}.Debug|x64.Build.0 = Debug|x64 {B5330148-E8C7-46BA-B54E-69BE59EA337D}.Debug|x86.ActiveCfg = Debug|Win32 {B5330148-E8C7-46BA-B54E-69BE59EA337D}.Debug|x86.Build.0 = Debug|Win32 + {B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|Any CPU.ActiveCfg = Libretro|Win32 + {B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|x64.ActiveCfg = Libretro|x64 + {B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|x64.Build.0 = Libretro|x64 + {B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|x86.ActiveCfg = Libretro|Win32 + {B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|x86.Build.0 = Libretro|Win32 {B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32 {B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64 {B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Optimize|x64.Build.0 = PGO Optimize|x64 @@ -117,6 +144,10 @@ Global {08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Debug|x64.Build.0 = Debug|x64 {08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Debug|x86.ActiveCfg = Debug|x86 {08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Debug|x86.Build.0 = Debug|x86 + {08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Libretro|Any CPU.ActiveCfg = Libretro|Any CPU + {08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Libretro|Any CPU.Build.0 = Libretro|Any CPU + {08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Libretro|x64.ActiveCfg = Libretro|x64 + {08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Libretro|x86.ActiveCfg = Libretro|x86 {08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Any CPU {08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Optimize|Any CPU.Build.0 = PGO Optimize|Any CPU {08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64 @@ -140,6 +171,9 @@ Global {7761E790-B42C-4179-8550-8365FF9EB23E}.Debug|x64.Build.0 = Debug|x64 {7761E790-B42C-4179-8550-8365FF9EB23E}.Debug|x86.ActiveCfg = Debug|Win32 {7761E790-B42C-4179-8550-8365FF9EB23E}.Debug|x86.Build.0 = Debug|Win32 + {7761E790-B42C-4179-8550-8365FF9EB23E}.Libretro|Any CPU.ActiveCfg = Libretro|Win32 + {7761E790-B42C-4179-8550-8365FF9EB23E}.Libretro|x64.ActiveCfg = Libretro|x64 + {7761E790-B42C-4179-8550-8365FF9EB23E}.Libretro|x86.ActiveCfg = Libretro|Win32 {7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32 {7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64 {7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Optimize|x64.Build.0 = PGO Optimize|x64 @@ -160,6 +194,9 @@ Global {37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Debug|x64.Build.0 = Debug|x64 {37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Debug|x86.ActiveCfg = Debug|Win32 {37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Debug|x86.Build.0 = Debug|Win32 + {37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Libretro|Any CPU.ActiveCfg = Libretro|Win32 + {37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Libretro|x64.ActiveCfg = Libretro|x64 + {37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Libretro|x86.ActiveCfg = Libretro|Win32 {37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32 {37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64 {37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Optimize|x64.Build.0 = PGO Optimize|x64 @@ -180,6 +217,9 @@ Global {38D74EE1-5276-4D24-AABC-104B912A27D2}.Debug|x64.Build.0 = Debug|x64 {38D74EE1-5276-4D24-AABC-104B912A27D2}.Debug|x86.ActiveCfg = Debug|Win32 {38D74EE1-5276-4D24-AABC-104B912A27D2}.Debug|x86.Build.0 = Debug|Win32 + {38D74EE1-5276-4D24-AABC-104B912A27D2}.Libretro|Any CPU.ActiveCfg = Libretro|Win32 + {38D74EE1-5276-4D24-AABC-104B912A27D2}.Libretro|x64.ActiveCfg = Libretro|x64 + {38D74EE1-5276-4D24-AABC-104B912A27D2}.Libretro|x86.ActiveCfg = Libretro|Win32 {38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32 {38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64 {38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Optimize|x64.Build.0 = PGO Optimize|x64 @@ -200,6 +240,9 @@ Global {2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Debug|x64.Build.0 = Debug|x64 {2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Debug|x86.ActiveCfg = Debug|Win32 {2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Debug|x86.Build.0 = Debug|Win32 + {2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Libretro|Any CPU.ActiveCfg = Libretro|Win32 + {2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Libretro|x64.ActiveCfg = Libretro|x64 + {2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Libretro|x86.ActiveCfg = Libretro|Win32 {2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32 {2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64 {2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Optimize|x64.Build.0 = PGO Optimize|x64 @@ -221,6 +264,10 @@ Global {AABB5225-3A49-47FF-8A48-031673CADCE9}.Debug|x64.Build.0 = Debug|x64 {AABB5225-3A49-47FF-8A48-031673CADCE9}.Debug|x86.ActiveCfg = Debug|x86 {AABB5225-3A49-47FF-8A48-031673CADCE9}.Debug|x86.Build.0 = Debug|x86 + {AABB5225-3A49-47FF-8A48-031673CADCE9}.Libretro|Any CPU.ActiveCfg = Libretro|Any CPU + {AABB5225-3A49-47FF-8A48-031673CADCE9}.Libretro|Any CPU.Build.0 = Libretro|Any CPU + {AABB5225-3A49-47FF-8A48-031673CADCE9}.Libretro|x64.ActiveCfg = Libretro|x64 + {AABB5225-3A49-47FF-8A48-031673CADCE9}.Libretro|x86.ActiveCfg = Libretro|x86 {AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Any CPU {AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Optimize|Any CPU.Build.0 = PGO Optimize|Any CPU {AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64 @@ -245,6 +292,10 @@ Global {36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Debug|x64.Build.0 = Debug|x64 {36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Debug|x86.ActiveCfg = Debug|x86 {36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Debug|x86.Build.0 = Debug|x86 + {36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Libretro|Any CPU.ActiveCfg = Libretro|Any CPU + {36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Libretro|Any CPU.Build.0 = Libretro|Any CPU + {36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Libretro|x64.ActiveCfg = Libretro|x64 + {36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Libretro|x86.ActiveCfg = Libretro|x86 {36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Any CPU {36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Optimize|Any CPU.Build.0 = PGO Optimize|Any CPU {36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64 @@ -268,6 +319,11 @@ Global {52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Debug|x64.Build.0 = Debug|x64 {52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Debug|x86.ActiveCfg = Debug|Win32 {52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Debug|x86.Build.0 = Debug|Win32 + {52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|Any CPU.ActiveCfg = Libretro|Win32 + {52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|x64.ActiveCfg = Libretro|x64 + {52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|x64.Build.0 = Libretro|x64 + {52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|x86.ActiveCfg = Libretro|Win32 + {52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|x86.Build.0 = Libretro|Win32 {52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32 {52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64 {52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Optimize|x64.Build.0 = PGO Optimize|x64 @@ -288,6 +344,11 @@ Global {B609E0A0-5050-4871-91D6-E760633BCDD1}.Debug|x64.Build.0 = Debug|x64 {B609E0A0-5050-4871-91D6-E760633BCDD1}.Debug|x86.ActiveCfg = Debug|Win32 {B609E0A0-5050-4871-91D6-E760633BCDD1}.Debug|x86.Build.0 = Debug|Win32 + {B609E0A0-5050-4871-91D6-E760633BCDD1}.Libretro|Any CPU.ActiveCfg = Libretro|Win32 + {B609E0A0-5050-4871-91D6-E760633BCDD1}.Libretro|x64.ActiveCfg = Libretro|x64 + {B609E0A0-5050-4871-91D6-E760633BCDD1}.Libretro|x64.Build.0 = Libretro|x64 + {B609E0A0-5050-4871-91D6-E760633BCDD1}.Libretro|x86.ActiveCfg = Libretro|Win32 + {B609E0A0-5050-4871-91D6-E760633BCDD1}.Libretro|x86.Build.0 = Libretro|Win32 {B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32 {B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64 {B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Optimize|x64.Build.0 = PGO Optimize|x64 @@ -303,8 +364,38 @@ Global {B609E0A0-5050-4871-91D6-E760633BCDD1}.Release|x64.Build.0 = Release|x64 {B609E0A0-5050-4871-91D6-E760633BCDD1}.Release|x86.ActiveCfg = Release|Win32 {B609E0A0-5050-4871-91D6-E760633BCDD1}.Release|x86.Build.0 = Release|Win32 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Debug|x64.ActiveCfg = Debug|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Debug|x64.Build.0 = Debug|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Debug|x86.ActiveCfg = Debug|Win32 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Debug|x86.Build.0 = Debug|Win32 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|Any CPU.ActiveCfg = Libretro|Win32 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|x64.ActiveCfg = Libretro|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|x64.Build.0 = Libretro|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|x86.ActiveCfg = Libretro|Win32 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|x86.Build.0 = Libretro|Win32 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|Any CPU.ActiveCfg = Release|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|Any CPU.Build.0 = Release|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|x64.ActiveCfg = Release|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|x64.Build.0 = Release|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|x86.ActiveCfg = Release|Win32 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|x86.Build.0 = Release|Win32 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|Any CPU.ActiveCfg = Release|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|Any CPU.Build.0 = Release|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|x64.ActiveCfg = Release|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|x64.Build.0 = Release|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|x86.ActiveCfg = Release|Win32 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|x86.Build.0 = Release|Win32 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Release|Any CPU.ActiveCfg = Release|Win32 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Release|x64.ActiveCfg = Release|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Release|x64.Build.0 = Release|x64 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Release|x86.ActiveCfg = Release|Win32 + {4432139E-528B-44DE-961C-B37CD5E92E0E}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {26BA923A-ECE6-4040-8BA4-C9B43DE004B4} + EndGlobalSection EndGlobal diff --git a/PGOHelper/PGOHelper.vcxproj b/PGOHelper/PGOHelper.vcxproj index 6a8b6d79..a5070d78 100644 --- a/PGOHelper/PGOHelper.vcxproj +++ b/PGOHelper/PGOHelper.vcxproj @@ -9,6 +9,14 @@ Debug x64 + + Libretro + Win32 + + + Libretro + x64 + PGO Optimize Win32 @@ -60,6 +68,13 @@ true Unicode + + Application + false + v141 + true + Unicode + Application false @@ -81,6 +96,13 @@ true Unicode + + Application + false + v141 + true + Unicode + Application false @@ -107,6 +129,9 @@ + + + @@ -116,6 +141,9 @@ + + + @@ -138,6 +166,11 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + false + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + false $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ @@ -153,6 +186,11 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + false + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + false $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ @@ -220,6 +258,27 @@ true + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + + + true + MultiThreaded + + + Console + true + true + true + + Level3 @@ -281,6 +340,27 @@ true + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + + + true + MultiThreaded + + + Console + true + true + true + + Level3 diff --git a/SevenZip/SevenZip.vcxproj b/SevenZip/SevenZip.vcxproj index 8d57f846..3fc2fb8e 100644 --- a/SevenZip/SevenZip.vcxproj +++ b/SevenZip/SevenZip.vcxproj @@ -5,6 +5,14 @@ Debug Win32 + + Libretro + Win32 + + + Libretro + x64 + PGO Optimize Win32 @@ -95,6 +103,13 @@ true Unicode + + StaticLibrary + false + v141 + true + Unicode + StaticLibrary false @@ -122,6 +137,13 @@ true Unicode + + StaticLibrary + false + v141 + true + Unicode + StaticLibrary false @@ -147,6 +169,9 @@ + + + @@ -159,6 +184,9 @@ + + + @@ -170,6 +198,10 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ @@ -194,6 +226,10 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + $(SolutionDir)\bin\$(PlatformTarget)\PGO Profile\ obj\$(Platform)\PGO Profile\ @@ -244,6 +280,24 @@ true + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreaded + + + Windows + true + true + + Level3 @@ -299,6 +353,25 @@ true + + + Level3 + + + MaxSpeed + true + true + NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreaded + CompileAsC + + + Windows + true + true + + Level3 diff --git a/TestHelper/TestHelper.vcxproj b/TestHelper/TestHelper.vcxproj index 76b183b2..1df95cb3 100644 --- a/TestHelper/TestHelper.vcxproj +++ b/TestHelper/TestHelper.vcxproj @@ -9,6 +9,14 @@ Debug x64 + + Libretro + Win32 + + + Libretro + x64 + PGO Optimize Win32 @@ -60,6 +68,13 @@ true Unicode + + Application + false + v141 + true + Unicode + Application false @@ -81,6 +96,13 @@ true Unicode + + Application + false + v141 + true + Unicode + Application false @@ -107,6 +129,9 @@ + + + @@ -116,6 +141,9 @@ + + + @@ -138,6 +166,11 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + false + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + false $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ @@ -153,6 +186,11 @@ false $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + + obj\$(Platform)\$(Configuration)\ + false + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ false @@ -220,6 +258,27 @@ $(OutDir);%(AdditionalLibraryDirectories) + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + true + MultiThreaded + true + + + Console + true + true + true + $(OutDir);%(AdditionalLibraryDirectories) + + Level3 @@ -283,6 +342,27 @@ $(OutDir);%(AdditionalLibraryDirectories) + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + true + MultiThreaded + true + + + Console + true + true + true + $(OutDir);%(AdditionalLibraryDirectories) + + Level3 diff --git a/UpdateHelper/UpdateHelper.csproj b/UpdateHelper/UpdateHelper.csproj index 38f18b01..77bf9e25 100644 --- a/UpdateHelper/UpdateHelper.csproj +++ b/UpdateHelper/UpdateHelper.csproj @@ -140,6 +140,35 @@ Icon.ico + + bin\Libretro\ + TRACE + true + pdbonly + AnyCPU + prompt + MinimumRecommendedRules.ruleset + + + bin\x64\Libretro\ + TRACE + true + pdbonly + x64 + prompt + MinimumRecommendedRules.ruleset + true + + + bin\x86\Libretro\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + true + diff --git a/Utilities/Utilities.vcxproj b/Utilities/Utilities.vcxproj index d92eae19..cacc92c1 100644 --- a/Utilities/Utilities.vcxproj +++ b/Utilities/Utilities.vcxproj @@ -9,6 +9,14 @@ Debug x64 + + Libretro + Win32 + + + Libretro + x64 + PGO Optimize Win32 @@ -60,6 +68,13 @@ true Unicode + + StaticLibrary + false + v141 + true + Unicode + StaticLibrary false @@ -81,6 +96,13 @@ true Unicode + + StaticLibrary + false + v141 + true + Unicode + StaticLibrary false @@ -107,6 +129,9 @@ + + + @@ -116,6 +141,9 @@ + + + @@ -131,6 +159,10 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ @@ -147,6 +179,10 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ @@ -215,6 +251,27 @@ true + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + + + MultiThreaded + true + + + Windows + true + true + true + + Level3 @@ -278,6 +335,27 @@ true + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + + + MultiThreaded + true + + + Windows + true + true + true + + Level3 @@ -380,40 +458,48 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing @@ -421,30 +507,36 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing @@ -457,30 +549,36 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing @@ -491,9 +589,11 @@ Create Create Create + Create Create Create Create + Create Create Create @@ -506,10 +606,12 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing NotUsing + NotUsing NotUsing diff --git a/Windows/Windows.vcxproj b/Windows/Windows.vcxproj index 7076c78a..dc86dc52 100644 --- a/Windows/Windows.vcxproj +++ b/Windows/Windows.vcxproj @@ -9,6 +9,14 @@ Debug x64 + + Libretro + Win32 + + + Libretro + x64 + PGO Optimize Win32 @@ -60,6 +68,13 @@ true MultiByte + + StaticLibrary + false + v141 + true + MultiByte + StaticLibrary false @@ -81,6 +96,13 @@ true MultiByte + + StaticLibrary + false + v141 + true + MultiByte + StaticLibrary false @@ -107,6 +129,9 @@ + + + @@ -116,6 +141,9 @@ + + + @@ -131,6 +159,10 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ @@ -147,6 +179,10 @@ $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + $(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ @@ -205,6 +241,24 @@ true + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + MultiThreaded + true + + + Windows + true + true + true + + Level3 @@ -259,6 +313,24 @@ true + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + MultiThreaded + true + + + Windows + true + true + true + + Level3 @@ -331,9 +403,11 @@ Create Create Create + Create Create Create Create + Create Create Create