diff options
author | Nebuleon Fumika | 2012-12-20 18:10:38 -0500 |
---|---|---|
committer | Nebuleon Fumika | 2012-12-20 18:14:24 -0500 |
commit | 80858801300a2f48ad250721a79ebc7b1b0aba92 (patch) | |
tree | a64d661a5e40b759a083a653841dff2ae82fa130 /source/memmap.h | |
parent | 83426640a6079021815e611ff0519d27ca3f9ce4 (diff) | |
download | snes9x2005-80858801300a2f48ad250721a79ebc7b1b0aba92.tar.gz snes9x2005-80858801300a2f48ad250721a79ebc7b1b0aba92.tar.bz2 snes9x2005-80858801300a2f48ad250721a79ebc7b1b0aba92.zip |
Remove the SNES Open Bus behaviour by default. Also simplify translation again.
SNES Open Bus is a quirk of the memory subsystem that allow reads of invalid addresses to return the last byte read from memory. However, it is seldom needed by a game, and it costs 1 to 3 MIPS instructions per SNES instruction to emulate.
If you need SNES Open Bus, you can remove -DNO_OPEN_BUS from the Makefile.
Diffstat (limited to 'source/memmap.h')
-rw-r--r-- | source/memmap.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source/memmap.h b/source/memmap.h index 58f0c9f..f838065 100644 --- a/source/memmap.h +++ b/source/memmap.h @@ -276,7 +276,7 @@ bool8 LoadZip(const char* zipname, END_EXTERN_C extern "C" { -void S9xAutoSaveSRAM (); + void S9xAutoSaveSRAM (); } #ifdef NO_INLINE_SET_GET @@ -288,9 +288,12 @@ void S9xSetPCBase (uint32 Address); uint8 *S9xGetMemPointer (uint32 Address); uint8 *GetBasePointer (uint32 Address); -extern "C"{ -extern uint8 OpenBus; +#ifndef NO_OPEN_BUS +extern "C" { + extern uint8 OpenBus; } +#endif + #else #define INLINE inline #include "getset.h" |