This fixes building on GCC10 and ARM.
Note that in my previous HLE patch, i forgot to export psxNULL
so it was failling to compile it... Oops.
Co-authored-by: negativeExponent <negativeExponent@users.noreply.github.com>
OBJS += libpcsxcore/new_dynarec/new_dynarec.o libpcsxcore/new_dynarec/linkage_arm.o
OBJS += libpcsxcore/new_dynarec/pcsxmem.o
else
-libpcsxcore/new_dynarec/emu_if.o: CFLAGS += -DDRC_DISABLE
-frontend/libretro.o: CFLAGS += -DDRC_DISABLE
+CFLAGS += -DDRC_DISABLE
endif
OBJS += libpcsxcore/new_dynarec/emu_if.o
libpcsxcore/new_dynarec/new_dynarec.o: libpcsxcore/new_dynarec/assem_arm.c \
plat_video_menu_leave();
+ #ifndef DRC_DISABLE
psxCpu = (Config.Cpu == CPU_INTERPRETER) ? &psxInt : &psxRec;
+ #else
+ psxCpu = &psxInt;
+ #endif
if (psxCpu != prev_cpu) {
prev_cpu->Shutdown();
psxCpu->Init();
NET_recvData(&Config.Cpu, sizeof(Config.Cpu), PSE_NET_BLOCKING);
if (tmp != Config.Cpu) {
psxCpu->Shutdown();
-#ifdef PSXREC
+#ifndef DRC_DISABLE
if (Config.Cpu == CPU_INTERPRETER) psxCpu = &psxInt;
else psxCpu = &psxRec;
#else
void hlecall_assemble(int i,struct regstat *i_regs)
{
+ extern void psxNULL();
signed char ccreg=get_reg(i_regs->regmap,CCREG);
assert(ccreg==HOST_CCREG);
assert(!is_delayslot);
#define VERBOSE_LEVEL 0
/******************************************************************************/
-
+#ifdef DRC_DISABLE
Rcnt rcnts[ CounterQuantity ];
-
+#endif
u32 hSyncCount = 0;
u32 frame_counter = 0;
static u32 hsync_steps = 0;
u32 count;
s32 i;
- gzfreeze( &rcnts, sizeof(rcnts) );
+ gzfreeze( &rcnts, sizeof(Rcnt) * CounterQuantity );
gzfreeze( &hSyncCount, sizeof(hSyncCount) );
gzfreeze( &spuSyncCount, sizeof(spuSyncCount) );
gzfreeze( &psxNextCounter, sizeof(psxNextCounter) );
if (Config.Debug)
DebugCheckBP((mem & 0xffffff) | 0x80000000, W1);
*(u8 *)(p + (mem & 0xffff)) = value;
-#ifdef PSXREC
+#ifndef DRC_DISABLE
psxCpu->Clear((mem & (~3)), 1);
#endif
} else {
if (Config.Debug)
DebugCheckBP((mem & 0xffffff) | 0x80000000, W2);
*(u16 *)(p + (mem & 0xffff)) = SWAPu16(value);
-#ifdef PSXREC
+#ifndef DRC_DISABLE
psxCpu->Clear((mem & (~3)), 1);
#endif
} else {
if (Config.Debug)
DebugCheckBP((mem & 0xffffff) | 0x80000000, W4);
*(u32 *)(p + (mem & 0xffff)) = SWAPu32(value);
-#ifdef PSXREC
+#ifndef DRC_DISABLE
psxCpu->Clear(mem, 1);
#endif
} else {
if (mem != 0xfffe0130) {
-#ifdef PSXREC
+#ifndef DRC_DISABLE
if (!writeok)
psxCpu->Clear(mem, 1);
#endif
#define PSXMu32ref(mem) (*(u32 *)PSXM(mem))
-#if !defined(PSXREC) && (defined(__x86_64__) || defined(__i386__) || defined(__ppc__)) && !defined(NOPSXREC)
-#define PSXREC
-#endif
-
int psxMemInit();
void psxMemReset();
void psxMemShutdown();
#include "gte.h"
R3000Acpu *psxCpu = NULL;
+#ifdef DRC_DISABLE
psxRegisters psxRegs;
+#endif
int psxInit() {
SysPrintf(_("Running PCSX Version %s (%s).\n"), PACKAGE_VERSION, __DATE__);
-#ifdef PSXREC
+#ifndef DRC_DISABLE
if (Config.Cpu == CPU_INTERPRETER) {
psxCpu = &psxInt;
} else psxCpu = &psxRec;
extern R3000Acpu *psxCpu;
extern R3000Acpu psxInt;
extern R3000Acpu psxRec;
-#define PSXREC
typedef union {
#if defined(__BIGENDIAN__)