clean up types.h, refactoring

This commit is contained in:
Flyinghead 2022-04-14 11:34:45 +02:00
parent a9e261d280
commit f2f4010203
11 changed files with 28 additions and 87 deletions

View File

@ -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

View File

@ -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();

View File

@ -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);
}

View File

@ -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

View File

@ -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);

View File

@ -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)); }

View File

@ -90,14 +90,15 @@ static void map_area4(u32 base)
template <class T>
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 <class T>
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;

View File

@ -1,7 +1,7 @@
#pragma once
#include <array>
#include "types.h"
#include "../sh4/sh4_if.h"
#include "sh4_if.h"
//For mem mapping
void map_area7_init();

View File

@ -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;

View File

@ -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 sz>
u32 ReadMemArr(const u8 *array, u32 addr)
{

View File

@ -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()