Loader improved, ModuleManager refactored

This commit is contained in:
Nekotekina 2015-02-18 19:22:06 +03:00
parent 1f2eafc4f2
commit af986d8f4c
72 changed files with 3684 additions and 3839 deletions

View file

@ -2,7 +2,7 @@
#include "Emu/Memory/Memory.h"
#include "Emu/SysCalls/Modules.h"
Module *cellOvis = nullptr;
extern Module cellOvis;
// Return Codes
enum
@ -14,7 +14,7 @@ enum
int cellOvisGetOverlayTableSize(vm::ptr<const char> elf)
{
cellOvis->Todo("cellOvisGetOverlayTableSize(elf_addr=0x%x)", elf.addr());
cellOvis.Todo("cellOvisGetOverlayTableSize(elf_addr=0x%x)", elf.addr());
return CELL_OK;
}
@ -36,12 +36,10 @@ int cellOvisInvalidateOverlappedSegments()
return CELL_OK;
}
void cellOvis_init(Module *pxThis)
Module cellOvis("cellOvis", []()
{
cellOvis = pxThis;
cellOvis->AddFunc(0x82f294b2, cellOvisGetOverlayTableSize);
cellOvis->AddFunc(0xa876c911, cellOvisInitializeOverlayTable);
cellOvis->AddFunc(0xce6cb776, cellOvisFixSpuSegments);
cellOvis->AddFunc(0x629ba0c0, cellOvisInvalidateOverlappedSegments);
}
cellOvis.AddFunc(0x82f294b2, cellOvisGetOverlayTableSize);
cellOvis.AddFunc(0xa876c911, cellOvisInitializeOverlayTable);
cellOvis.AddFunc(0xce6cb776, cellOvisFixSpuSegments);
cellOvis.AddFunc(0x629ba0c0, cellOvisInvalidateOverlappedSegments);
});