mirror of
https://github.com/izzy2lost/WeeU.git
synced 2026-07-06 00:19:59 -07:00
Add all the files
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user