Mario Kart 64
Loading...
Searching...
No Matches
crash_screen_enhancement.c File Reference
#include <ultra64.h>
#include <macros.h>
#include <mk64.h>
#include <stdarg.h>
#include <string.h>
#include "../crash_screen.h"
#include "crash_screen_enhancement.h"
Include dependency graph for crash_screen_enhancement.c:

Functions

s32 _Printf (char *(*prout)(char *, const char *, size_t), char *dst, const char *fmt, va_list args)
 
void crash_screen_draw_glyph_enhancement (s32 x, s32 y, s32 glyph)
 
void crash_screen_draw_rect (s32 x, s32 y, s32 w, s32 h)
 
static char * write_to_buf (char *buffer, const char *data, size_t size)
 
void crash_screen_print (s32 x, s32 y, const char *fmt,...)
 
void crash_screen_sleep (s32 ms)
 
void crash_screen_print_float_reg (s32 x, s32 y, s32 regNum, void *addr)
 
void crash_screen_print_fpcsr (u32 fpcsr)
 
void crash_screen_draw (OSThread *thread)
 

Variables

u32 crashScreenFont2 [7 *9+1]
 
u64 osClockRate
 
u8 gCrashScreenCharToGlyph [128]
 
char * gCauseDesc [18]
 
char * gFpcsrDesc [6]
 

Function Documentation

◆ _Printf()

s32 _Printf ( char *(* prout )(char *, const char *, size_t),
char * dst,
const char * fmt,
va_list args )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ crash_screen_draw()

void crash_screen_draw ( OSThread * thread)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ crash_screen_draw_glyph_enhancement()

void crash_screen_draw_glyph_enhancement ( s32 x,
s32 y,
s32 glyph )
Here is the caller graph for this function:

◆ crash_screen_draw_rect()

void crash_screen_draw_rect ( s32 x,
s32 y,
s32 w,
s32 h )
Here is the caller graph for this function:

◆ crash_screen_print()

void crash_screen_print ( s32 x,
s32 y,
const char * fmt,
... )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ crash_screen_print_float_reg()

void crash_screen_print_float_reg ( s32 x,
s32 y,
s32 regNum,
void * addr )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ crash_screen_print_fpcsr()

void crash_screen_print_fpcsr ( u32 fpcsr)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ crash_screen_sleep()

void crash_screen_sleep ( s32 ms)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_to_buf()

static char * write_to_buf ( char * buffer,
const char * data,
size_t size )
static
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ crashScreenFont2

u32 crashScreenFont2[7 *9+1]
Initial value:
= {
0x70871c30, 0x8988a250, 0x88808290, 0x88831c90, 0x888402f8, 0x88882210, 0x71cf9c10, 0xf9cf9c70, 0x8228a288,
0xf200a288, 0x0bc11c78, 0x0a222208, 0x8a222288, 0x71c21c70, 0x23c738f8, 0x5228a480, 0x8a282280, 0x8bc822f0,
0xfa282280, 0x8a28a480, 0x8bc738f8, 0xf9c89c08, 0x82288808, 0x82088808, 0xf2ef8808, 0x82288888, 0x82288888,
0x81c89c70, 0x8a08a270, 0x920da288, 0xa20ab288, 0xc20aaa88, 0xa208a688, 0x9208a288, 0x8be8a270, 0xf1cf1cf8,
0x8a28a220, 0x8a28a020, 0xf22f1c20, 0x82aa0220, 0x82492220, 0x81a89c20, 0x8a28a288, 0x8a28a288, 0x8a289488,
0x8a2a8850, 0x894a9420, 0x894aa220, 0x70852220, 0xf8011000, 0x08020800, 0x10840400, 0x20040470, 0x40840400,
0x80020800, 0xf8011000, 0x70800000, 0x88822200, 0x08820400, 0x108f8800, 0x20821000, 0x00022200, 0x20800020
}

◆ gCauseDesc

char* gCauseDesc[18]
Initial value:
= {
"Interrupt",
"TLB modification",
"TLB exception on load",
"TLB exception on store",
"Address error on load",
"Address error on store",
"Bus error on inst.",
"Bus error on data",
"System call exception",
"Breakpoint exception",
"Reserved instruction",
"Coprocessor unusable",
"Arithmetic overflow",
"Trap exception",
"Virtual coherency on inst.",
"Floating point exception",
"Watchpoint exception",
"Virtual coherency on data",
}

◆ gCrashScreenCharToGlyph

u8 gCrashScreenCharToGlyph[128]
Initial value:
= {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, 43, -1, -1, 37, 38, -1, 42, -1, 39, 44, -1, 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 36, -1, -1, -1, -1, 40, -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
}

◆ gFpcsrDesc

char* gFpcsrDesc[6]
Initial value:
= {
"Unimplemented operation", "Invalid operation", "Division by zero", "Overflow", "Underflow", "Inexact operation",
}

◆ osClockRate

u64 osClockRate
extern