mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-04 14:01:17 +12:00
Add all the files
This commit is contained in:
parent
e3db07a16a
commit
d60742f52b
1445 changed files with 430238 additions and 0 deletions
50
src/mainLLE.cpp
Normal file
50
src/mainLLE.cpp
Normal file
|
@ -0,0 +1,50 @@
|
|||
#include "gui/wxgui.h"
|
||||
#include "util/crypto/aes128.h"
|
||||
#include "gui/MainWindow.h"
|
||||
#include "gui/guiWrapper.h"
|
||||
#include "Common/filestream.h"
|
||||
|
||||
void mainEmulatorCommonInit();
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/* +0x000 */ uint32be magic;
|
||||
}ppcAncastHeader_t;
|
||||
|
||||
void loadEncryptedPPCAncastKernel()
|
||||
{
|
||||
auto kernelData = FileStream::LoadIntoMemory("kernel.img");
|
||||
if (!kernelData)
|
||||
exit(-1);
|
||||
// check header
|
||||
ppcAncastHeader_t* ancastHeader = (ppcAncastHeader_t*)kernelData->data();
|
||||
if(ancastHeader->magic != (uint32be)0xEFA282D9)
|
||||
assert_dbg(); // invalid magic
|
||||
memcpy(memory_getPointerFromPhysicalOffset(0x08000000), kernelData->data(), kernelData->size());
|
||||
}
|
||||
|
||||
void loadPPCBootrom()
|
||||
{
|
||||
auto bootromData = FileStream::LoadIntoMemory("bootrom.bin");
|
||||
if (!bootromData)
|
||||
exit(-1);
|
||||
memcpy(memory_getPointerFromPhysicalOffset(0x00000000), bootromData->data(), bootromData->size());
|
||||
}
|
||||
|
||||
void mainEmulatorLLE()
|
||||
{
|
||||
mainEmulatorCommonInit();
|
||||
// memory init
|
||||
memory_initPhysicalLayout();
|
||||
|
||||
// start GUI thread
|
||||
gui_create();
|
||||
// load kernel ancast image
|
||||
loadPPCBootrom();
|
||||
loadEncryptedPPCAncastKernel();
|
||||
|
||||
PPCTimer_waitForInit();
|
||||
// begin execution
|
||||
PPCCoreLLE_startSingleCoreScheduler(0x00000100);
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue