You've already forked Microtransactions64
mirror of
https://github.com/Print-and-Panic/Microtransactions64.git
synced 2026-01-21 10:17:19 -08:00
Fix build
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user