JUTException (#154)

* JUTException inherit JKRThread

* OK __ct__12JUTExceptionFP14JUTDirectPrint

* OK create__12JUTExceptionFP14JUTDirectPrint

* OK setFPException__12JUTExceptionFUl

* OK showFloatSub__12JUTExceptionFif

* OK showFloat__12JUTExceptionFP9OSContext

* OK searchPartialModule__12JUTExceptionFUlPUlPUlPUlPUl

* OK search_name_part__FPUcPUci

* OK showStack__12JUTExceptionFP9OSContext

* OK showMainInfo__12JUTExceptionFUsP9OSContextUlUl

* OK showGPR__12JUTExceptionFP9OSContext

* OK __sinit_JUTException_cpp

* OK showMapInfo_subroutine__12JUTExceptionFUlb

* OK showGPRMap__12JUTExceptionFP9OSContext

* OK showSRR0Map__12JUTExceptionFP9OSContext

* OK printDebugInfo__12JUTExceptionFQ212JUTException9EInfoPageUsP9OSContextUlUl

* OK isEnablePad__12JUTExceptionCFv

* OK readPad__12JUTExceptionFPUlPUl

* NONMATCHING printContext__12JUTExceptionFUsP9OSContextUlUl

* OK printContext__12JUTExceptionFUsP9OSContextUlUl

* OK __dt__12JUTExceptionFv

* OK waitTime__12JUTExceptionFl

* OK createFB__12JUTExceptionFv

* OK setPreUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v

* OK __ct__13JUTExternalFBFP16_GXRenderModeObj8_GXGammaPvUl

* OK createConsole__12JUTExceptionFPvUl

* NONMATCHING queryMapAddress_single__12JUTExceptionFPcUllPUlPUlPcUlbb

* OK queryMapAddress__12JUTExceptionFPcUllPUlPUlPcUlbb

* OK appendMapFile__12JUTExceptionFPCc

* clean up

* OK panic_f__12JUTExceptionFPCciPCce

* OK panic_f_va__12JUTExceptionFPCciPCcP16__va_list_struct

* OK errorHandler__12JUTExceptionFUsP9OSContextUlUl

* format

* format

* fixed requested changes

* merged with master and removed *.s files

Co-authored-by: Julgodis <>
This commit is contained in:
Jonathan Wase
2021-11-09 23:09:38 +01:00
committed by GitHub
co-authored by Julgodis <>
parent 5020395dfd
commit 901b222eb8
59 changed files with 1201 additions and 3141 deletions
+9
View File
@@ -5,6 +5,7 @@
#include "dolphin/mtx/mtx.h"
#include "dolphin/mtx/mtx44.h"
#include "dolphin/types.h"
#include "global.h"
typedef struct _GXColor {
/* 0x0 */ u8 r;
@@ -36,6 +37,8 @@ typedef struct _GXRenderModeObj {
u8 vfilter[7];
} GXRenderModeObj;
STATIC_ASSERT(sizeof(_GXRenderModeObj) == 60);
typedef struct _GXTexObj {
/* 0x00 */ u32 texture_filter;
/* 0x04 */ u32 texture_lod;
@@ -410,6 +413,12 @@ typedef enum _GXTexFmt {
/* 0x20 */ _GX_TF_CTF = 0x20
} GXTexFmt;
typedef enum _GXGamma {
/* 0x0 */ GX_GM_1_0,
/* 0x0 */ GX_GM_1_7,
/* 0x0 */ GX_GM_2_2,
} GXGamma;
typedef enum _GXTlutFmt {
/* 0x0 */ GX_TL_IA8,
/* 0x1 */ GX_TL_RGB565,
+8
View File
@@ -7,6 +7,14 @@
#include "Runtime.PPCEABI.H/__va_arg.h"
#include "dolphin/types.h"
#include "Runtime.PPCEABI.H/__va_arg.h"
#include "dolphin/os/OSError.h"
#include "dolphin/os/OSLink.h"
#define OS_BUS_CLOCK (*(u32*)0x800000F8)
#define OS_CORE_CLOCK (*(u32*)0x800000FC)
#define OS_TIMER_CLOCK (OS_BUS_CLOCK / 4)
/* TODO: more structs, and get rid of the ones that are faked! */
#define OS_MESSAGE_NON_BLOCKING 0
+27
View File
@@ -3,4 +3,31 @@
#include "dolphin/types.h"
struct OSContext;
extern u32 __OSFpscrEnableBits;
typedef u16 OSError;
typedef void (*OSErrorHandler)(OSError, OSContext*, u32, u32);
#define OS_ERROR_SYSTEM_RESET 0x0
#define OS_ERROR_MACHINE_CHECK 0x1
#define OS_ERROR_DSI 0x2
#define OS_ERROR_ISI 0x3
#define OS_ERROR_INTERRUPT 0x4
#define OS_ERROR_ALIGNMENT 0x5
#define OS_ERROR_PROGRAM 0x6
#define OS_ERROR_FLOATING_POINT 0x7
#define OS_ERROR_DECREMENTER 0x8
#define OS_ERROR_SYSTEM_CALL 0x9
#define OS_ERROR_TRACE 0xa
#define OS_ERROR_PERFORMANCE_MONITOR 0xb
#define OS_ERROR_BREAKPOINT 0xc
#define OS_ERROR_RESERVED 0xd
#define OS_ERROR_THERMAL_INTERRUPT 0xe
#define OS_ERROR_MEMORY_PROTECTION 0xf
#define OS_ERROR_FLOATING_POINT_EXCEPTION 0x10
extern "C" void OSSetErrorHandler(OSError, OSErrorHandler);
#endif /* OSERROR_H */
+30
View File
@@ -3,4 +3,34 @@
#include "dolphin/types.h"
struct OSModuleInfo {
u32 id;
OSModuleInfo* next;
OSModuleInfo* prev;
u32 num_sections;
u32 section_info_offset;
u32 name_offset;
u32 name_size;
u32 version;
u32 bss_size;
u32 rel_offset;
u32 imp_offset;
u32 imp_size;
u8 prolog_section;
u8 epilog_section;
u8 unresolved_section;
u8 bss_section;
u32 prolog;
u32 epilog;
u32 unresolved;
u32 align;
u32 bss_align;
u32 fix_size;
};
struct OSSectionInfo {
u32 offset;
u32 size;
};
#endif /* OSLINK_H */