From c55031e0c2d8a18e553ab69e2c446ea253950926 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 19 Mar 2022 22:21:12 +1000 Subject: [PATCH] Attempt to decompile __osSyncPutChars --- src/lib/lib_04f60nb.c | 3 --- src/lib/ultra/os/syncputchars.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/lib/lib_04f60nb.c b/src/lib/lib_04f60nb.c index 1532c331b..60c71d291 100644 --- a/src/lib/lib_04f60nb.c +++ b/src/lib/lib_04f60nb.c @@ -1,9 +1,6 @@ #include #include "lib/mtx.h" -u32 var8005e6e0nb = 0; -u32 var8005e6e4nb = 1; - void func00004f60nb(u32 arg0, u32 arg1, u32 arg2, u32 arg3) { u32 foo; diff --git a/src/lib/ultra/os/syncputchars.c b/src/lib/ultra/os/syncputchars.c index 341c8f1fa..a38c5f814 100644 --- a/src/lib/ultra/os/syncputchars.c +++ b/src/lib/ultra/os/syncputchars.c @@ -2,6 +2,9 @@ #include #include +unsigned int __osRdbSendMessage = 0; +unsigned int __osRdbWriteOK = 1; + GLOBAL_ASM( glabel __osSyncPutChars /* 4100: 27bdffc8 */ addiu $sp,$sp,-56 @@ -70,3 +73,30 @@ glabel __osSyncPutChars /* 41e4: 03e00008 */ jr $ra /* 41e8: 00000000 */ sll $zero,$zero,0x0 ); + +//void __osSyncPutChars(int type, int length, const char *buf) +//{ +// rdbPacket packet; +// int i; +// u32 mask; +// +// packet.type = type; +// packet.length = length; +// +// for (i = 0; i < length; i++) { +// packet.buf[i] = buf[i]; +// } +// +// while (!__osAtomicDec(&__osRdbWriteOK)); +// +// mask = __osDisableInt(); +// +// *(u32 *)RDB_BASE_REG = *(u32 *)&packet; +// +// while (!(__osGetCause() & CAUSE_IP6)); +// +// *(u32 *)RDB_READ_INTR_REG = 0; +// +// __osRdbWriteOK++; +// __osRestoreInt(mask); +//}