[BS-X] Read/Write Memory Pack Fixes

This commit is contained in:
luigiblood 2016-11-14 20:28:32 +01:00
parent 4c9feadc63
commit f9e457ea3b
2 changed files with 7 additions and 8 deletions

12
bsx.cpp
View File

@ -671,7 +671,7 @@ static void BSX_Map (void)
Memory.map_WriteProtectROM(); Memory.map_WriteProtectROM();
} }
static uint8 BSX_Get_Bypass_FlashIO (uint16 offset) static uint8 BSX_Get_Bypass_FlashIO (uint32 offset)
{ {
MapROM = FlashROM = Memory.ROM + Multi.cartOffsetB; MapROM = FlashROM = Memory.ROM + Multi.cartOffsetB;
@ -681,7 +681,7 @@ static uint8 BSX_Get_Bypass_FlashIO (uint16 offset)
return (MapROM[(offset & 0x1F0000) >> 1 | (offset & 0x7FFF)]); return (MapROM[(offset & 0x1F0000) >> 1 | (offset & 0x7FFF)]);
} }
static void BSX_Set_Bypass_FlashIO (uint16 offset, uint8 byte) static void BSX_Set_Bypass_FlashIO (uint32 offset, uint8 byte)
{ {
MapROM = FlashROM = Memory.ROM + Multi.cartOffsetB; MapROM = FlashROM = Memory.ROM + Multi.cartOffsetB;
@ -856,8 +856,8 @@ void S9xSetBSX (uint8 byte, uint32 address)
case 0x20D0: //Block Erase case 0x20D0: //Block Erase
uint32 x; uint32 x;
for (x = 0; x < 0x10000; x++) { for (x = 0; x < 0x10000; x++) {
BSX_Set_Bypass_FlashIO(((address & 0xFF0000) + x), 0xFF); //BSX_Set_Bypass_FlashIO(((address & 0xFF0000) + x), 0xFF);
//MapROM[((address & 0xFF0000) - 0xC00000) + x] = 0xFF; MapROM[(address & 0x0F0000) + x] = 0xFF;
} }
break; break;
@ -866,8 +866,8 @@ void S9xSetBSX (uint8 byte, uint32 address)
{ {
uint32 x; uint32 x;
for (x = 0; x < FLASH_SIZE; x++) { for (x = 0; x < FLASH_SIZE; x++) {
BSX_Set_Bypass_FlashIO(x, 0xFF); //BSX_Set_Bypass_FlashIO(x, 0xFF);
//MapROM[x] = 0xFF; MapROM[x] = 0xFF;
} }
} }
break; break;

View File

@ -3403,8 +3403,7 @@ void CMemory::Map_BSCartLoROMMap(uint8 mapping)
} }
map_LoROMSRAM(); map_LoROMSRAM();
map_index(0xc0, 0xef, 0x0000, 0x7fff, MAP_BSX, MAP_TYPE_RAM); map_index(0xc0, 0xef, 0x0000, 0xffff, MAP_BSX, MAP_TYPE_RAM);
map_index(0xc0, 0xef, 0x8000, 0xffff, MAP_BSX, MAP_TYPE_RAM);
map_WRAM(); map_WRAM();
map_WriteProtectROM(); map_WriteProtectROM();