mirror of
https://github.com/holub/mame
synced 2025-06-01 02:21:48 +03:00
snes.c: fixing some MESS-related SRAM issues (commit failed somehow last week :-( ). No whatsnew needed.
This commit is contained in:
parent
d4a35af1dd
commit
407a58d00f
@ -999,8 +999,8 @@ READ8_HANDLER( snes_r_bank2 )
|
|||||||
}
|
}
|
||||||
else if ((state->cart[0].mode == SNES_MODE_21) && (state->cart[0].sram > 0))
|
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 */
|
// int mask = state->cart[0].sram - 1; /* Limit SRAM size to what's actually present */
|
||||||
value = snes_ram[0x300000 + (offset & mask)];
|
value = snes_ram[0x300000 + offset];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1123,7 +1123,7 @@ READ8_HANDLER( snes_r_bank5 )
|
|||||||
{
|
{
|
||||||
if (state->cart[0].sram > 0)
|
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)];
|
value = snes_ram[0x700000 + (offset & mask)];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1162,8 +1162,8 @@ READ8_HANDLER( snes_r_bank6 )
|
|||||||
value = memory_read_byte(space, offset);
|
value = memory_read_byte(space, offset);
|
||||||
else if ((offset >= 0x300000) && (state->cart[0].sram > 0))
|
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 */
|
// int mask = state->cart[0].sram - 1; /* Limit SRAM size to what's actually present */
|
||||||
value = snes_ram[0x800000 + (offset & mask)];
|
value = snes_ram[0x800000 + offset];
|
||||||
}
|
}
|
||||||
else /* Area 0x6000-0x8000 with offset < 0x300000 is reserved */
|
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))
|
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 */
|
// int mask = state->cart[0].sram - 1; /* Limit SRAM size to what's actually present */
|
||||||
snes_ram[0x300000 + (offset & mask)] = data;
|
snes_ram[0x300000 + offset] = data;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
logerror("snes_w_bank2: Attempt to write to reserved address: %X = %02x\n", offset + 0x300000, data);
|
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)
|
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 */
|
||||||
snes_ram[0x700000 + (offset & mask)] = data;
|
snes_ram[0x700000 + + (offset & mask)] = data;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
logerror("snes_w_bank5: Attempt to write to reserved address: %X = %02x\n", offset + 0x700000, data);
|
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);
|
memory_write_byte(space, offset, data);
|
||||||
else if ((offset >= 0x300000) && (state->cart[0].sram > 0))
|
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 */
|
// int mask = state->cart[0].sram - 1; /* Limit SRAM size to what's actually present */
|
||||||
snes_ram[0x800000 + (offset & mask)] = data;
|
snes_ram[0x800000 + offset] = data;
|
||||||
}
|
}
|
||||||
else /* Area in 0x6000-0x8000 && offset < 0x300000 is Reserved! */
|
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);
|
logerror("snes_w_bank6: Attempt to write to reserved address: %X = %02x\n", offset + 0x800000, data);
|
||||||
|
Loading…
Reference in New Issue
Block a user