mirror of
https://github.com/holub/mame
synced 2025-06-07 21:33:45 +03:00
(MESS) megadriv.c: Attempt to properly emulate protection in Sould Edge vs Samurai Spirits. nw.
Also fixed the slot option for nflqb96.
This commit is contained in:
parent
f97a9fe6bd
commit
bee34ea13e
@ -362,7 +362,7 @@ static SLOT_INTERFACE_START(md_cart)
|
||||
SLOT_INTERFACE_INTERNAL("rom_eeprom", MD_STD_EEPROM)
|
||||
SLOT_INTERFACE_INTERNAL("rom_nbajam", MD_EEPROM_NBAJAM)
|
||||
SLOT_INTERFACE_INTERNAL("rom_nbajamte", MD_EEPROM_NBAJAMTE)
|
||||
SLOT_INTERFACE_INTERNAL("rom_nflqb", MD_EEPROM_NFLQB)
|
||||
SLOT_INTERFACE_INTERNAL("rom_nflqb96", MD_EEPROM_NFLQB)
|
||||
SLOT_INTERFACE_INTERNAL("rom_cslam", MD_EEPROM_CSLAM)
|
||||
SLOT_INTERFACE_INTERNAL("rom_nhlpa", MD_EEPROM_NHLPA)
|
||||
SLOT_INTERFACE_INTERNAL("rom_blara", MD_EEPROM_BLARA)
|
||||
|
@ -733,13 +733,12 @@ WRITE16_MEMBER(md_rom_lion2_device::write)
|
||||
LION KING 3
|
||||
-------------------------------------------------*/
|
||||
|
||||
// TODO: Sould Edge vs Samurai Spirits uses this same mechanism (or a very similar one)
|
||||
// but expects to bankswitch more than the first 32k chunk...
|
||||
#define MD_LION3_ADDR(a) (((offset << 1) | (m_bank << 15)) & (m_rom_size - 1))/2
|
||||
|
||||
READ16_MEMBER(md_rom_lion3_device::read)
|
||||
{
|
||||
if (offset < 0x8000/2)
|
||||
return m_rom[offset + (m_bank * 0x8000)/2];
|
||||
if (offset < 0x100000/2)
|
||||
return m_rom[MD_LION3_ADDR(offset)];
|
||||
else if (offset >= 0x600000/2 && offset < 0x700000/2)
|
||||
{
|
||||
switch (offset & 0x7)
|
||||
@ -847,10 +846,12 @@ READ16_MEMBER(md_rom_soulb_device::read)
|
||||
POKEMON STADIUM / KAIJU
|
||||
-------------------------------------------------*/
|
||||
|
||||
#define MD_POKESTAD_ADDR(a) (((offset << 1) | (m_bank << 15)) & (m_rom_size - 1))/2
|
||||
|
||||
READ16_MEMBER(md_rom_pokestad_device::read)
|
||||
{
|
||||
if (offset < 0x8000/2)
|
||||
return m_rom[offset + (m_bank * 0x8000)/2];
|
||||
if (offset < 0x100000/2)
|
||||
return m_rom[MD_POKESTAD_ADDR(offset)];
|
||||
return m_rom[MD_ADDR(offset)];
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user