match linker & some funcs (#572)
* name audio.c and board/audio.c * fix audio, complete board/basic_space, battle * revert changes that broke build * completely finish New and NewMore.cp, for some reason NewMore fails checksum * finally match NewMore.cp * match NMWException.cpp * match mem_TRK * match TRK with correct linker, uses Revo's notify func
This commit is contained in:
parent
eb11f9c23f
commit
705ebb8727
2 changed files with 20 additions and 13 deletions
12
configure.py
12
configure.py
|
|
@ -671,10 +671,10 @@ config.libs = [
|
|||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/__mem.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/New.cp", extra_cflags=["-Cpp_exceptions on"]),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/NewMore.cp", extra_cflags=["-Cpp_exceptions on", "-RTTI on"]),
|
||||
Object(NonMatching, "Runtime.PPCEABI.H/NMWException.cpp"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/NMWException.cpp", extra_cflags=["-Cpp_exceptions on"]),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/runtime.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/__init_cpp_exceptions.cpp"),
|
||||
Object(NonMatching, "Runtime.PPCEABI.H/Gecko_ExceptionPPC.cpp", extra_cflags=["-Cpp_exceptions on"]),
|
||||
Object(NonMatching, "Runtime.PPCEABI.H/Gecko_ExceptionPPC.cpp", extra_cflags=["-Cpp_exceptions on", "-RTTI on"]),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "Runtime.PPCEABI.H/GCN_mem_alloc.c"),
|
||||
],
|
||||
},
|
||||
|
|
@ -734,7 +734,7 @@ config.libs = [
|
|||
},
|
||||
{
|
||||
"lib": "TRK_MINNOW_DOLPHIN",
|
||||
"mw_version": config.linker_version,
|
||||
"mw_version": "GC/1.3",
|
||||
"cflags": cflags_trk,
|
||||
"host": False,
|
||||
"objects": [
|
||||
|
|
@ -744,14 +744,14 @@ config.libs = [
|
|||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/msg.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/msgbuf.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/serpoll.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/usr_put.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/usr_put.c", mw_version="GC/1.3.2"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/dispatch.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/msghndlr.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/support.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/mutex_TRK.c"),
|
||||
Object(NonMatching, "TRK_MINNOW_DOLPHIN/notify.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/notify.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/flush_cache.c"),
|
||||
Object(NonMatching, "TRK_MINNOW_DOLPHIN/mem_TRK.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/mem_TRK.c"),
|
||||
Object(NonMatching, "TRK_MINNOW_DOLPHIN/targimpl.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/targsupp.s"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "TRK_MINNOW_DOLPHIN/__exception.s"),
|
||||
|
|
|
|||
|
|
@ -4,6 +4,19 @@
|
|||
#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h"
|
||||
#include "PowerPC_EABI_Support/MetroTRK/trk.h"
|
||||
|
||||
inline DSError TRKDoNotifyStopped_Inline(TRKBuffer* msg, MessageCommandID cmd) {
|
||||
DSError err;
|
||||
|
||||
if (msg->position >= 0x880) {
|
||||
err = DS_MessageBufferOverflow;
|
||||
} else {
|
||||
msg->data[msg->position++] = cmd;
|
||||
msg->length+=1;
|
||||
err = 0;
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
DSError TRKDoNotifyStopped(MessageCommandID cmd)
|
||||
{
|
||||
DSError err;
|
||||
|
|
@ -13,13 +26,7 @@ DSError TRKDoNotifyStopped(MessageCommandID cmd)
|
|||
|
||||
err = TRKGetFreeBuffer(&bufIdx, &msg);
|
||||
if (err == DS_NoError) {
|
||||
if (msg->position >= 0x880) {
|
||||
err = DS_MessageBufferOverflow;
|
||||
} else {
|
||||
msg->data[msg->position++] = cmd;
|
||||
++msg->length;
|
||||
err = 0;
|
||||
}
|
||||
err = TRKDoNotifyStopped_Inline(msg, cmd);
|
||||
|
||||
if (err == DS_NoError) {
|
||||
if (cmd == DSMSG_NotifyStopped) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue