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