From a56c5b37af1d71bf3deb535c76eba4b44973e5c8 Mon Sep 17 00:00:00 2001 From: Rainchus Date: Mon, 20 Nov 2023 13:26:41 -0600 Subject: [PATCH] match _minigameDLL rel --- config/GMPE01_00/rels/_minigameDll/splits.txt | 7 +++++++ config/GMPE01_00/rels/_minigameDll/symbols.txt | 2 +- configure.py | 10 ++++++++++ include/common.h | 6 ++++++ src/REL/_minigameDLL/_minigameDLL.c | 10 ++++++++++ 5 files changed, 34 insertions(+), 1 deletion(-) mode change 100644 => 100755 configure.py create mode 100644 include/common.h create mode 100644 src/REL/_minigameDLL/_minigameDLL.c diff --git a/config/GMPE01_00/rels/_minigameDll/splits.txt b/config/GMPE01_00/rels/_minigameDll/splits.txt index be323846..1004129e 100644 --- a/config/GMPE01_00/rels/_minigameDll/splits.txt +++ b/config/GMPE01_00/rels/_minigameDll/splits.txt @@ -4,3 +4,10 @@ Sections: .dtors type:rodata align:4 .rodata type:rodata align:8 .data type:data align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/_minigameDLL/_minigameDLL.c: + .text start:0x000000A0 end:0x000000F0 + .data start:0x00000000 end:0x00000014 diff --git a/config/GMPE01_00/rels/_minigameDll/symbols.txt b/config/GMPE01_00/rels/_minigameDll/symbols.txt index 5c4a5ab3..e8cdede0 100644 --- a/config/GMPE01_00/rels/_minigameDll/symbols.txt +++ b/config/GMPE01_00/rels/_minigameDll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x2C +ModuleProlog = .text:0x000000A0; // type:function size:0x2C fn_1_CC = .text:0x000000CC; // type:function size:0x24 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte diff --git a/configure.py b/configure.py old mode 100644 new mode 100755 index fa31c004..74dfe46a --- a/configure.py +++ b/configure.py @@ -230,6 +230,16 @@ config.libs = [ Object(Matching, "REL/empty.c"), # Must be marked as matching ], }, + { + "lib": "_minigameDLL", + "mw_version": config.linker_version, + "cflags": cflags_rel, + "host": False, + "objects": [ + Object(Matching, "REL/executor.c"), + Object(Matching, "REL/_minigameDLL/_minigameDLL.c"), + ], + }, ] if args.mode == "configure": diff --git a/include/common.h b/include/common.h new file mode 100644 index 00000000..1f45ebe0 --- /dev/null +++ b/include/common.h @@ -0,0 +1,6 @@ +#ifndef _COMMON_H_ +#define _COMMON_H_ + +void OSReport(const char * format, ...); + +#endif \ No newline at end of file diff --git a/src/REL/_minigameDLL/_minigameDLL.c b/src/REL/_minigameDLL/_minigameDLL.c new file mode 100644 index 00000000..3da424c8 --- /dev/null +++ b/src/REL/_minigameDLL/_minigameDLL.c @@ -0,0 +1,10 @@ +#include "REL/executor.h" +#include "common.h" + +void ModuleProlog(void) { + OSReport("minigame dll setup\n"); +} + +unsigned char fn_1_CC(void) { + return fn_80005A30(); +} \ No newline at end of file