Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
JUTException Class Reference

#include <JUTException.h>

+ Inheritance diagram for JUTException:
+ Collaboration diagram for JUTException:

Classes

class  JUTExMapFile
 

Public Types

enum  EInfoPage {
  EINFO_PAGE_GPR = 1 , EINFO_PAGE_FLOAT = 2 , EINFO_PAGE_STACK = 3 , EINFO_PAGE_GPR_MAP = 4 ,
  EINFO_PAGE_SSR0_MAP = 5
}
 

Public Member Functions

 JUTException (JUTDirectPrint *)
 
virtual ~JUTException ()
 
void showFloatSub (int, f32)
 
void showFloat (OSContext *)
 
void showStack (OSContext *)
 
void showMainInfo (u16, OSContext *, u32, u32)
 
void showGPR (OSContext *)
 
bool showMapInfo_subroutine (u32, bool)
 
void showGPRMap (OSContext *)
 
void showSRR0Map (OSContext *)
 
void printDebugInfo (JUTException::EInfoPage, OSError, OSContext *, u32, u32)
 
bool isEnablePad () const
 
bool readPad (u32 *, u32 *)
 
void printContext (u16, OSContext *, u32, u32)
 
void createFB ()
 
virtual void * run ()
 
JUTExternalFBgetFrameMemory () const
 
void setTraceSuppress (u32 param_0)
 
void setGamePad (JUTGamePad *gamePad)
 
- Public Member Functions inherited from JKRThread
 JKRThread (u32 stack_size, int message_count, int param_3)
 
 JKRThread (JKRHeap *heap, u32 stack_size, int message_count, int param_4)
 
 JKRThread (OSThread *thread, int message_count)
 
virtual ~JKRThread ()
 
void setCommon_mesgQueue (JKRHeap *heap, int message_count)
 
void setCommon_heapSpecified (JKRHeap *heap, u32 stack_size, int param_3)
 
OSThreadgetThreadRecord () const
 
void * getStack () const
 
TLoadgetLoadInfo ()
 
JKRHeapgetCurrentHeap () const
 
s32 getCurrentHeapError () const
 
void setCurrentHeap (JKRHeap *heap)
 

Static Public Member Functions

static JUTExceptioncreate (JUTDirectPrint *)
 
static void errorHandler (OSError, OSContext *, u32, u32)
 
static void panic_f_va (char const *, int, char const *, va_list)
 
static void panic_f (char const *, int, char const *,...)
 
static void setFPException (u32)
 
static bool searchPartialModule (u32, u32 *, u32 *, u32 *, u32 *)
 
static JUTExceptionUserCallback setPreUserCallback (JUTExceptionUserCallback)
 
static JUTExceptionUserCallback setPostUserCallback (JUTExceptionUserCallback)
 
static void appendMapFile (char const *)
 
static bool queryMapAddress (char *, u32, s32, u32 *, u32 *, char *, u32, bool, bool)
 
static bool queryMapAddress_single (char *, u32, s32, u32 *, u32 *, char *, u32, bool, bool)
 
static void createConsole (void *, u32)
 
static void waitTime (s32)
 
static JUTExceptiongetManager ()
 
static JUTConsolegetConsole ()
 
static void setMapFile (const char *map)
 
static void panic (const char *file, int line, const char *msg)
 
- Static Public Member Functions inherited from JKRThread
static void * start (void *param_1)
 
static JKRThreadsearchThread (OSThread *thread)
 
static JSUList< JKRThread > & getList ()
 

Private Attributes

JUTExternalFBmFrameMemory
 
JUTDirectPrintmDirectPrint
 
JUTGamePadmGamePad
 
JUTGamePad::EPadPort mGamePadPort
 
s32 mPrintWaitTime0
 
s32 mPrintWaitTime1
 
u32 mTraceSuppress
 
u32 field_0x98
 
u32 mPrintFlags
 
u32 mStackPointer
 

Static Private Attributes

static OSMessageQueue sMessageQueue = {0}
 
static const char * sCpuExpName [17]
 
static JSUList< JUTException::JUTExMapFilesMapFileList
 
static OSMessage sMessageBuffer [1] = {0}
 
static JUTExceptionsErrorManager
 
static JUTExceptionUserCallback sPreUserCallback
 
static JUTExceptionUserCallback sPostUserCallback
 
static void * sConsoleBuffer
 
static u32 sConsoleBufferSize
 
static JUTConsolesConsole
 
static u32 msr
 
static u32 fpscr
 

Additional Inherited Members

- Static Public Attributes inherited from JKRThread
static JSUList< JKRThreadsThreadList
 
- Protected Member Functions inherited from JKRThread
void resume ()
 
BOOL sendMessage (OSMessage message)
 
void sendMessageBlock (OSMessage message)
 
OSMessage waitMessage ()
 
OSMessage waitMessage (BOOL *received)
 
OSMessage waitMessageBlock ()
 
void jamMessageBlock (OSMessage message)
 

Member Enumeration Documentation

◆ EInfoPage

Enumerator
EINFO_PAGE_GPR 
EINFO_PAGE_FLOAT 
EINFO_PAGE_STACK 
EINFO_PAGE_GPR_MAP 
EINFO_PAGE_SSR0_MAP 

Constructor & Destructor Documentation

◆ JUTException()

JUTException::JUTException ( JUTDirectPrint * directPrint)

◆ ~JUTException()

JUTException::~JUTException ( )
virtual

Member Function Documentation

◆ appendMapFile()

void JUTException::appendMapFile ( char const * path)
static

◆ create()

JUTException * JUTException::create ( JUTDirectPrint * directPrint)
static

◆ createConsole()

void JUTException::createConsole ( void * console_buffer,
u32 console_buffer_size )
static

◆ createFB()

void JUTException::createFB ( )

◆ errorHandler()

void JUTException::errorHandler ( OSError error,
OSContext * context,
u32 param_3,
u32 param_4 )
static

◆ getConsole()

static JUTConsole * JUTException::getConsole ( )
inlinestatic

◆ getFrameMemory()

JUTExternalFB * JUTException::getFrameMemory ( ) const
inline

◆ getManager()

static JUTException * JUTException::getManager ( )
inlinestatic

◆ isEnablePad()

bool JUTException::isEnablePad ( ) const

◆ panic()

static void JUTException::panic ( const char * file,
int line,
const char * msg )
inlinestatic

◆ panic_f()

void JUTException::panic_f ( char const * file,
int line,
char const * format,
... )
static

◆ panic_f_va()

void JUTException::panic_f_va ( char const * file,
int line,
char const * format,
va_list args )
static

◆ printContext()

void JUTException::printContext ( u16 error,
OSContext * context,
u32 dsisr,
u32 dar )

◆ printDebugInfo()

void JUTException::printDebugInfo ( JUTException::EInfoPage page,
OSError error,
OSContext * context,
u32 param_3,
u32 param_4 )

◆ queryMapAddress()

bool JUTException::queryMapAddress ( char * mapPath,
u32 address,
s32 section_id,
u32 * out_addr,
u32 * out_size,
char * out_line,
u32 line_length,
bool print,
bool begin_with_newline )
static

◆ queryMapAddress_single()

bool JUTException::queryMapAddress_single ( char * mapPath,
u32 address,
s32 section_id,
u32 * out_addr,
u32 * out_size,
char * out_line,
u32 line_length,
bool print,
bool begin_with_newline )
static

◆ readPad()

bool JUTException::readPad ( u32 * out_trigger,
u32 * out_button )

◆ run()

void * JUTException::run ( void )
virtual

Reimplemented from JKRThread.

◆ searchPartialModule()

bool JUTException::searchPartialModule ( u32 address,
u32 * module_id,
u32 * section_id,
u32 * section_offset,
u32 * name_offset )
static

◆ setFPException()

void JUTException::setFPException ( u32 fpscr_enable_bits)
static

◆ setGamePad()

void JUTException::setGamePad ( JUTGamePad * gamePad)
inline

◆ setMapFile()

static void JUTException::setMapFile ( const char * map)
inlinestatic

◆ setPostUserCallback()

JUTExceptionUserCallback JUTException::setPostUserCallback ( JUTExceptionUserCallback callback)
static

◆ setPreUserCallback()

JUTExceptionUserCallback JUTException::setPreUserCallback ( JUTExceptionUserCallback callback)
static

◆ setTraceSuppress()

void JUTException::setTraceSuppress ( u32 param_0)
inline

◆ showFloat()

void JUTException::showFloat ( OSContext * context)

◆ showFloatSub()

void JUTException::showFloatSub ( int index,
f32 value )

◆ showGPR()

void JUTException::showGPR ( OSContext * context)

◆ showGPRMap()

void JUTException::showGPRMap ( OSContext * context)

◆ showMainInfo()

void JUTException::showMainInfo ( u16 error,
OSContext * context,
u32 dsisr,
u32 dar )

◆ showMapInfo_subroutine()

bool JUTException::showMapInfo_subroutine ( u32 address,
bool begin_with_newline )

◆ showSRR0Map()

void JUTException::showSRR0Map ( OSContext * context)

◆ showStack()

void JUTException::showStack ( OSContext * context)

◆ waitTime()

void JUTException::waitTime ( s32 timeout_ms)
static

Member Data Documentation

◆ field_0x98

u32 JUTException::field_0x98
private

◆ fpscr

u32 JUTException::fpscr
staticprivate

◆ mDirectPrint

JUTDirectPrint* JUTException::mDirectPrint
private

◆ mFrameMemory

JUTExternalFB* JUTException::mFrameMemory
private

◆ mGamePad

JUTGamePad* JUTException::mGamePad
private

◆ mGamePadPort

JUTGamePad::EPadPort JUTException::mGamePadPort
private

◆ mPrintFlags

u32 JUTException::mPrintFlags
private

◆ mPrintWaitTime0

s32 JUTException::mPrintWaitTime0
private

◆ mPrintWaitTime1

s32 JUTException::mPrintWaitTime1
private

◆ msr

u32 JUTException::msr
staticprivate

◆ mStackPointer

u32 JUTException::mStackPointer
private

◆ mTraceSuppress

u32 JUTException::mTraceSuppress
private

◆ sConsole

JUTConsole * JUTException::sConsole
staticprivate

◆ sConsoleBuffer

void * JUTException::sConsoleBuffer
staticprivate

◆ sConsoleBufferSize

u32 JUTException::sConsoleBufferSize
staticprivate

◆ sCpuExpName

const char * JUTException::sCpuExpName
staticprivate
Initial value:
= {
"SYSTEM RESET",
"MACHINE CHECK",
"DSI",
"ISI",
"EXTERNAL INTERRUPT",
"ALIGNMENT",
"PROGRAM",
"FLOATING POINT",
"DECREMENTER",
"SYSTEM CALL",
"TRACE",
"PERFORMACE MONITOR",
"BREAK POINT",
"SYSTEM INTERRUPT",
"THERMAL INTERRUPT",
"PROTECTION",
"FLOATING POINT",
}

◆ sErrorManager

JUTException * JUTException::sErrorManager
staticprivate

◆ sMapFileList

JSUList< JUTException::JUTExMapFile > JUTException::sMapFileList
staticprivate

◆ sMessageBuffer

OSMessage JUTException::sMessageBuffer = {0}
staticprivate

◆ sMessageQueue

OSMessageQueue JUTException::sMessageQueue = {0}
staticprivate

◆ sPostUserCallback

JUTExceptionUserCallback JUTException::sPostUserCallback
staticprivate

◆ sPreUserCallback

JUTExceptionUserCallback JUTException::sPreUserCallback
staticprivate

The documentation for this class was generated from the following files: