CCdvdfsv::CCdvdfsv(CSifMan& sif, CCdvdman& cdvdman, uint8* iopRam) : m_cdvdman(cdvdman) , m_iopRam(iopRam) { m_module592 = CSifModuleAdapter(std::bind(&CCdvdfsv::Invoke592, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4, std::placeholders::_5, std::placeholders::_6)); m_module593 = CSifModuleAdapter(std::bind(&CCdvdfsv::Invoke593, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4, std::placeholders::_5, std::placeholders::_6)); m_module595 = CSifModuleAdapter(std::bind(&CCdvdfsv::Invoke595, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4, std::placeholders::_5, std::placeholders::_6)); m_module596 = CSifModuleAdapter(std::bind(&CCdvdfsv::Invoke596, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4, std::placeholders::_5, std::placeholders::_6)); m_module597 = CSifModuleAdapter(std::bind(&CCdvdfsv::Invoke597, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4, std::placeholders::_5, std::placeholders::_6)); m_module59A = CSifModuleAdapter(std::bind(&CCdvdfsv::Invoke59A, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4, std::placeholders::_5, std::placeholders::_6)); m_module59C = CSifModuleAdapter(std::bind(&CCdvdfsv::Invoke59C, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4, std::placeholders::_5, std::placeholders::_6)); sif.RegisterModule(MODULE_ID_1, &m_module592); sif.RegisterModule(MODULE_ID_2, &m_module593); sif.RegisterModule(MODULE_ID_4, &m_module595); sif.RegisterModule(MODULE_ID_5, &m_module596); sif.RegisterModule(MODULE_ID_6, &m_module597); sif.RegisterModule(MODULE_ID_7, &m_module59A); sif.RegisterModule(MODULE_ID_8, &m_module59C); }
CSifCmd::CSifCmd(CIopBios& bios, CSifMan& sifMan, CSysmem& sysMem, uint8* ram) : m_bios(bios) , m_sifMan(sifMan) , m_sysMem(sysMem) , m_ram(ram) { m_moduleDataAddr = m_sysMem.AllocateMemory(sizeof(MODULEDATA), 0, 0); memset(m_ram + m_moduleDataAddr, 0, sizeof(MODULEDATA)); m_trampolineAddr = m_moduleDataAddr + offsetof(MODULEDATA, trampoline); m_sendCmdExtraStructAddr = m_moduleDataAddr + offsetof(MODULEDATA, sendCmdExtraStruct); m_sysCmdBufferAddr = m_moduleDataAddr + offsetof(MODULEDATA, sysCmdBuffer); sifMan.SetModuleResetHandler([&](const std::string& path) { bios.ProcessModuleReset(path); }); sifMan.SetCustomCommandHandler([&](uint32 commandHeaderAddr) { ProcessCustomCommand(commandHeaderAddr); }); BuildExportTable(); }
CSysmem::CSysmem(uint8* ram, uint32 memoryBegin, uint32 memoryEnd, BlockListType& blocks, CStdio& stdio, CIoman& ioman, CSifMan& sifMan) : m_iopRam(ram) , m_memoryBegin(memoryBegin) , m_memoryEnd(memoryEnd) , m_stdio(stdio) , m_ioman(ioman) , m_memorySize(memoryEnd - memoryBegin) , m_blocks(blocks) { //Initialize block map m_headBlockId = m_blocks.Allocate(); auto block = m_blocks[m_headBlockId]; block->address = m_memorySize; block->size = 0; block->nextBlockId = BlockListType::INVALID_ID; //Register sif module sifMan.RegisterModule(MODULE_ID, this); }
CMcServ::CMcServ(CSifMan& sif) { sif.RegisterModule(MODULE_ID, this); }
CLoadcore::CLoadcore(CIopBios& bios, uint8* ram, CSifMan& sifMan) : m_bios(bios) , m_ram(ram) { sifMan.RegisterModule(MODULE_ID, this); }
CMcServ::CMcServ(CSifMan& sif) : m_nNextHandle(1) { sif.RegisterModule(MODULE_ID, this); }