Implement & link famicom.cpp

This commit is contained in:
Cuyler36
2024-01-29 20:31:47 -05:00
parent 7788f50a59
commit d08076381b
39 changed files with 4048 additions and 119 deletions
+6 -6
View File
@@ -38,12 +38,12 @@ static void my_alloc_cleanup() {
zelda_CleanupArena();
}
static void my_zelda_getmemblocksize(void* ptr) {
zelda_GetMemBlockSize(ptr);
static int my_zelda_getmemblocksize(void* ptr) {
return zelda_GetMemBlockSize(ptr);
}
static void my_zelda_gettotalfreesize() {
zelda_GetTotalFreeSize();
static int my_zelda_gettotalfreesize() {
return zelda_GetTotalFreeSize();
}
static void* my_zelda_malloc_align(size_t size, u32 align) {
@@ -59,7 +59,7 @@ static void my_zelda_free(void* ptr) {
zelda_free(ptr);
}
void* my_malloc_func[] = {
Famicom_MallocInfo my_malloc_func = {
my_zelda_malloc_align,
my_zelda_free,
my_zelda_getmemblocksize,
@@ -151,7 +151,7 @@ extern void famicom_emu_init(GAME* game) {
my_alloc_init(game, freeXfbBase, freeXfbSize);
if (famicom_init(rom_id, my_malloc_func, player) != 0) {
if (famicom_init(rom_id, &my_malloc_func, player) != 0) {
Common_Set(famicom_2DBAC, Common_Get(famicom_2DBAC) | 1);
return_emu_game(game);
}
+2 -2
View File
@@ -414,7 +414,7 @@ void play_cleanup(GAME* game){
mCD_toNextLand();
mEA_CleanCardDLProgram();
if(my_malloc_current == my_malloc_func){
if(my_malloc_current == &my_malloc_func){
my_malloc_current = NULL;
}
@@ -507,7 +507,7 @@ void play_init(GAME* game){
zelda_InitArena((void*)aligned, freebytes - size);
if(my_malloc_current == NULL){
my_malloc_current = my_malloc_func;
my_malloc_current = &my_malloc_func;
}
mFM_FieldInit(play);
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -30,8 +30,8 @@ static u32 nesinfo_rom_size = 0;
static u8* nesinfo_rom_start = nullptr;
static u8* nesinfo_rom_end = nullptr;
static u32 nesinfo_expand_rom_size = 0;
static bool tcs_bad = false;
static bool ics_bad = false;
u8 tcs_bad = false;
u8 ics_bad = false;
// clang-format off
@@ -839,7 +839,7 @@ extern void nesinfo_tag_process1(u8* save_data, int mode, u32* max_ofs_p) {
OSReport("ロムデータ参照: %d\n", rom_id); // Referencing ROM data: %d\n
if (nesrom_filename_ptrs != nullptr && rom_p != nullptr) {
nesinfo_data_size = JKRFileLoader::readGlbResource(rom_p, 0x100000, nesrom_filename_ptrs[rom_id],
nesinfo_data_size = JKRFileLoader::readGlbResource(rom_p, 0x100000, (char*)nesrom_filename_ptrs[rom_id],
EXPAND_SWITCH_DECOMPRESS);
nesinfo_data_start = rom_p;
nesinfo_data_end = rom_p + nesinfo_data_size;
+3 -3
View File
@@ -27,7 +27,7 @@ bool JKRArcFinder::findNextFile()
mBase.mFileIndex = mNextIndex;
mBase.mFileID = dirEntry.mID;
mBase.mFileTypeFlags = dirEntry.mFlags;
mIsFileOrDir = FLAG_OFF(mBase.mFileTypeFlags, 2);
mIsDir = FLAG_OFF(mBase.mFileTypeFlags, 2);
mNextIndex++;
}
}
@@ -51,12 +51,12 @@ bool JKRDvdFinder::findNextFile()
mIsAvailable = DVDReadDir(&mDir, &entry);
if (mIsAvailable)
{
mIsFileOrDir = (bool)entry.isDir;
mIsDir = (bool)entry.isDir;
mBase.mFileName = entry.name;
mBase.mFileIndex = entry.entryNum;
mBase.mFileID = 0;
mBase.mFileTypeFlags = mIsFileOrDir ? 2 : 1;
mBase.mFileTypeFlags = mIsDir ? 2 : 1;
}
}
return mIsAvailable;
+5 -5
View File
@@ -323,23 +323,23 @@ extern void JW_getPadStatus(PADStatus* padStatus) {
}
extern int JW_JUTGamepad_getErrorStatus() {
return (s8)gamePad[0].mErrorStatus;
return (s8)((JUTGamePad*)gamePad)[0].mErrorStatus;
}
extern u32 JW_JUTGamepad_getButton() {
return gamePad[0].mButtons.mButton;
return ((JUTGamePad*)gamePad)[0].mButtons.mButton;
}
extern u32 JW_JUTGamepad_getTrigger() {
return gamePad[0].mButtons.mTrigger;
return ((JUTGamePad*)gamePad)[0].mButtons.mTrigger;
}
extern f32 JW_JUTGamepad_getSubStickValue() {
return gamePad[0].mSubStick.mValue;
return ((JUTGamePad*)gamePad)[0].mSubStick.mValue;
}
extern int JW_JUTGamepad_getSubStickAngle() {
return gamePad[0].mSubStick.mAngle;
return ((JUTGamePad*)gamePad)[0].mSubStick.mAngle;
}
static bool FrameDrawing = false;
+2 -2
View File
@@ -8,8 +8,8 @@ static void* proutPrintf(void* dst, const char* fmt, int size) {
return (void*)((u8*)memcpy(dst, fmt, size) + size);
}
s32 sprintf(char* dst, const char* fmt, ...) {
s32 ret;
int sprintf(char* dst, const char* fmt, ...) {
int ret;
va_list args;
va_start(args, fmt);