Fix build

This commit is contained in:
Arceveti
2021-09-26 17:36:12 -07:00
parent 13d7d2caff
commit 7da55b1456
2 changed files with 12 additions and 12 deletions

View File

@@ -290,6 +290,7 @@ void draw_stacktrace(OSThread *thread, UNUSED s32 cause) {
}
}
extern char *insn_disasm(u32 insn, u32 isPC);
static u32 sProgramPosition = 0;
void draw_disasm(OSThread *thread) {
__OSThreadContext *tc = &thread->context;
@@ -307,8 +308,6 @@ void draw_disasm(OSThread *thread) {
u32 addr = sProgramPosition + (i * 4);
u32 toDisasm = *(u32*)(addr);
crash_screen_print(30, 35 + (i * 10), "%s", insn_disasm(toDisasm, addr == tc->pc));
}
@@ -360,12 +359,11 @@ void draw_crash_screen(OSThread *thread)
{
crash_screen_draw_rect(25, 8, 270, 12);
crash_screen_print(30, 10, "Page:%02d L/Z: Left R: Right", crashPage);
switch (crashPage)
{
case PAGE_CONTEXT: draw_crash_context(thread, cause); break;
case PAGE_LOG: draw_crash_log(); break;
case PAGE_STACKTRACE: draw_stacktrace(thread, cause); break;
case PAGE_DISASM: draw_disasm(thread); break;
switch (crashPage) {
case PAGE_CONTEXT: draw_crash_context(thread, cause); break;
case PAGE_LOG: draw_crash_log(); break;
case PAGE_STACKTRACE: draw_stacktrace(thread, cause); break;
case PAGE_DISASM: draw_disasm(thread); break;
}
osWritebackDCacheAll();

View File

@@ -1,4 +1,5 @@
#include <PR/ultratypes.h>
#include <stdio.h>
#include "macros.h"
#include "farcall.h"
@@ -94,17 +95,18 @@ char registerMaps[][4] = {
char *insn_disasm(InsnData insn, u32 isPC) {
char *strp = &insn_as_string[0];
int successful_print = 0;
u32 target;
if (insn.d == 0) { // trivial case
if (isPC)
if (isPC) {
return "NOP <-- CRASH";
else
} else {
return "NOP";
}
}
for (int i = 0; i < ARRAY_COUNT(insn_as_string); i++) insn_as_string[i] = 0;
for (int i = 0; i < ARRAY_COUNT(insn_db); i++) {
if (insn.i.opcode != 0 && insn.i.opcode == insn_db[i].opcode) {
switch (insn_db[i].arbitraryParam) {
@@ -121,7 +123,7 @@ char *insn_disasm(InsnData insn, u32 isPC) {
); break;
break;
case PARAM_JAL:
u32 target = 0x80000000 | ((insn.d & 0x1FFFFFF) * 4);
target = 0x80000000 | ((insn.d & 0x1FFFFFF) * 4);
if ((u32)parse_map != 0x80345678) {
strp += sprintf(strp, "%-8s %s", insn_db[i].name,
parse_map(target)