aboutsummaryrefslogtreecommitdiff
path: root/source/memmap.h
diff options
context:
space:
mode:
authorJoão Silva2017-02-12 22:16:10 +0000
committerJoão Silva2017-02-12 22:16:10 +0000
commitc3fadd966ae2a65a683d6cc0b07a26c2980f6bbd (patch)
tree34346e131ec88be8715ceb44b1c984de44d6f8e9 /source/memmap.h
parentfb2517282da2fdfc26e58207bbb8e0a8bca35be2 (diff)
downloadsnes9x2005-c3fadd966ae2a65a683d6cc0b07a26c2980f6bbd.tar.gz
snes9x2005-c3fadd966ae2a65a683d6cc0b07a26c2980f6bbd.tar.bz2
snes9x2005-c3fadd966ae2a65a683d6cc0b07a26c2980f6bbd.zip
Fixed stupid mistake that broke some games. Other minor changes.
Diffstat (limited to 'source/memmap.h')
-rw-r--r--source/memmap.h39
1 files changed, 11 insertions, 28 deletions
diff --git a/source/memmap.h b/source/memmap.h
index 3cf0138..3675357 100644
--- a/source/memmap.h
+++ b/source/memmap.h
@@ -6,35 +6,22 @@
#include "snes9x.h"
#ifdef FAST_LSB_WORD_ACCESS
-#define READ_WORD(s) (*(uint16_t *) (s))
-#define READ_DWORD(s) (*(uint32_t *) (s))
-#define WRITE_WORD(s, d) (*(uint16_t *) (s)) = (d)
+#define READ_WORD(s) (*(uint16_t *) (s))
+#define READ_DWORD(s) (*(uint32_t *) (s))
+#define WRITE_WORD(s, d) (*(uint16_t *) (s)) = (d)
#define WRITE_DWORD(s, d) (*(uint32_t *) (s)) = (d)
-#define READ_3WORD(s) (0x00ffffff & *(uint32_t *) (s))
-#define WRITE_3WORD(s, d) *(uint16_t *) (s) = (uint16_t)(d),\
- *((uint8_t *) (s) + 2) = (uint8_t) ((d) >> 16)
+#define READ_3WORD(s) (0x00ffffff & *(uint32_t *) (s))
+#define WRITE_3WORD(s, d) *(uint16_t *) (s) = (uint16_t)(d), *((uint8_t *) (s) + 2) = (uint8_t) ((d) >> 16)
#else
-#define READ_WORD(s) ( *(uint8_t *) (s) |\
- (*((uint8_t *) (s) + 1) << 8))
-#define READ_DWORD(s) ( *(uint8_t *) (s) |\
- (*((uint8_t *) (s) + 1) << 8) |\
- (*((uint8_t *) (s) + 2) << 16) |\
- (*((uint8_t *) (s) + 3) << 24))
-#define WRITE_WORD(s, d) *(uint8_t *) (s) = (d), \
- *((uint8_t *) (s) + 1) = (d) >> 8
-#define WRITE_DWORD(s, d) *(uint8_t *) (s) = (uint8_t) (d), \
- *((uint8_t *) (s) + 1) = (uint8_t) ((d) >> 8),\
- *((uint8_t *) (s) + 2) = (uint8_t) ((d) >> 16),\
- *((uint8_t *) (s) + 3) = (uint8_t) ((d) >> 24)
-#define WRITE_3WORD(s, d) *(uint8_t *) (s) = (uint8_t) (d), \
- *((uint8_t *) (s) + 1) = (uint8_t) ((d) >> 8),\
- *((uint8_t *) (s) + 2) = (uint8_t) ((d) >> 16)
-#define READ_3WORD(s) ( *(uint8_t *) (s) |\
- (*((uint8_t *) (s) + 1) << 8) |\
- (*((uint8_t *) (s) + 2) << 16))
+#define READ_WORD(s) (*(uint8_t *) (s) | (*((uint8_t *) (s) + 1) << 8))
+#define READ_DWORD(s) (*(uint8_t *) (s) | (*((uint8_t *) (s) + 1) << 8) | (*((uint8_t *) (s) + 2) << 16) | (*((uint8_t *) (s) + 3) << 24))
+#define WRITE_WORD(s, d) *(uint8_t *) (s) = (d), *((uint8_t *) (s) + 1) = (d) >> 8
+#define WRITE_DWORD(s, d) *(uint8_t *) (s) = (uint8_t) (d), *((uint8_t *) (s) + 1) = (uint8_t) ((d) >> 8), *((uint8_t *) (s) + 2) = (uint8_t) ((d) >> 16), *((uint8_t *) (s) + 3) = (uint8_t) ((d) >> 24)
+#define WRITE_3WORD(s, d) *(uint8_t *) (s) = (uint8_t) (d), *((uint8_t *) (s) + 1) = (uint8_t) ((d) >> 8), *((uint8_t *) (s) + 2) = (uint8_t) ((d) >> 16)
+#define READ_3WORD(s) (*(uint8_t *) (s) | (*((uint8_t *) (s) + 1) << 8) | (*((uint8_t *) (s) + 2) << 16))
#endif
#define MEMMAP_BLOCK_SIZE (0x1000)
@@ -42,7 +29,6 @@
#define MEMMAP_BLOCKS_PER_BANK (0x10000 / MEMMAP_BLOCK_SIZE)
#define MEMMAP_SHIFT 12
#define MEMMAP_MASK (MEMMAP_BLOCK_SIZE - 1)
-#define MEMMAP_MAX_SDD1_LOGGED_ENTRIES (0x10000 / 8)
//Extended ROM Formats
#define NOPE 0
@@ -149,9 +135,6 @@ typedef struct
uint8_t* SDD1Index;
uint8_t* SDD1Data;
uint32_t SDD1Entries;
- uint32_t SDD1LoggedDataCountPrev;
- uint32_t SDD1LoggedDataCount;
- uint8_t SDD1LoggedData [MEMMAP_MAX_SDD1_LOGGED_ENTRIES];
char ROMFilename [_MAX_PATH];
uint8_t ROMRegion;
uint32_t ROMCRC32;