mirror of
https://github.com/libretro/Mu.git
synced 2026-07-08 17:57:01 +00:00
Clean up flx68000PcLongJump remove more safety checks from release builds
This commit is contained in:
@@ -32,7 +32,6 @@ windows{
|
||||
|
||||
macx{
|
||||
# QMAKE_CFLAGS += -std=c89 -D__STDBOOL_H -Dinline= -Dbool=char -Dtrue=1 -Dfalse=0 # tests C89 mode
|
||||
# CONFIG += sdk_no_version_check # using 10.14 SDK which Qt only unofficialy supports
|
||||
ICON = macos/Mu.icns
|
||||
QMAKE_INFO_PLIST = macos/Info.plist
|
||||
DEFINES += EMU_MULTITHREADED
|
||||
|
||||
@@ -18,15 +18,25 @@ void flx68000PcLongJump(uint32_t newPc){
|
||||
uint32_t dataBufferGuest;
|
||||
uint32_t windowSize;
|
||||
|
||||
if(chips[CHIP_A0_ROM].inBootMode || newPc >= chips[CHIP_A0_ROM].start && newPc < chips[CHIP_A0_ROM].start + chips[CHIP_A0_ROM].lineSize){
|
||||
dataBufferHost = (uintptr_t)palmRom;
|
||||
dataBufferGuest = chips[CHIP_A0_ROM].start;
|
||||
windowSize = chips[CHIP_A0_ROM].mask + 1;
|
||||
}
|
||||
else if(newPc >= chips[CHIP_DX_RAM].start && newPc < chips[CHIP_DX_RAM].start + chips[CHIP_DX_RAM].lineSize){
|
||||
dataBufferHost = (uintptr_t)palmRam;
|
||||
dataBufferGuest = chips[CHIP_DX_RAM].start;
|
||||
windowSize = chips[CHIP_DX_RAM].mask + 1;
|
||||
switch(bankType[START_BANK(newPc)]){
|
||||
case CHIP_A0_ROM:
|
||||
dataBufferHost = (uintptr_t)palmRom;
|
||||
dataBufferGuest = chips[CHIP_A0_ROM].start;
|
||||
windowSize = chips[CHIP_A0_ROM].mask + 1;
|
||||
break;
|
||||
|
||||
case CHIP_DX_RAM:
|
||||
dataBufferHost = (uintptr_t)palmRam;
|
||||
dataBufferGuest = chips[CHIP_DX_RAM].start;
|
||||
windowSize = chips[CHIP_DX_RAM].mask + 1;
|
||||
break;
|
||||
|
||||
case CHIP_REGISTERS:
|
||||
//needed for when EMU_NO_SAFETY is set and a function is run in the sandbox
|
||||
dataBufferHost = (uintptr_t)palmReg;
|
||||
dataBufferGuest = BANK_ADDRESS(START_BANK(newPc));
|
||||
windowSize = REG_SIZE;
|
||||
break;
|
||||
}
|
||||
|
||||
memBase = dataBufferHost - dataBufferGuest - windowSize * ((newPc - dataBufferGuest) / windowSize);
|
||||
|
||||
@@ -294,8 +294,12 @@ void setEmuRegister(uint32_t address, uint32_t value){
|
||||
}
|
||||
|
||||
uint8_t getHwRegister8(uint32_t address){
|
||||
if((address & 0x0000F000) != 0x0000F000)
|
||||
#if !defined(EMU_NO_SAFETY)
|
||||
if((address & 0x0000F000) != 0x0000F000){
|
||||
setBusErrorTimeOut(address, false);
|
||||
return 0x00;
|
||||
}
|
||||
#endif
|
||||
|
||||
address &= 0x00000FFF;
|
||||
|
||||
@@ -401,8 +405,12 @@ uint8_t getHwRegister8(uint32_t address){
|
||||
}
|
||||
|
||||
uint16_t getHwRegister16(uint32_t address){
|
||||
if((address & 0x0000F000) != 0x0000F000)
|
||||
#if !defined(EMU_NO_SAFETY)
|
||||
if((address & 0x0000F000) != 0x0000F000){
|
||||
setBusErrorTimeOut(address, false);
|
||||
return 0x0000;
|
||||
}
|
||||
#endif
|
||||
|
||||
address &= 0x00000FFF;
|
||||
|
||||
@@ -489,8 +497,12 @@ uint16_t getHwRegister16(uint32_t address){
|
||||
}
|
||||
|
||||
uint32_t getHwRegister32(uint32_t address){
|
||||
if((address & 0x0000F000) != 0x0000F000)
|
||||
#if !defined(EMU_NO_SAFETY)
|
||||
if((address & 0x0000F000) != 0x0000F000){
|
||||
setBusErrorTimeOut(address, false);
|
||||
return 0x00000000;
|
||||
}
|
||||
#endif
|
||||
|
||||
address &= 0x00000FFF;
|
||||
|
||||
@@ -516,10 +528,13 @@ uint32_t getHwRegister32(uint32_t address){
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void setHwRegister8(uint32_t address, uint8_t value){
|
||||
if((address & 0x0000F000) != 0x0000F000)
|
||||
#if !defined(EMU_NO_SAFETY)
|
||||
if((address & 0x0000F000) != 0x0000F000){
|
||||
setBusErrorTimeOut(address, true);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
address &= 0x00000FFF;
|
||||
|
||||
@@ -669,8 +684,12 @@ void setHwRegister8(uint32_t address, uint8_t value){
|
||||
}
|
||||
|
||||
void setHwRegister16(uint32_t address, uint16_t value){
|
||||
if((address & 0x0000F000) != 0x0000F000)
|
||||
#if !defined(EMU_NO_SAFETY)
|
||||
if((address & 0x0000F000) != 0x0000F000){
|
||||
setBusErrorTimeOut(address, true);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
address &= 0x00000FFF;
|
||||
|
||||
@@ -957,8 +976,12 @@ void setHwRegister16(uint32_t address, uint16_t value){
|
||||
}
|
||||
|
||||
void setHwRegister32(uint32_t address, uint32_t value){
|
||||
if((address & 0x0000F000) != 0x0000F000)
|
||||
#if !defined(EMU_NO_SAFETY)
|
||||
if((address & 0x0000F000) != 0x0000F000){
|
||||
setBusErrorTimeOut(address, true);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
address &= 0x00000FFF;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user