From b39e7532e016b455fc1e9a3db9efac0e4aa25648 Mon Sep 17 00:00:00 2001 From: Prakxo Date: Sun, 18 Jun 2023 23:09:27 +0200 Subject: [PATCH] make configure not ugly, implement usr_put --- config/dol_slices.yml | 4 +++- configure.py | 2 +- include/TRK/msghndlr.h | 10 ++-------- src/TRK/{ => init}/mem_TRK.c | 0 src/TRK/usr_put.c | 25 +++++++++++++++++++++++++ 5 files changed, 31 insertions(+), 10 deletions(-) rename src/TRK/{ => init}/mem_TRK.c (100%) create mode 100644 src/TRK/usr_put.c diff --git a/config/dol_slices.yml b/config/dol_slices.yml index a1385b47..be72edd8 100644 --- a/config/dol_slices.yml +++ b/config/dol_slices.yml @@ -5,7 +5,7 @@ dolphin/__ppc_eabi_init.cpp: .text: [0x8007fdfc, 0x8007fe90] runtime/__mem.c: .init: [0x800033a8, 0x800034e0] -TRK/mem_TRK.c: +TRK/init/mem_TRK.c: .init: [0x800034e0, 0x80003534] asm/__exception.s: .init: [0x80003534, 0x80005468] @@ -198,6 +198,8 @@ TRK/nubevent.c: # .text: [0x800A2314, 0x800A2494] # .rodata: [0x800AF750, 0x800AF770] # .bss: [0x802095F0, 0x802095F8] +#TRK/usr_put.c: +# .text: [0x800A3468, 0x800A34F4] #TRK/dispatch.c: # .text: [0x800A34F4, 0x800A3590] # .data: [0x800E2128, 0x800E21B0] diff --git a/configure.py b/configure.py index 584d932a..2242a62f 100644 --- a/configure.py +++ b/configure.py @@ -647,7 +647,7 @@ class CSource(Source): self.cc = c.CC self.cflags = c.DOL_CPPFLAGS self.frank = False - elif path == "src/TRK/mainloop.c" or path == "src/TRK/nubevent.c" or path == "src/TRK/nubinit.c" or path == "src/TRK/dispatch.c": + elif path.startswith("src/TRK") and not path.startswith("src/TRK/init"): self.cc = c.CC self.cflags = c.DOL_TRK_CFLAGS self.frank = False diff --git a/include/TRK/msghndlr.h b/include/TRK/msghndlr.h index 94774e8f..4e2f5167 100644 --- a/include/TRK/msghndlr.h +++ b/include/TRK/msghndlr.h @@ -25,14 +25,8 @@ TRKResult TRKDoContinue(MessageBuffer*); TRKResult TRKDoStep(MessageBuffer*); TRKResult TRKDoStop(MessageBuffer*); - - - - - - - - +BOOL GetTRKConnected(); +void SetTRKConnected(BOOL); #ifdef __cplusplus } diff --git a/src/TRK/mem_TRK.c b/src/TRK/init/mem_TRK.c similarity index 100% rename from src/TRK/mem_TRK.c rename to src/TRK/init/mem_TRK.c diff --git a/src/TRK/usr_put.c b/src/TRK/usr_put.c new file mode 100644 index 00000000..2ef1b4ef --- /dev/null +++ b/src/TRK/usr_put.c @@ -0,0 +1,25 @@ +#include "TRK/usr_put.h" +#include "TRK/msghndlr.h" + +extern void OSReport(const char*); + +TRKResult usr_puts_serial(const char* putString){ + TRKResult res = 0; + char tstring; + char buff[2]; + int con; + while ((res == 0) && (tstring = *putString++) != 0){ + con = GetTRKConnected(); + buff[0] = tstring; + buff[1] = '\0'; + SetTRKConnected(0); + OSReport(buff); + SetTRKConnected(con); + res = 0; + } + return res; +} + +TRKResult usr_put_initialize(){ + +} \ No newline at end of file