[Core/CD] added optional (platform-specific) SUB-CPU address error exceptions emulation (currently activated for libretro & SDL Windows ports only)

This commit is contained in:
ekeeke 2021-10-09 18:53:59 +02:00
parent 9254c331d2
commit c6d1e5ac38
5 changed files with 9 additions and 3 deletions

View File

@ -522,7 +522,7 @@ else
CC = gcc
SHARED := -shared -static-libgcc -static-libstdc++ -Wl,--version-script=$(CORE_DIR)/libretro/link.T -Wl,--no-undefined
ENDIANNESS_DEFINES := -DLSB_FIRST -DBYTE_ORDER=LITTLE_ENDIAN
PLATFORM_DEFINES := -DHAVE_ZLIB -DMAXROMSIZE=33554432
PLATFORM_DEFINES := -DHAVE_ZLIB -DMAXROMSIZE=33554432 -DENABLE_SUB_68K_ADDRESS_ERROR_EXCEPTIONS
endif

Binary file not shown.

View File

@ -62,7 +62,11 @@
* access a word or longword at an odd address.
* NOTE: This is only emulated properly for 68000 mode.
*/
#ifdef ENABLE_SUB_68K_ADDRESS_ERROR_EXCEPTIONS
#define M68K_EMULATE_ADDRESS_ERROR OPT_ON
#else
#define M68K_EMULATE_ADDRESS_ERROR OPT_OFF
#endif
/* If ON and previous option is also ON, address error exceptions will
also be checked when fetching instructions. Disabling this can help

View File

@ -26,6 +26,7 @@
# -DHAVE_YM3438_CORE : enable (configurable) support for Nuked cycle-accurate YM2612/YM3438 core
# -DHAVE_OPLL_CORE : enable (configurable) support for Nuked cycle-accurate YM2413 core
# -DHOOK_CPU : enable CPU hooks
# -DENABLE_SUB_68K_ADDRESS_ERROR_EXCEPTIONS : enable address error exceptions emulation for SUB-CPU
NAME = gen_sdl
@ -34,7 +35,7 @@ CFLAGS = `sdl-config --cflags` -march=native -O6 -fomit-frame-pointer -Wall -
#-g -ggdb -pg
#-fomit-frame-pointer
#LDFLAGS = -pg
DEFINES = -DLSB_FIRST -DUSE_16BPP_RENDERING -DUSE_LIBTREMOR -DUSE_LIBCHDR -DMAXROMSIZE=33554432 -DHAVE_YM3438_CORE -DHAVE_OPLL_CORE
DEFINES = -DLSB_FIRST -DUSE_16BPP_RENDERING -DUSE_LIBTREMOR -DUSE_LIBCHDR -DMAXROMSIZE=33554432 -DHAVE_YM3438_CORE -DHAVE_OPLL_CORE -DENABLE_SUB_68K_ADDRESS_ERROR_EXCEPTIONS
ifneq ($(OS),Windows_NT)
DEFINES += -DHAVE_ALLOCA_H

View File

@ -26,6 +26,7 @@
# -DHAVE_YM3438_CORE : enable (configurable) support for Nuked cycle-accurate YM2612/YM3438 core
# -DHAVE_OPLL_CORE : enable (configurable) support for Nuked cycle-accurate YM2413 core
# -DHOOK_CPU : enable CPU hooks
# -DENABLE_SUB_68K_ADDRESS_ERROR_EXCEPTIONS : enable address error exceptions emulation for SUB-CPU
NAME = gen_sdl2
@ -34,7 +35,7 @@ CFLAGS = `sdl2-config --cflags` -march=native -O6 -fomit-frame-pointer -Wall
#-g -ggdb -pg
#-fomit-frame-pointer
#LDFLAGS = -pg
DEFINES = -DLSB_FIRST -DUSE_16BPP_RENDERING -DUSE_LIBTREMOR -DUSE_LIBCHDR -DMAXROMSIZE=33554432 -DHAVE_YM3438_CORE -DHAVE_OPLL_CORE
DEFINES = -DLSB_FIRST -DUSE_16BPP_RENDERING -DUSE_LIBTREMOR -DUSE_LIBCHDR -DMAXROMSIZE=33554432 -DHAVE_YM3438_CORE -DHAVE_OPLL_CORE -DENABLE_SUB_68K_ADDRESS_ERROR_EXCEPTIONS
ifneq ($(OS),Windows_NT)
DEFINES += -DHAVE_ALLOCA_H