From 78ad25982327c2793c9f9ffd3316380a0fd20f6b Mon Sep 17 00:00:00 2001 From: Prakxo Date: Mon, 7 Aug 2023 01:30:14 +0200 Subject: [PATCH] link main.c --- config/rel_slices.yml | 8 ++++---- include/main.h | 4 ++++ rel/main.c | 16 +++++++++------- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/config/rel_slices.yml b/config/rel_slices.yml index 4129ae9b..4d36025e 100644 --- a/config/rel_slices.yml +++ b/config/rel_slices.yml @@ -193,10 +193,10 @@ lb_reki.c: .text: [0x8040752C, 0x80407AE8] .rodata: [0x806437A0, 0x806437C0] .data: [0x8065ECD8, 0x8065F110] -#main.c: -# .text: [0x80407AE8, 0x80407CF4] -# .data: [0x8065F110, 0x8065F138] -# .bss: [0x812F4CC0, 0x812F5038] +main.c: + .text: [0x80407AE8, 0x80407CF4] + .data: [0x8065F110, 0x8065F138] + .bss: [0x812F4CC0, 0x812F5038] #sys_math.c: # .text: [0x80408940, 0x80408A44] # .rodata: [0x806437C0, 0x806437D0] diff --git a/include/main.h b/include/main.h index 1a00b99f..53341f03 100644 --- a/include/main.h +++ b/include/main.h @@ -2,6 +2,7 @@ #define MAIN_H #include "types.h" +#include "dolphin/os/OSThread.h" #ifdef __cplusplus extern "C" { @@ -16,6 +17,9 @@ extern "C" { extern int ScreenWidth; extern int ScreenHeight; +extern OSThread graphThread; +extern u8 SegmentBaseAddress[0x40]; + #ifdef __cplusplus } #endif diff --git a/rel/main.c b/rel/main.c index 8abf7263..e5210541 100644 --- a/rel/main.c +++ b/rel/main.c @@ -14,18 +14,20 @@ #include "m_msg.h" #include "Famicom/famicom.h" #include "m_debug.h" -#include "libforest/osreport.h" +#include "dolphin/os.h" //TODO: actually add all the stacks and headers -static OSMessageQueue l_serialMsgQ; +OSThread graphThread; static OSMessage serialMsgBuf; -extern OSThread graphThread; -extern u8 SegmentBaseAddress[0x40]; +static OSMessageQueue l_serialMsgQ; +u8 SegmentBaseAddress[0x40]; + -int ScreenHeight = SCREEN_HEIGHT; int ScreenWidth = SCREEN_WIDTH; +int ScreenHeight = SCREEN_HEIGHT; +#pragma pool_data on extern void mainproc (void* val){ irqmgr_client_t irqClient; @@ -74,7 +76,7 @@ extern void mainproc (void* val){ osRecvMesg(&irqMgrMsgQueue, &msg, 1); } while (msg != NULL); } - +#pragma pool_data reset u32 entry(void) { @@ -90,6 +92,6 @@ u32 entry(void) { void foresta_main(void){ - OSReport("どうぶつの森 main2 開始"); + OSReport("どうぶつの森 main2 開始\n"); HotStartEntry = &entry; }