char str[64];
sprintf(str,"rd @ %04X",Address);
S9xMessage(0,0,str);
- gp32_pause();
#endif
#ifdef __memcheck__
mem_check+=(Address>>16)+Address;
-#endif
-#if defined(VAR_CYCLES) || defined(CPU_SHUTDOWN)
- int block;
- uint8 *GetAddress = Memory.Map [block = (Address >> MEMMAP_SHIFT) & MEMMAP_MASK];
-#else
- uint8 *GetAddress = Memory.Map [(Address >> MEMMAP_SHIFT) & MEMMAP_MASK];
-#endif
- if (GetAddress >= (uint8 *) CMemory::MAP_LAST)
- {
+#endif
+ const int block = (Address >> MEMMAP_SHIFT) & MEMMAP_MASK;
+ uint8 *GetAddress = Memory.Map[block];
+
+ if (GetAddress >= (uint8 *) CMemory::MAP_LAST)
+ {
#ifdef VAR_CYCLES
- CPU.Cycles += Memory.MemorySpeed [block];
+ CPU.Cycles += Memory.MemorySpeed [block];
#endif
#ifdef CPU_SHUTDOWN
- if (Memory.BlockIsRAM [block])
- CPU.WaitAddress = CPU.PCAtOpcodeStart;
+ if (Memory.BlockIsRAM [block])
+ CPU.WaitAddress = CPU.PCAtOpcodeStart;
#endif
- return (*(GetAddress + (Address & 0xffff)));
- }
+ return (*(GetAddress + (Address & 0xffff)));
+ }
- switch ((int) GetAddress)
+ switch ((CMemory::Types)(intptr_t) GetAddress)
{
case CMemory::MAP_PPU:
#ifdef VAR_CYCLES
CPU.Cycles += SLOW_ONE_CYCLE;
#endif
return (*(Memory.BWRAM + ((Address & 0x7fff) - 0x6000)));
-//#ifndef __GP32__
+
case CMemory::MAP_C4:
return (S9xGetC4 (Address & 0xffff));
-//#endif
+
default:
case CMemory::MAP_NONE:
#ifdef VAR_CYCLES
char str[64];
sprintf(str,"rd @ %04X",Address);
S9xMessage(0,0,str);
- gp32_pause();
#endif
#ifdef __memcheck__
mem_check+=(Address>>16)+Address;
#endif
- if ((Address & 0x1fff) == 0x1fff)
- {
- return (S9xGetByte (Address) | (S9xGetByte (Address + 1) << 8));
- }
-#if defined(VAR_CYCLES) || defined(CPU_SHUTDOWN)
- int block;
- uint8 *GetAddress = Memory.Map [block = (Address >> MEMMAP_SHIFT) & MEMMAP_MASK];
-#else
- uint8 *GetAddress = Memory.Map [(Address >> MEMMAP_SHIFT) & MEMMAP_MASK];
-#endif
+ if ((Address & 0x1fff) == 0x1fff)
+ {
+ return (S9xGetByte (Address) | (S9xGetByte (Address + 1) << 8));
+ }
+
+ const int block = (Address >> MEMMAP_SHIFT) & MEMMAP_MASK;
+ uint8 *GetAddress = Memory.Map[block];
+
if (GetAddress >= (uint8 *) CMemory::MAP_LAST)
{
#ifdef VAR_CYCLES
#endif
}
- switch ((int) GetAddress)
+ switch ((CMemory::Types)(intptr_t) GetAddress)
{
case CMemory::MAP_PPU:
#ifdef VAR_CYCLES
printf ("R(W) %06x\n", Address);
#endif
-//#ifndef __GP32__
case CMemory::MAP_C4:
return (S9xGetC4 (Address & 0xffff) |
(S9xGetC4 ((Address + 1) & 0xffff) << 8));
-//#endif
+
default:
case CMemory::MAP_NONE:
#ifdef VAR_CYCLES
char str[64];
sprintf(str,"wr @ %04X %02X",Address,Byte);
S9xMessage(0,0,str);
- gp32_pause();
#endif
#ifdef __memcheck__
mem_check+=Byte;
#if defined(CPU_SHUTDOWN)
CPU.WaitAddress = NULL;
#endif
-#if defined(VAR_CYCLES)
- int block;
- uint8 *SetAddress = Memory.WriteMap [block = ((Address >> MEMMAP_SHIFT) & MEMMAP_MASK)];
-#else
- uint8 *SetAddress = Memory.WriteMap [(Address >> MEMMAP_SHIFT) & MEMMAP_MASK];
-#endif
+ const int block = (Address >> MEMMAP_SHIFT) & MEMMAP_MASK;
+ uint8 *SetAddress = Memory.WriteMap[block];
if (SetAddress >= (uint8 *) CMemory::MAP_LAST)
{
return;
}
- switch ((int) SetAddress)
+ switch ((CMemory::Types)(intptr_t) SetAddress)
{
case CMemory::MAP_PPU:
#ifdef VAR_CYCLES
*(Memory.SRAM + (Address & 0xffff)) = Byte;
SA1.Executing = !SA1.Waiting;
break;
-//#ifndef __GP32__
+
case CMemory::MAP_C4:
S9xSetC4 (Byte, Address & 0xffff);
return;
-//#endif
+
default:
case CMemory::MAP_NONE:
#ifdef VAR_CYCLES
char str[64];
sprintf(str,"wr @ %04X %04X",Address,Word);
S9xMessage(0,0,str);
- gp32_pause();
#endif
#ifdef __memcheck__
mem_check+=Word;
#if defined(CPU_SHUTDOWN)
CPU.WaitAddress = NULL;
#endif
-#if defined (VAR_CYCLES)
- int block;
- uint8 *SetAddress = Memory.WriteMap [block = ((Address >> MEMMAP_SHIFT) & MEMMAP_MASK)];
-#else
- uint8 *SetAddress = Memory.WriteMap [(Address >> MEMMAP_SHIFT) & MEMMAP_MASK];
-#endif
+ const int block = (Address >> MEMMAP_SHIFT) & MEMMAP_MASK;
+ uint8 *SetAddress = Memory.WriteMap[block];
if (SetAddress >= (uint8 *) CMemory::MAP_LAST)
{
CPU.Cycles += Memory.MemorySpeed [block] << 1;
#endif
#if defined(CPU_SHUTDOWN) && defined(USE_SA1)
- uint8 *SetAddressSA1 += Address & 0xffff;
+ uint8 *SetAddressSA1 = SetAddress + (Address & 0xffff);
if (SetAddressSA1 == SA1.WaitByteAddress1 ||
SetAddressSA1 == SA1.WaitByteAddress2)
{
return;
}
- switch ((int) SetAddress)
+ switch ((CMemory::Types)(intptr_t) SetAddress)
{
case CMemory::MAP_PPU:
#ifdef VAR_CYCLES
#endif
if (CPU.Memory_SRAMMask)
{
- *(Memory.SRAM +
- (((Address & 0x7fff) - 0x6000 +
- ((Address & 0xf0000) >> MEMMAP_SHIFT) & CPU.Memory_SRAMMask))) = (uint8) Word;
- *(Memory.SRAM +
- ((((Address + 1) & 0x7fff) - 0x6000 +
- (((Address + 1) & 0xf0000) >> MEMMAP_SHIFT) & CPU.Memory_SRAMMask))) = (uint8) (Word >> 8);
+ *(Memory.SRAM +
+ ((Address & 0x7fff) - 0x6000) +
+ (((Address & 0xf0000) >> MEMMAP_SHIFT) & CPU.Memory_SRAMMask)
+ ) = (uint8) Word;
+
+ *(Memory.SRAM +
+ (((Address + 1) & 0x7fff) - 0x6000) +
+ ((((Address + 1) & 0xf0000) >> MEMMAP_SHIFT) & CPU.Memory_SRAMMask)
+ ) = (uint8) (Word >> 8);
+
CPU.SRAMModified = TRUE;
}
return;
*(Memory.SRAM + ((Address + 1) & 0xffff)) = (uint8) (Word >> 8);
SA1.Executing = !SA1.Waiting;
break;
-//#ifndef __GP32__
+
case CMemory::MAP_C4:
S9xSetC4 (Word & 0xff, Address & 0xffff);
S9xSetC4 ((uint8) (Word >> 8), (Address + 1) & 0xffff);
return;
-//#endif
+
default:
case CMemory::MAP_NONE:
#ifdef VAR_CYCLES
if (GetAddress >= (uint8 *) CMemory::MAP_LAST)
return (GetAddress);
- switch ((int) GetAddress)
+ switch ((CMemory::Types)(intptr_t) GetAddress)
{
case CMemory::MAP_PPU:
return (Memory.FillRAM - 0x2000);
return (Memory.BWRAM - 0x6000);
case CMemory::MAP_HIROM_SRAM:
return (Memory.SRAM - 0x6000);
-//#ifndef __GP32__
case CMemory::MAP_C4:
return (Memory.C4RAM - 0x6000);
-//#endif
case CMemory::MAP_DEBUG:
#ifdef DEBUGGER
printf ("GBP %06x\n", Address);
#endif
-
default:
case CMemory::MAP_NONE:
#ifdef DEBUGGER
if (GetAddress >= (uint8 *) CMemory::MAP_LAST)
return (GetAddress + (Address & 0xffff));
- switch ((int) GetAddress)
+ switch ((CMemory::Types)(intptr_t) GetAddress)
{
case CMemory::MAP_PPU:
return (Memory.FillRAM - 0x2000 + (Address & 0xffff));
return (Memory.BWRAM - 0x6000 + (Address & 0xffff));
case CMemory::MAP_HIROM_SRAM:
return (Memory.SRAM - 0x6000 + (Address & 0xffff));
-//#ifndef __GP32__
+
case CMemory::MAP_C4:
return (Memory.C4RAM - 0x6000 + (Address & 0xffff));
-//#endif
+
case CMemory::MAP_DEBUG:
#ifdef DEBUGGER
printf ("GMP %06x\n", Address);
return;
}
- switch ((int) GetAddress)
+ switch ((CMemory::Types)(intptr_t) GetAddress)
{
case CMemory::MAP_PPU:
#ifdef VAR_CYCLES
CPU.PCBase = Memory.SRAM - 0x6000;
CPU.PC = CPU.PCBase + (Address & 0xffff);
return;
-//#ifndef __GP32__
+
case CMemory::MAP_C4:
#ifdef VAR_CYCLES
CPU.MemSpeed = SLOW_ONE_CYCLE;
CPU.PCBase = Memory.C4RAM - 0x6000;
CPU.PC = CPU.PCBase + (Address & 0xffff);
return;
-//#endif
+
case CMemory::MAP_DEBUG:
#ifdef DEBUGGER
printf ("SBP %06x\n", Address);