]> git.sesse.net Git - pistorm/blobdiff - emulator.c
move address translation cache fields from global variables to the m68k struct, as
[pistorm] / emulator.c
index 0ea23f0430b8a6933d3b3ba30c6f38a0e467b2f4..19a146777970765dda7c10bbd5b096ff0d1d2b75 100644 (file)
 
 #define KEY_POLL_INTERVAL_MSEC 5000
 
-unsigned char read_ranges;
-unsigned int read_addr[8];
-unsigned int read_upper[8];
-unsigned char *read_data[8];
-unsigned char write_ranges;
-unsigned int write_addr[8];
-unsigned int write_upper[8];
-unsigned char *write_data[8];
-address_translation_cache code_translation_cache = {0};
-
 int kb_hook_enabled = 0;
 int mouse_hook_enabled = 0;
 int cpu_emulation_running = 1;
@@ -971,6 +961,19 @@ unsigned int m68k_read_memory_32(unsigned int address) {
 
 static inline int32_t platform_write_check(uint8_t type, uint32_t addr, uint32_t val) {
   switch (cfg->platform->id) {
+    case PLATFORM_MAC:
+      switch (addr) {
+        case 0xEFFFFE: // VIA1?
+          if (val & 0x10 && !ovl) {
+              ovl = 1;
+              printf("[MAC] OVL on.\n");
+          } else if (ovl) {
+            ovl = 0;
+            printf("[MAC] OVL off.\n");
+          }
+          break;
+      }
+      break;
     case PLATFORM_AMIGA:
       switch (addr) {
         case CIAAPRA: