Combine InitMMIO and InitMMIOWii

This commit is contained in:
Minty-Meeo 2022-03-29 01:16:41 -05:00
parent 0204b119e9
commit fbc9bf2342
1 changed files with 21 additions and 31 deletions

View File

@ -127,35 +127,28 @@ u32 GetExRamMask()
// MMIO mapping object. // MMIO mapping object.
std::unique_ptr<MMIO::Mapping> mmio_mapping; std::unique_ptr<MMIO::Mapping> mmio_mapping;
static std::unique_ptr<MMIO::Mapping> InitMMIO() static void InitMMIO(bool is_wii)
{ {
auto mmio = std::make_unique<MMIO::Mapping>(); mmio_mapping = std::make_unique<MMIO::Mapping>();
CommandProcessor::RegisterMMIO(mmio.get(), 0x0C000000); CommandProcessor::RegisterMMIO(mmio_mapping.get(), 0x0C000000);
PixelEngine::RegisterMMIO(mmio.get(), 0x0C001000); PixelEngine::RegisterMMIO(mmio_mapping.get(), 0x0C001000);
VideoInterface::RegisterMMIO(mmio.get(), 0x0C002000); VideoInterface::RegisterMMIO(mmio_mapping.get(), 0x0C002000);
ProcessorInterface::RegisterMMIO(mmio.get(), 0x0C003000); ProcessorInterface::RegisterMMIO(mmio_mapping.get(), 0x0C003000);
MemoryInterface::RegisterMMIO(mmio.get(), 0x0C004000); MemoryInterface::RegisterMMIO(mmio_mapping.get(), 0x0C004000);
DSP::RegisterMMIO(mmio.get(), 0x0C005000); DSP::RegisterMMIO(mmio_mapping.get(), 0x0C005000);
DVDInterface::RegisterMMIO(mmio.get(), 0x0C006000); DVDInterface::RegisterMMIO(mmio_mapping.get(), 0x0C006000);
SerialInterface::RegisterMMIO(mmio.get(), 0x0C006400); SerialInterface::RegisterMMIO(mmio_mapping.get(), 0x0C006400);
ExpansionInterface::RegisterMMIO(mmio.get(), 0x0C006800); ExpansionInterface::RegisterMMIO(mmio_mapping.get(), 0x0C006800);
AudioInterface::RegisterMMIO(mmio.get(), 0x0C006C00); AudioInterface::RegisterMMIO(mmio_mapping.get(), 0x0C006C00);
if (is_wii)
return mmio; {
} IOS::RegisterMMIO(mmio_mapping.get(), 0x0D000000);
DVDInterface::RegisterMMIO(mmio_mapping.get(), 0x0D006000);
static std::unique_ptr<MMIO::Mapping> InitMMIOWii() SerialInterface::RegisterMMIO(mmio_mapping.get(), 0x0D006400);
{ ExpansionInterface::RegisterMMIO(mmio_mapping.get(), 0x0D006800);
auto mmio = InitMMIO(); AudioInterface::RegisterMMIO(mmio_mapping.get(), 0x0D006C00);
}
IOS::RegisterMMIO(mmio.get(), 0x0D000000);
DVDInterface::RegisterMMIO(mmio.get(), 0x0D006000);
SerialInterface::RegisterMMIO(mmio.get(), 0x0D006400);
ExpansionInterface::RegisterMMIO(mmio.get(), 0x0D006800);
AudioInterface::RegisterMMIO(mmio.get(), 0x0D006C00);
return mmio;
} }
bool IsInitialized() bool IsInitialized()
@ -302,10 +295,7 @@ void Init()
} }
} }
if (wii) InitMMIO(wii);
mmio_mapping = InitMMIOWii();
else
mmio_mapping = InitMMIO();
Clear(); Clear();