diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d853e99f..b8c62544d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -620,7 +620,6 @@ target_sources(${PROJECT_NAME} PRIVATE core/hw/arm7/arm7_rec.cpp core/hw/arm7/arm7_rec.h core/hw/arm7/arm-new.h - core/hw/arm7/vbaARM.cpp core/hw/bba/bba.h core/hw/bba/bba.cpp core/hw/bba/rtl8139c.h diff --git a/core/emulator.cpp b/core/emulator.cpp index 52656209a..4b2db021c 100644 --- a/core/emulator.cpp +++ b/core/emulator.cpp @@ -342,7 +342,7 @@ void dc_reset(bool hard) sh4_sched_reset(hard); pvr::reset(hard); libAICA_Reset(hard); - libARM_Reset(hard); + aicaarm::reset(); sh4_cpu.Reset(true); mem_Reset(hard); } @@ -404,7 +404,7 @@ void Emulator::init() pvr::init(); libAICA_Init(); - libARM_Init(); + aicaarm::init(); mem_Init(); reios_init(); @@ -591,7 +591,6 @@ void Emulator::term() sh4_cpu.Term(); custom_texture.Terminate(); // lr: avoid deadlock on exit (win32) reios_term(); - libARM_Term(); libAICA_Term(); pvr::term(); mem_Term(); diff --git a/core/hw/arm7/vbaARM.cpp b/core/hw/arm7/vbaARM.cpp deleted file mode 100644 index f905ec0e7..000000000 --- a/core/hw/arm7/vbaARM.cpp +++ /dev/null @@ -1,25 +0,0 @@ -// nullAICA.cpp : Defines the entry point for the DLL application. -// - -#include "arm7.h" - -//called when plugin is used by emu (you should do first time init here) -s32 libARM_Init() -{ - aicaarm::init(); - - return 0; -} - -//called when plugin is unloaded by emu, only if dcInit is called (eg, not called to enumerate plugins) -void libARM_Term() -{ - //arm7_Term ? -} - -//It's supposed to reset anything -void libARM_Reset(bool hard) -{ - aicaarm::reset(); - aicaarm::enable(false); -} diff --git a/core/hw/holly/sb_mem.cpp b/core/hw/holly/sb_mem.cpp index 986d9a45d..e56ddd80b 100644 --- a/core/hw/holly/sb_mem.cpp +++ b/core/hw/holly/sb_mem.cpp @@ -353,7 +353,10 @@ T DYNACALL ReadMem_area0(u32 paddr) default: // G2 Ext area if (System == DC_PLATFORM_NAOMI || System == DC_PLATFORM_NAOMI2) - return (T)libExtDevice_ReadMem_A0_010(addr, sz); + { + INFO_LOG(MEMORY, "Read<%d> from G2 Ext area not implemented @ %08x", sz, addr); + return (T)0; + } else if (config::EmulateBBA) return (T)bba_ReadMem(addr, sz); else @@ -466,12 +469,12 @@ void DYNACALL WriteMem_area0(u32 paddr, T data) default: // G2 Ext area if (System == DC_PLATFORM_NAOMI || System == DC_PLATFORM_NAOMI2) - libExtDevice_WriteMem_A0_010(addr, data, sz); + INFO_LOG(MEMORY, "Write<%d> to G2 Ext area not implemented @ %08x: %x", sz, addr, (u32)data); else if (config::EmulateBBA) bba_WriteMem(addr, data, sz); return; } - INFO_LOG(COMMON, "Write to area0_32 not implemented [Unassigned], addr=%x,data=%x,size=%d", addr, data, sz); + INFO_LOG(MEMORY, "Write to area0_32 not implemented [Unassigned], addr=%x,data=%x,size=%d", addr, data, sz); } //Init/Res/Term diff --git a/core/hw/naomi/naomi.h b/core/hw/naomi/naomi.h index 514d4c67f..60ea8ded4 100644 --- a/core/hw/naomi/naomi.h +++ b/core/hw/naomi/naomi.h @@ -27,3 +27,6 @@ extern u32 reg_dimm_parameterh; extern u32 reg_dimm_status; void initdFFBInit(); + +u32 libExtDevice_ReadMem_A0_006(u32 addr, u32 size); +void libExtDevice_WriteMem_A0_006(u32 addr, u32 data, u32 size); diff --git a/core/hw/sh4/dyna/shil.h b/core/hw/sh4/dyna/shil.h index ac9932fc3..6cfa32f13 100644 --- a/core/hw/sh4/dyna/shil.h +++ b/core/hw/sh4/dyna/shil.h @@ -112,10 +112,7 @@ struct shil_param bool is_r32() const { return is_r32i() || is_r32f(); } bool is_r64() const { return is_r64f(); } //just here for symmetry ... - bool is_imm_s8() const { return is_imm() && is_s8(_imm); } - bool is_imm_u8() const { return is_imm() && is_u8(_imm); } - bool is_imm_s16() const { return is_imm() && is_s16(_imm); } - bool is_imm_u16() const { return is_imm() && is_u16(_imm); } + bool is_imm_s8() const { return is_imm() && (s8)_imm == (s32)_imm; } u32* reg_ptr() const { verify(is_reg()); return GetRegPtr(_reg); } s32 reg_nofs() const { verify(is_reg()); return (s32)((u8*)GetRegPtr(_reg) - (u8*)GetRegPtr(reg_xf_0)-sizeof(Sh4cntx)); } diff --git a/core/hw/sh4/sh4_mem.cpp b/core/hw/sh4/sh4_mem.cpp index 2555bd4fb..48b1bac95 100644 --- a/core/hw/sh4/sh4_mem.cpp +++ b/core/hw/sh4/sh4_mem.cpp @@ -90,14 +90,15 @@ static void map_area4(u32 base) template T DYNACALL ReadMem_extdev_T(u32 addr) { - return (T)libExtDevice_ReadMem_A5(addr, sizeof(T)); + INFO_LOG(SH4, "Read ext. device (Area 5) undefined @ %08x", addr); + return (T)0; } //Write Ext.Device template void DYNACALL WriteMem_extdev_T(u32 addr,T data) { - libExtDevice_WriteMem_A5(addr, data, sizeof(T)); + INFO_LOG(SH4, "Write ext. device (Area 5) undefined @ %08x: %x", addr, (u32)data); } _vmem_handler area5_handler; diff --git a/core/hw/sh4/sh4_mmr.h b/core/hw/sh4/sh4_mmr.h index d276ba43a..6d92dfc3c 100644 --- a/core/hw/sh4/sh4_mmr.h +++ b/core/hw/sh4/sh4_mmr.h @@ -1,7 +1,7 @@ #pragma once #include #include "types.h" -#include "../sh4/sh4_if.h" +#include "sh4_if.h" //For mem mapping void map_area7_init(); diff --git a/core/rend/gui.cpp b/core/rend/gui.cpp index 2ddbc9860..af1431cf0 100644 --- a/core/rend/gui.cpp +++ b/core/rend/gui.cpp @@ -2649,18 +2649,17 @@ void gui_term() } } -int msgboxf(const char* text, unsigned int type, ...) { +void fatal_error(const char* text, ...) +{ va_list args; char temp[2048]; - va_start(args, type); + va_start(args, text); vsnprintf(temp, sizeof(temp), text, args); va_end(args); ERROR_LOG(COMMON, "%s", temp); gui_display_notification(temp, 2000); - - return 1; } extern bool subfolders_read; diff --git a/core/types.h b/core/types.h index 5fad8efa0..8855f595c 100644 --- a/core/types.h +++ b/core/types.h @@ -202,14 +202,10 @@ void os_DebugBreak(); #define stricmp strcasecmp #endif -int msgboxf(const char* text, unsigned int type, ...); +void fatal_error(const char* text, ...); -#define MBX_OK 0 -#define MBX_ICONEXCLAMATION 0 -#define MBX_ICONERROR 0 - -#define verify(x) do { if ((x) == false){ msgboxf("Verify Failed : " #x "\n in %s -> %s : %d", MBX_ICONERROR, (__FUNCTION__), (__FILE__), __LINE__); dbgbreak;}} while (false) -#define die(reason) do { msgboxf("Fatal error : %s\n in %s -> %s : %d", MBX_ICONERROR,(reason), (__FUNCTION__), (__FILE__), __LINE__); dbgbreak;} while (false) +#define verify(x) do { if ((x) == false){ fatal_error("Verify Failed : " #x "\n in %s -> %s : %d", (__FUNCTION__), (__FILE__), __LINE__); dbgbreak;}} while (false) +#define die(reason) do { fatal_error("Fatal error : %s\n in %s -> %s : %d", (reason), (__FUNCTION__), (__FILE__), __LINE__); dbgbreak;} while (false) //will be removed sometime soon @@ -408,28 +404,6 @@ extern settings_t settings; #define VRAM_MASK settings.platform.vram_mask #define BIOS_SIZE settings.platform.bios_size -inline bool is_s8(u32 v) { return (s8)v==(s32)v; } -inline bool is_u8(u32 v) { return (u8)v==(s32)v; } -inline bool is_s16(u32 v) { return (s16)v==(s32)v; } -inline bool is_u16(u32 v) { return (u16)v==(u32)v; } - -// 0x00600000 - 0x006007FF [NAOMI] (modem area for dreamcast) -u32 libExtDevice_ReadMem_A0_006(u32 addr,u32 size); -void libExtDevice_WriteMem_A0_006(u32 addr,u32 data,u32 size); - -//Area 0 , 0x01000000- 0x01FFFFFF [Ext. Device] -static inline u32 libExtDevice_ReadMem_A0_010(u32 addr,u32 size) { return 0; } -static inline void libExtDevice_WriteMem_A0_010(u32 addr,u32 data,u32 size) { } - -//Area 5 -static inline u32 libExtDevice_ReadMem_A5(u32 addr,u32 size){ return 0; } -static inline void libExtDevice_WriteMem_A5(u32 addr,u32 data,u32 size) { } - -//ARM -s32 libARM_Init(); -void libARM_Reset(bool hard); -void libARM_Term(); - template u32 ReadMemArr(const u8 *array, u32 addr) { diff --git a/shell/libretro/libretro.cpp b/shell/libretro/libretro.cpp index 67a2aa94b..7019f647c 100644 --- a/shell/libretro/libretro.cpp +++ b/shell/libretro/libretro.cpp @@ -2899,27 +2899,18 @@ static void retro_keyboard_event(bool down, unsigned keycode, uint32_t character } } -int msgboxf(const char* text, unsigned int type, ...) +void fatal_error(const char* text, ...) { if (log_cb) { va_list args; char temp[2048]; - - switch (type) - { - case MBX_ICONERROR: - va_start(args, type); - vsprintf(temp, text, args); - va_end(args); - strcat(temp, "\n"); - log_cb(RETRO_LOG_ERROR, temp); - break; - default: - break; - } + va_start(args, text); + vsprintf(temp, text, args); + va_end(args); + strcat(temp, "\n"); + log_cb(RETRO_LOG_ERROR, temp); } - return 0; } void os_DebugBreak()