updated Musashi to MAME 0.117
[picodrive.git] / cpu / Cyclone / config.h
index a7f6a75..6fc6571 100644 (file)
  * count in ARM registers instead of the context for performance reasons. If you for\r
  * any reason need to access them in your memory handlers, enable the options below,\r
  * otherwise disable them to improve performance.\r
- * PC value will point to start of instruction currently executed.\r
+ * MEMHANDLERS_NEED_PC updates .pc context field with PC value effective at the time\r
+ * when memhandler was called (opcode address + unknown amount).\r
+ * MEMHANDLERS_NEED_PREV_PC updates .prev_pc context field to currently executed\r
+ * opcode address + 2.\r
+ * Note that .pc and .prev_pc values are always real pointers to memory, so you must\r
+ * subtract .membase to get M68k PC value.\r
  * Warning: updating PC in memhandlers is dangerous, as Cyclone may internally\r
  * increment the PC before fetching the next instruction and continue executing\r
  * at wrong location.\r
  */\r
 #define MEMHANDLERS_NEED_PC       0\r
+#define MEMHANDLERS_NEED_PREV_PC  0\r
 #define MEMHANDLERS_NEED_FLAGS    0\r
 #define MEMHANDLERS_NEED_CYCLES   1\r
 #define MEMHANDLERS_CHANGE_PC     0\r
  */\r
 #define USE_CHECKPC_CALLBACK      1\r
 \r
+/*\r
+ * This determines if checkpc() should be called after jumps when 8 and 16 bit\r
+ * displacement values were used.\r
+ */\r
+#define USE_CHECKPC_OFFSETBITS_16 1\r
+#define USE_CHECKPC_OFFSETBITS_8  0\r
+\r
+/*\r
+ * Call checkpc() after DBcc jumps (which use 16bit displacement). Cyclone prior to\r
+ * 0.0087 never did that.\r
+ */\r
+#define USE_CHECKPC_DBRA          0\r
+\r
 /*\r
  * When this option is enabled Cyclone will do two word writes instead of one\r
  * long write when handling MOVE.L with pre-decrementing destination, as described in\r