Advertisement
Guest User

Untitled

a guest
Oct 29th, 2011
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.07 KB | None | 0 0
  1. diff --git a/src-0.2.97.13/cpu/sek.cpp b/src-0.2.97.13/cpu/sek.cpp
  2. index 429eed7..87ef88c 100644
  3. --- a/src-0.2.97.13/cpu/sek.cpp
  4. +++ b/src-0.2.97.13/cpu/sek.cpp
  5. @@ -135,15 +135,15 @@ inline static void SingleStep_PC()
  6.  // ----------------------------------------------------------------------------
  7.  // Default memory access handlers
  8.  
  9. -unsigned char __fastcall DefReadByte(unsigned int) { return 0; }
  10. -void __fastcall DefWriteByte(unsigned int, unsigned char) { }
  11. +static unsigned char __fastcall DefReadByte(unsigned int) { return 0; }
  12. +static void __fastcall DefWriteByte(unsigned int, unsigned char) { }
  13.  
  14.  #define DEFWORDHANDLERS(i)                                                                             \
  15. -   unsigned short __fastcall DefReadWord##i(unsigned int a) { SEK_DEF_READ_WORD(i, a) }                \
  16. -   void __fastcall DefWriteWord##i(unsigned int a, unsigned short d) { SEK_DEF_WRITE_WORD(i, a ,d) }
  17. +   static unsigned short __fastcall DefReadWord##i(unsigned int a) { SEK_DEF_READ_WORD(i, a) }             \
  18. +   static void __fastcall DefWriteWord##i(unsigned int a, unsigned short d) { SEK_DEF_WRITE_WORD(i, a ,d) }
  19.  #define DEFLONGHANDLERS(i)                                                                             \
  20. -   unsigned int __fastcall DefReadLong##i(unsigned int a) { SEK_DEF_READ_LONG(i, a) }                  \
  21. -   void __fastcall DefWriteLong##i(unsigned int a, unsigned int d) { SEK_DEF_WRITE_LONG(i, a , d) }
  22. +   static unsigned int __fastcall DefReadLong##i(unsigned int a) { SEK_DEF_READ_LONG(i, a) }                   \
  23. +   static void __fastcall DefWriteLong##i(unsigned int a, unsigned int d) { SEK_DEF_WRITE_LONG(i, a , d) }
  24.  
  25.  DEFWORDHANDLERS(0)
  26.  DEFLONGHANDLERS(0)
  27. @@ -213,11 +213,11 @@ inline static unsigned char ReadByte(unsigned int a)
  28.  // bprintf(PRINT_NORMAL, _T("read8 0x%08X\n"), a);
  29.  
  30.     pr = FIND_R(a);
  31. -   if ((unsigned int)pr >= SEK_MAXHANDLER) {
  32. +   if ((uintptr_t)pr >= SEK_MAXHANDLER) {
  33.         a ^= 1;
  34.         return pr[a & SEK_PAGEM];
  35.     }
  36. -   return pSekExt->ReadByte[(unsigned int)pr](a);
  37. +   return pSekExt->ReadByte[(uintptr_t)pr](a);
  38.  }
  39.  
  40.  inline static unsigned char FetchByte(unsigned int a)
  41. @@ -229,11 +229,11 @@ inline static unsigned char FetchByte(unsigned int a)
  42.  // bprintf(PRINT_NORMAL, _T("fetch8 0x%08X\n"), a);
  43.  
  44.     pr = FIND_F(a);
  45. -   if ((unsigned int)pr >= SEK_MAXHANDLER) {
  46. +   if ((uintptr_t)pr >= SEK_MAXHANDLER) {
  47.         a ^= 1;
  48.         return pr[a & SEK_PAGEM];
  49.     }
  50. -   return pSekExt->ReadByte[(unsigned int)pr](a);
  51. +   return pSekExt->ReadByte[(uintptr_t)pr](a);
  52.  }
  53.  
  54.  inline static void WriteByte(unsigned int a, unsigned char d)
  55. @@ -245,12 +245,12 @@ inline static void WriteByte(unsigned int a, unsigned char d)
  56.  // bprintf(PRINT_NORMAL, _T("write8 0x%08X\n"), a);
  57.  
  58.     pr = FIND_W(a);
  59. -   if ((unsigned int)pr >= SEK_MAXHANDLER) {
  60. +   if ((uintptr_t)pr >= SEK_MAXHANDLER) {
  61.         a ^= 1;
  62.         pr[a & SEK_PAGEM] = (unsigned char)d;
  63.         return;
  64.     }
  65. -   pSekExt->WriteByte[(unsigned int)pr](a, d);
  66. +   pSekExt->WriteByte[(uintptr_t)pr](a, d);
  67.  }
  68.  
  69.  inline static void WriteByteROM(unsigned int a, unsigned char d)
  70. @@ -260,12 +260,12 @@ inline static void WriteByteROM(unsigned int a, unsigned char d)
  71.     a &= 0xFFFFFF;
  72.  
  73.     pr = FIND_R(a);
  74. -   if ((unsigned int)pr >= SEK_MAXHANDLER) {
  75. +   if ((uintptr_t)pr >= SEK_MAXHANDLER) {
  76.         a ^= 1;
  77.         pr[a & SEK_PAGEM] = (unsigned char)d;
  78.         return;
  79.     }
  80. -   pSekExt->WriteByte[(unsigned int)pr](a, d);
  81. +   pSekExt->WriteByte[(uintptr_t)pr](a, d);
  82.  }
  83.  
  84.  inline static unsigned short ReadWord(unsigned int a)
  85. @@ -277,10 +277,10 @@ inline static unsigned short ReadWord(unsigned int a)
  86.  // bprintf(PRINT_NORMAL, _T("read16 0x%08X\n"), a);
  87.  
  88.     pr = FIND_R(a);
  89. -   if ((unsigned int)pr >= SEK_MAXHANDLER) {
  90. +   if ((uintptr_t)pr >= SEK_MAXHANDLER) {
  91.         return *((unsigned short*)(pr + (a & SEK_PAGEM)));
  92.     }
  93. -   return pSekExt->ReadWord[(unsigned int)pr](a);
  94. +   return pSekExt->ReadWord[(uintptr_t)pr](a);
  95.  }
  96.  
  97.  inline static unsigned short FetchWord(unsigned int a)
  98. @@ -292,10 +292,10 @@ inline static unsigned short FetchWord(unsigned int a)
  99.  // bprintf(PRINT_NORMAL, _T("fetch16 0x%08X\n"), a);
  100.  
  101.     pr = FIND_F(a);
  102. -   if ((unsigned int)pr >= SEK_MAXHANDLER) {
  103. +   if ((uintptr_t)pr >= SEK_MAXHANDLER) {
  104.         return *((unsigned short*)(pr + (a & SEK_PAGEM)));
  105.     }
  106. -   return pSekExt->ReadWord[(unsigned int)pr](a);
  107. +   return pSekExt->ReadWord[(uintptr_t)pr](a);
  108.  }
  109.  
  110.  inline static void WriteWord(unsigned int a, unsigned short d)
  111. @@ -307,11 +307,11 @@ inline static void WriteWord(unsigned int a, unsigned short d)
  112.  // bprintf(PRINT_NORMAL, _T("write16 0x%08X\n"), a);
  113.  
  114.     pr = FIND_W(a);
  115. -   if ((unsigned int)pr >= SEK_MAXHANDLER) {
  116. +   if ((uintptr_t)pr >= SEK_MAXHANDLER) {
  117.         *((unsigned short*)(pr + (a & SEK_PAGEM))) = (unsigned short)d;
  118.         return;
  119.     }
  120. -   pSekExt->WriteWord[(unsigned int)pr](a, d);
  121. +   pSekExt->WriteWord[(uintptr_t)pr](a, d);
  122.  }
  123.  
  124.  inline static void WriteWordROM(unsigned int a, unsigned short d)
  125. @@ -321,11 +321,11 @@ inline static void WriteWordROM(unsigned int a, unsigned short d)
  126.     a &= 0xFFFFFF;
  127.  
  128.     pr = FIND_R(a);
  129. -   if ((unsigned int)pr >= SEK_MAXHANDLER) {
  130. +   if ((uintptr_t)pr >= SEK_MAXHANDLER) {
  131.         *((unsigned short*)(pr + (a & SEK_PAGEM))) = (unsigned short)d;
  132.         return;
  133.     }
  134. -   pSekExt->WriteWord[(unsigned int)pr](a, d);
  135. +   pSekExt->WriteWord[(uintptr_t)pr](a, d);
  136.  }
  137.  
  138.  inline static unsigned int ReadLong(unsigned int a)
  139. @@ -337,12 +337,12 @@ inline static unsigned int ReadLong(unsigned int a)
  140.  // bprintf(PRINT_NORMAL, _T("read32 0x%08X\n"), a);
  141.  
  142.     pr = FIND_R(a);
  143. -   if ((unsigned int)pr >= SEK_MAXHANDLER) {
  144. +   if ((uintptr_t)pr >= SEK_MAXHANDLER) {
  145.         unsigned int r = *((unsigned int*)(pr + (a & SEK_PAGEM)));
  146.         r = (r >> 16) | (r << 16);
  147.         return r;
  148.     }
  149. -   return pSekExt->ReadLong[(unsigned int)pr](a);
  150. +   return pSekExt->ReadLong[(uintptr_t)pr](a);
  151.  }
  152.  
  153.  inline static unsigned int FetchLong(unsigned int a)
  154. @@ -354,12 +354,12 @@ inline static unsigned int FetchLong(unsigned int a)
  155.  // bprintf(PRINT_NORMAL, _T("fetch32 0x%08X\n"), a);
  156.  
  157.     pr = FIND_F(a);
  158. -   if ((unsigned int)pr >= SEK_MAXHANDLER) {
  159. +   if ((uintptr_t)pr >= SEK_MAXHANDLER) {
  160.         unsigned int r = *((unsigned int*)(pr + (a & SEK_PAGEM)));
  161.         r = (r >> 16) | (r << 16);
  162.         return r;
  163.     }
  164. -   return pSekExt->ReadLong[(unsigned int)pr](a);
  165. +   return pSekExt->ReadLong[(uintptr_t)pr](a);
  166.  }
  167.  
  168.  inline static void WriteLong(unsigned int a, unsigned int d)
  169. @@ -371,12 +371,12 @@ inline static void WriteLong(unsigned int a, unsigned int d)
  170.  // bprintf(PRINT_NORMAL, _T("write32 0x%08X\n"), a);
  171.  
  172.     pr = FIND_W(a);
  173. -   if ((unsigned int)pr >= SEK_MAXHANDLER) {
  174. +   if ((uintptr_t)pr >= SEK_MAXHANDLER) {
  175.         d = (d >> 16) | (d << 16);
  176.         *((unsigned int*)(pr + (a & SEK_PAGEM))) = d;
  177.         return;
  178.     }
  179. -   pSekExt->WriteLong[(unsigned int)pr](a, d);
  180. +   pSekExt->WriteLong[(uintptr_t)pr](a, d);
  181.  }
  182.  
  183.  inline static void WriteLongROM(unsigned int a, unsigned int d)
  184. @@ -386,12 +386,12 @@ inline static void WriteLongROM(unsigned int a, unsigned int d)
  185.     a &= 0xFFFFFF;
  186.  
  187.     pr = FIND_R(a);
  188. -   if ((unsigned int)pr >= SEK_MAXHANDLER) {
  189. +   if ((uintptr_t)pr >= SEK_MAXHANDLER) {
  190.         d = (d >> 16) | (d << 16);
  191.         *((unsigned int*)(pr + (a & SEK_PAGEM))) = d;
  192.         return;
  193.     }
  194. -   pSekExt->WriteLong[(unsigned int)pr](a, d);
  195. +   pSekExt->WriteLong[(uintptr_t)pr](a, d);
  196.  }
  197.  
  198.  #if defined (FBA_DEBUG)
  199. @@ -1445,7 +1445,7 @@ int SekMapMemory(unsigned char* pMemory, unsigned int nStart, unsigned int nEnd,
  200.     return 0;
  201.  }
  202.  
  203. -int SekMapHandler(unsigned int nHandler, unsigned int nStart, unsigned int nEnd, int nType)
  204. +int SekMapHandler(uintptr_t nHandler, unsigned int nStart, unsigned int nEnd, int nType)
  205.  {
  206.     unsigned char** pMemMap = pSekExt->MemMap + (nStart >> SEK_SHIFT);
  207.  
  208.  
  209.  
  210.  
  211. diff --git a/src-0.2.97.13/cpu/sek.h b/src-0.2.97.13/cpu/sek.h
  212. index de77864..0b94923 100644
  213. --- a/src-0.2.97.13/cpu/sek.h
  214. +++ b/src-0.2.97.13/cpu/sek.h
  215. @@ -183,7 +183,7 @@ inline static int SekCurrentScanline()
  216.  
  217.  // Map areas of memory
  218.  int SekMapMemory(unsigned char* pMemory, unsigned int nStart, unsigned int nEnd, int nType);
  219. -int SekMapHandler(unsigned int nHandler, unsigned int nStart, unsigned int nEnd, int nType);
  220. +int SekMapHandler(uintptr_t nHandler, unsigned int nStart, unsigned int nEnd, int nType);
  221.  
  222.  // Set handlers
  223.  int SekSetReadByteHandler(int i, pSekReadByteHandler pHandler);
  224.  
  225.  
  226.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement