snes.c: fixing some MESS-related SRAM issues (commit failed somehow last week :-( ). No whatsnew needed.

This commit is contained in:
Fabio Priuli 2010-06-01 07:18:41 +00:00
parent d4a35af1dd
commit 407a58d00f

View File

@ -999,8 +999,8 @@ READ8_HANDLER( snes_r_bank2 )
}
else if ((state->cart[0].mode == SNES_MODE_21) && (state->cart[0].sram > 0))
{
int mask = (state->cart[0].sram - 1) | 0xff0000; /* Limit SRAM size to what's actually present */
value = snes_ram[0x300000 + (offset & mask)];
// int mask = state->cart[0].sram - 1; /* Limit SRAM size to what's actually present */
value = snes_ram[0x300000 + offset];
}
else
{
@ -1123,7 +1123,7 @@ READ8_HANDLER( snes_r_bank5 )
{
if (state->cart[0].sram > 0)
{
int mask = (state->cart[0].sram - 1) | 0xff0000; /* Limit SRAM size to what's actually present */
int mask = state->cart[0].sram - 1; /* Limit SRAM size to what's actually present */
value = snes_ram[0x700000 + (offset & mask)];
}
else
@ -1162,8 +1162,8 @@ READ8_HANDLER( snes_r_bank6 )
value = memory_read_byte(space, offset);
else if ((offset >= 0x300000) && (state->cart[0].sram > 0))
{
int mask = (state->cart[0].sram - 1) | 0xff0000; /* Limit SRAM size to what's actually present */
value = snes_ram[0x800000 + (offset & mask)];
// int mask = state->cart[0].sram - 1; /* Limit SRAM size to what's actually present */
value = snes_ram[0x800000 + offset];
}
else /* Area 0x6000-0x8000 with offset < 0x300000 is reserved */
{
@ -1324,8 +1324,8 @@ WRITE8_HANDLER( snes_w_bank2 )
}
else if ((state->cart[0].mode == SNES_MODE_21) && (state->cart[0].sram > 0))
{
int mask = (state->cart[0].sram - 1) | 0xff0000; /* Limit SRAM size to what's actually present */
snes_ram[0x300000 + (offset & mask)] = data;
// int mask = state->cart[0].sram - 1; /* Limit SRAM size to what's actually present */
snes_ram[0x300000 + offset] = data;
}
else
logerror("snes_w_bank2: Attempt to write to reserved address: %X = %02x\n", offset + 0x300000, data);
@ -1389,8 +1389,8 @@ WRITE8_HANDLER( snes_w_bank5 )
{
if (state->cart[0].sram > 0)
{
int mask = (state->cart[0].sram - 1) | 0xff0000; /* Limit SRAM size to what's actually present */
snes_ram[0x700000 + (offset & mask)] = data;
int mask = state->cart[0].sram - 1; /* Limit SRAM size to what's actually present */
snes_ram[0x700000 + + (offset & mask)] = data;
}
else
logerror("snes_w_bank5: Attempt to write to reserved address: %X = %02x\n", offset + 0x700000, data);
@ -1423,8 +1423,8 @@ WRITE8_HANDLER( snes_w_bank6 )
memory_write_byte(space, offset, data);
else if ((offset >= 0x300000) && (state->cart[0].sram > 0))
{
int mask = (state->cart[0].sram - 1) | 0xff0000; /* Limit SRAM size to what's actually present */
snes_ram[0x800000 + (offset & mask)] = data;
// int mask = state->cart[0].sram - 1; /* Limit SRAM size to what's actually present */
snes_ram[0x800000 + offset] = data;
}
else /* Area in 0x6000-0x8000 && offset < 0x300000 is Reserved! */
logerror("snes_w_bank6: Attempt to write to reserved address: %X = %02x\n", offset + 0x800000, data);