summaryrefslogtreecommitdiff
path: root/src/memmap.h
diff options
context:
space:
mode:
authorToad King2012-06-14 03:23:47 -0400
committerToad King2012-06-14 03:23:47 -0400
commite8bad8c3ca33d6dfa672f2e570eddc3ab4b3a7e6 (patch)
tree3b5ee797171edafe59bc22ec1523554d81bc448e /src/memmap.h
parent6fb0c7a7a53e1eba7a0f5dc5b1ade312a0d76119 (diff)
downloadsnes9x2002-e8bad8c3ca33d6dfa672f2e570eddc3ab4b3a7e6.tar.gz
snes9x2002-e8bad8c3ca33d6dfa672f2e570eddc3ab4b3a7e6.tar.bz2
snes9x2002-e8bad8c3ca33d6dfa672f2e570eddc3ab4b3a7e6.zip
initial libretro changes
Diffstat (limited to 'src/memmap.h')
-rw-r--r--src/memmap.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/memmap.h b/src/memmap.h
index ca234ea..d146522 100644
--- a/src/memmap.h
+++ b/src/memmap.h
@@ -46,8 +46,11 @@
#ifdef FAST_LSB_WORD_ACCESS
#define READ_WORD(s) (*(uint16 *) (s))
#define READ_DWORD(s) (*(uint32 *) (s))
-#define WRITE_WORD(s, d) (*(uint16 *) (s) = (d)
-#define WRITE_DWORD(s, d) (*(uint32 *) (s) = (d)
+#define WRITE_WORD(s, d) *(uint16 *) (s) = (d)
+#define WRITE_DWORD(s, d) *(uint32 *) (s) = (d)
+#define READ_3WORD(s) ((*(uint32 *) (s)) & 0x00FFFFFF)
+#define WRITE_3WORD(s, d) *(uint16 *) (s) = (uint16) (d), \
+ *((uint8 *) (s) + 2) = (uint8) ((d) >> 16)
#else
#define READ_WORD(s) ( *(uint8 *) (s) |\
(*((uint8 *) (s) + 1) << 8))