summaryrefslogtreecommitdiff
path: root/src/m_Do/m_Do_printf.cpp
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2023-01-02 11:20:10 -0800
committerGitHub <noreply@github.com>2023-01-02 12:20:10 -0700
commitf070ee948f094e68e45fe888072ed042af7973e0 (patch)
tree570f652fb3711942600aaadfb591e6cfd10b5034 /src/m_Do/m_Do_printf.cpp
parent6cc376bb2b30f40bb605220649d26a5f4b344010 (diff)
dolphin lib work (#237)
* getLayerNo_common_common finally matched * dolphin ai / ar / card work from prime decomp * work on dolphin dvd / dsp / db * more dolphin os work * si work * remove asm * build fix
Diffstat (limited to 'src/m_Do/m_Do_printf.cpp')
-rw-r--r--src/m_Do/m_Do_printf.cpp47
1 files changed, 12 insertions, 35 deletions
diff --git a/src/m_Do/m_Do_printf.cpp b/src/m_Do/m_Do_printf.cpp
index 3880b2d23f..6b3fb09e84 100644
--- a/src/m_Do/m_Do_printf.cpp
+++ b/src/m_Do/m_Do_printf.cpp
@@ -246,50 +246,27 @@ void OSReport_System(char* fmt, ...) {
}
}
-/* ############################################################################################## */
-/* 80373CB0-80373CB0 000310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80373D10 = " in \"%s\" on line %d.\n";
-SECTION_DEAD static char const* const stringBase_80373D26 =
- "\nAddress: Back Chain LR Save\n";
-SECTION_DEAD static char const* const stringBase_80373D4C = "0x%08x: 0x%08x 0x%08x\n";
-#pragma pop
-
/* 80006E7C-80006FB4 0017BC 0138+00 0/0 9/9 0/0 .text OSPanic */
-// loop stuff / ending
-#ifdef NONMATCHING
void OSPanic(char* file, s32 line, char* fmt, ...) {
- OSDisableInterrupts();
-
va_list args;
- va_start(args, fmt);
+ u32 i;
+ u32* p;
+ u32* tmp;
+ OSDisableInterrupts();
+ va_start(args, fmt);
mDoPrintf_vprintf(fmt, args);
+ va_end(args);
OSAttention(" in \"%s\" on line %d.\n", file, line);
- OSAttention("\nAddress: Back Chain LR Save\n");
- u32 tmp = 0;
- u8* stackPtr = OSGetStackPointer();
- while (stackPtr != NULL && tmp < 0x10) {
- OSAttention("0x%08x: 0x%08x 0x%08x\n", stackPtr, *(u32*)stackPtr,
- *(u32*)(stackPtr + 4));
- stackPtr++;
- tmp++;
+ OSAttention("\nAddress: Back Chain LR Save\n");
+ for (i = 0, p = (u32*)OSGetStackPointer(); p && (u32)p != 0xFFFFFFFF && i++ < 16; p = (u32*)*p) {
+ OSAttention("0x%08x: 0x%08x 0x%08x\n", p, p[0], p[1]);
}
- PPCHalt();
- va_end(args);
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void OSPanic(char* file, s32 line, char* fmt, ...) {
- nofralloc
-#include "asm/m_Do/m_Do_printf/OSPanic.s"
+ tmp = (u32*)0x1234567; // ??????
+ *tmp = 0x1234567;
+ PPCHalt();
}
-#pragma pop
-#endif
/* 80373CB0-80373CB0 000310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */