mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-07-07 20:11:51 -04:00
Merge pull request #233 from Cuyler36:famicom_nesinfo
Implement & link Famicom/famicom_nesinfo.cpp
This commit is contained in:
@@ -431,6 +431,11 @@ JSYSTEM_JGADGET_BASE = [
|
||||
# "-sym on", # might also be on for base flags?
|
||||
"-O4,s" # in mkdd some libraries use O4,p, might be the case here too
|
||||
]
|
||||
FAMICOM_BASE = CFLAGS + [
|
||||
"-lang=c++",
|
||||
"-sdata 0",
|
||||
"-sdata2 0"
|
||||
] + DOL_DEFINES
|
||||
|
||||
JSYSTEM_CFLAGS = ' '.join(JSYSTEM_BASE + LOCAL_CFLAGS)
|
||||
JSYSTEM_JGADGET_CFLAGS = ' '.join(JSYSTEM_JGADGET_BASE + LOCAL_CFLAGS)
|
||||
@@ -446,6 +451,7 @@ REL_CFLAGS = ' '.join(BASE_REL_CFLAGS + LOCAL_CFLAGS)
|
||||
EXTERNAL_DOL_CFLAGS = ' '.join(BASE_DOL_CFLAGS)
|
||||
EXTERNAL_REL_CFLAGS = ' '.join(BASE_REL_CFLAGS)
|
||||
PREPROCESS_CFLAGS = ' '.join(PREPROCESSOR_CFLAGS)
|
||||
FAMICOM_CLFAGS = ' '.join(FAMICOM_BASE + LOCAL_CFLAGS)
|
||||
|
||||
DOL_LDFLAGS = ' '.join([
|
||||
"-maxerrors 1",
|
||||
|
||||
@@ -4,6 +4,8 @@ blocked_pointers:
|
||||
blocked_targets:
|
||||
- 0x800A97E0 # boot.c local static const tbl, also start of .rodata
|
||||
- 0x80008000
|
||||
- 0x801F6C7C # tcs_bad
|
||||
- 0x801F6C7D # ics_bad
|
||||
forced_types:
|
||||
0x80003534: FUNCTION
|
||||
0x80005468: FUNCTION
|
||||
|
||||
@@ -48,6 +48,11 @@ jaudio_NES/dummyprobe.c:
|
||||
#jaudio_NES/verysimple.c:
|
||||
# .text: [0x80008400, 0x80008480]
|
||||
# .sdata: [0x80217b80, 0x80217b88]
|
||||
Famicom/famicom_nesinfo.cpp:
|
||||
.text: [0x800468fc, 0x80047e40]
|
||||
.rodata: [0x800aaa30, 0x800aab60]
|
||||
.data: [0x800d99a0, 0x800da9c8]
|
||||
.bss: [0x801f6bd8, 0x801f6c80]
|
||||
GBA2/JoyBoot.c:
|
||||
.text: [0x80049788, 0x8004ae00]
|
||||
.data: [0x800daa08, 0x800daaa0]
|
||||
|
||||
@@ -635,6 +635,9 @@ class CSource(Source):
|
||||
elif path.startswith("src/static/JSystem/"):
|
||||
self.cflags = c.JSYSTEM_CFLAGS
|
||||
self.cc = c.CC
|
||||
elif path.startswith("src/static/Famicom/"):
|
||||
self.cflags = c.FAMICOM_CLFAGS
|
||||
self.cc = c.CC
|
||||
elif path.startswith("src/static/GBA2/"):
|
||||
self.cflags = c.DOL_CFLAGS_SDATA0_CFLAGS
|
||||
self.cc = c.CC
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "Famicom/ks_nes.h"
|
||||
#include "terminal.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -104,6 +105,15 @@ typedef struct famicom_common_s {
|
||||
|
||||
extern void* my_malloc_current;
|
||||
extern u8 save_game_image;
|
||||
extern char** nesrom_filename_ptrs;
|
||||
|
||||
extern u32 nesinfo_tags_size;
|
||||
extern u8* nesinfo_tags_start;
|
||||
extern u8* nesinfo_tags_end;
|
||||
|
||||
extern u32 nesinfo_data_size;
|
||||
extern u8* nesinfo_data_start;
|
||||
extern u8* nesinfo_data_end;
|
||||
|
||||
extern FamicomCommon famicomCommon;
|
||||
|
||||
@@ -117,6 +127,14 @@ extern int famicom_init(int, void*, u8);
|
||||
extern int famicom_cleanup();
|
||||
|
||||
extern void nesinfo_tags_set(int rom_no);
|
||||
extern void nesinfo_tag_process1(u8* save_data, int mode, u32* max_ofs_p);
|
||||
extern void nesinfo_tag_process2();
|
||||
extern void nesinfo_tag_process3(u8* save_data);
|
||||
extern void nesinfo_update_highscore(u8* save_data, int mode);
|
||||
extern int nesinfo_get_highscore_num();
|
||||
extern u8* nesinfo_get_moriName();
|
||||
extern void nesinfo_init();
|
||||
extern void highscore_setup_flags(u8* flags);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user