Copy JKernel (#126)

* start JSystem

* JKRAram and JUTGamePad

* started heap and thread

* more JKernel

* mostly finished JKernel

* delete unused asm

* JKRFileFinder

* delete unused asm and match findNextFile

* format

* fix mtx_vec
This commit is contained in:
lepelog
2021-05-03 02:03:24 +02:00
committed by GitHub
parent 3b7364d481
commit 8fd9f2ab5d
360 changed files with 6646 additions and 12699 deletions
-78
View File
@@ -11,14 +11,6 @@
// Types:
//
struct __va_list_struct {};
struct _GXRenderModeObj {};
struct _GXGamma {};
struct OSContext {};
struct JUTGamePad {
struct EPadPort {};
@@ -28,61 +20,6 @@ struct JUTGamePad {
/* 802E0C6C */ void checkResetCallback(s64);
};
struct JUTExternalFB {
/* 802E40CC */ JUTExternalFB(_GXRenderModeObj*, _GXGamma, void*, u32);
};
struct JUTDirectPrint {
/* 802E456C */ void changeFrameBuffer(void*, u16, u16);
};
struct JUTException {
struct EInfoPage {};
/* 802E1D5C */ JUTException(JUTDirectPrint*);
/* 802E1E40 */ void create(JUTDirectPrint*);
/* 802E1EA8 */ void run();
/* 802E1FCC */ void errorHandler(u16, OSContext*, u32, u32);
/* 802E20C0 */ void panic_f_va(char const*, int, char const*, __va_list_struct*);
/* 802E21FC */ void panic_f(char const*, int, char const*, ...);
/* 802E227C */ void setFPException(u32);
/* 802E22C4 */ void showFloatSub(int, f32);
/* 802E2454 */ void showFloat(OSContext*);
/* 802E2578 */ void searchPartialModule(u32, u32*, u32*, u32*, u32*);
/* 802E26B0 */ void showStack(OSContext*);
/* 802E27B0 */ void showMainInfo(u16, OSContext*, u32, u32);
/* 802E2A84 */ void showGPR(OSContext*);
/* 802E2B44 */ void showMapInfo_subroutine(u32, bool);
/* 802E2CA0 */ void showGPRMap(OSContext*);
/* 802E2DAC */ void showSRR0Map(OSContext*);
/* 802E2E70 */ void printDebugInfo(JUTException::EInfoPage, u16, OSContext*, u32, u32);
/* 802E2F18 */ void isEnablePad() const;
/* 802E2F54 */ void readPad(u32*, u32*);
/* 802E34C0 */ void printContext(u16, OSContext*, u32, u32);
/* 802E3980 */ void waitTime(s32);
/* 802E3A08 */ void createFB();
/* 802E3AEC */ void setPreUserCallback(void (*)(u16, OSContext*, u32, u32));
/* 802E3AFC */ void setPostUserCallback(void (*)(u16, OSContext*, u32, u32));
/* 802E3B0C */ void appendMapFile(char const*);
/* 802E3BA0 */ void queryMapAddress(char*, u32, s32, u32*, u32*, char*, u32, bool, bool);
/* 802E3C90 */ void queryMapAddress_single(char*, u32, s32, u32*, u32*, char*, u32, bool, bool);
/* 802E3FEC */ void createConsole(void*, u32);
/* 802E40EC */ ~JUTException();
static u8 sMessageQueue[32];
static void* sCpuExpName[17];
static u8 sMapFileList[12 + 4 /* padding */];
static u8 sMessageBuffer[4 + 4 /* padding */];
static u8 sErrorManager[4];
static u8 sPreUserCallback[4];
static u8 sPostUserCallback[4];
static u8 sConsoleBuffer[4];
static u8 sConsoleBufferSize[4];
static u8 sConsole[4];
static u8 msr[4];
static u8 fpscr[4];
};
struct JUTDirectFile {
/* 802E87F8 */ JUTDirectFile();
/* 802E881C */ ~JUTDirectFile();
@@ -191,8 +128,6 @@ extern "C" u8 fpscr__12JUTException[4];
//
SECTION_INIT void memcpy();
extern "C" void OSReport();
extern "C" void OSPanic();
extern "C" void* __nw__FUl();
extern "C" void* __nw__FUlP7JKRHeapi();
extern "C" void __dl__FPv();
@@ -223,24 +158,11 @@ extern "C" void fclose__13JUTDirectFileFv();
extern "C" void fgets__13JUTDirectFileFPvi();
extern "C" void PPCMfmsr();
extern "C" void PPCMtmsr();
extern "C" void OSGetArenaHi();
extern "C" void OSGetCurrentContext();
extern "C" void OSGetStackPointer();
extern "C" void OSFillFPUContext();
extern "C" void OSSetErrorHandler();
extern "C" void OSDisableInterrupts();
extern "C" void OSEnableInterrupts();
extern "C" void OSRestoreInterrupts();
extern "C" void OSInitMessageQueue();
extern "C" void OSSendMessage();
extern "C" void OSReceiveMessage();
extern "C" void OSProtectRange();
extern "C" void OSGetCurrentThread();
extern "C" void OSEnableScheduler();
extern "C" void OSYieldThread();
extern "C" void OSResumeThread();
extern "C" void OSSuspendThread();
extern "C" void OSGetTime();
extern "C" void VISetPreRetraceCallback();
extern "C" void VISetPostRetraceCallback();
extern "C" void VIConfigure();