mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
(MESS) megadriv: emulated protection in pokemona (similar to kof99 and pokemon, but with one diff expected value) nw.
This commit is contained in:
parent
b449087cda
commit
aaec22f4d1
@ -16683,11 +16683,12 @@ Notice that these are not working on real hardware due to bugged code with VDP i
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="pokemona" cloneof="pokemon" supported="no">
|
||||
<description>Pocket Monsters (Alt)</description>
|
||||
<software name="pokemona" cloneof="pokemon">
|
||||
<description>Pocket Monsters (Alt Protection)</description>
|
||||
<year>199?</year>
|
||||
<publisher><unlicensed></publisher>
|
||||
<part name="cart" interface="megadriv_cart">
|
||||
<feature name="slot" value="rom_pokea" />
|
||||
<dataarea name="rom" size="2097152">
|
||||
<rom name="pocket monsters (unl) (alt).bin" size="2097152" crc="fb176667" sha1="3d667aea1b6fa980dddcc10e65845a6831491792" offset="000000" loadflag="load16_word_swap" />
|
||||
</dataarea>
|
||||
|
@ -336,6 +336,7 @@ static SLOT_INTERFACE_START(md_cart)
|
||||
SLOT_INTERFACE_INTERNAL("rom_lion3", MD_ROM_LION3)
|
||||
SLOT_INTERFACE_INTERNAL("rom_mcpir", MD_ROM_MCPIR)
|
||||
SLOT_INTERFACE_INTERNAL("rom_mjlov", MD_ROM_MJLOV)
|
||||
SLOT_INTERFACE_INTERNAL("rom_pokea", MD_ROM_POKEA)
|
||||
SLOT_INTERFACE_INTERNAL("rom_pokestad", MD_ROM_POKESTAD)
|
||||
SLOT_INTERFACE_INTERNAL("rom_realtec", MD_ROM_REALTEC)
|
||||
SLOT_INTERFACE_INTERNAL("rom_redcl", MD_ROM_REDCL)
|
||||
|
@ -42,6 +42,7 @@ const device_type MD_ROM_YASECH = &device_creator<md_rom_yasech_device>;
|
||||
const device_type MD_ROM_LION2 = &device_creator<md_rom_lion2_device>;
|
||||
const device_type MD_ROM_LION3 = &device_creator<md_rom_lion3_device>;
|
||||
const device_type MD_ROM_MCPIR = &device_creator<md_rom_mcpirate_device>;
|
||||
const device_type MD_ROM_POKEA = &device_creator<md_rom_pokea_device>;
|
||||
const device_type MD_ROM_POKESTAD = &device_creator<md_rom_pokestad_device>;
|
||||
const device_type MD_ROM_REALTEC = &device_creator<md_rom_realtec_device>;
|
||||
const device_type MD_ROM_REDCL = &device_creator<md_rom_redcl_device>;
|
||||
@ -115,7 +116,7 @@ md_rom_sbubl_device::md_rom_sbubl_device(const machine_config &mconfig, const ch
|
||||
}
|
||||
|
||||
md_rom_rx3_device::md_rom_rx3_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: md_std_rom_device(mconfig, MD_ROM_SMB2, "MD Rockman X3", tag, owner, clock)
|
||||
: md_std_rom_device(mconfig, MD_ROM_RX3, "MD Rockman X3", tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
@ -130,7 +131,7 @@ md_rom_kof98_device::md_rom_kof98_device(const machine_config &mconfig, const ch
|
||||
}
|
||||
|
||||
md_rom_kof99_device::md_rom_kof99_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: md_std_rom_device(mconfig, MD_ROM_KOF99, "MD KOF 99", tag, owner, clock)
|
||||
: md_std_rom_device(mconfig, MD_ROM_KOF99, "MD KOF 99 (and others)", tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
@ -164,6 +165,11 @@ md_rom_lion3_device::md_rom_lion3_device(const machine_config &mconfig, const ch
|
||||
{
|
||||
}
|
||||
|
||||
md_rom_pokea_device::md_rom_pokea_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: md_std_rom_device(mconfig, MD_ROM_POKEA, "MD Pokemon (Alt Protection)", tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
md_rom_pokestad_device::md_rom_pokestad_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: md_std_rom_device(mconfig, MD_ROM_POKESTAD, "MD Pokemon Stadium", tag, owner, clock)
|
||||
{
|
||||
@ -768,6 +774,18 @@ WRITE16_MEMBER(md_rom_pokestad_device::write)
|
||||
m_bank = data & 0x7f;
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
POKEMON ALT
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ16_MEMBER(md_rom_pokea_device::read_a13)
|
||||
{
|
||||
if (offset == 0x00/2) return 0x14;
|
||||
if (offset == 0x02/2) return 0x01;
|
||||
if (offset == 0x3e/2) return 0x1f;
|
||||
else return 0xffff;
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
REALTEC
|
||||
-------------------------------------------------*/
|
||||
|
@ -254,6 +254,21 @@ public:
|
||||
virtual DECLARE_READ16_MEMBER(read);
|
||||
};
|
||||
|
||||
// ======================> md_rom_pokea_device
|
||||
|
||||
class md_rom_pokea_device : public md_std_rom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
md_rom_pokea_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_config_complete() { m_shortname = "md_rom_pokea"; }
|
||||
|
||||
// reading and writing
|
||||
virtual DECLARE_READ16_MEMBER(read_a13);
|
||||
};
|
||||
|
||||
// ======================> md_rom_pokestad_device
|
||||
|
||||
class md_rom_pokestad_device : public md_std_rom_device
|
||||
@ -539,6 +554,7 @@ extern const device_type MD_ROM_LION2;
|
||||
extern const device_type MD_ROM_LION3;
|
||||
extern const device_type MD_ROM_MCPIR;
|
||||
extern const device_type MD_ROM_MJLOV;
|
||||
extern const device_type MD_ROM_POKEA;
|
||||
extern const device_type MD_ROM_POKESTAD;
|
||||
extern const device_type MD_ROM_REALTEC;
|
||||
extern const device_type MD_ROM_REDCL;
|
||||
|
@ -272,6 +272,7 @@ static const md_slot slot_list[] =
|
||||
{ LIONK3, "rom_lion3" },
|
||||
{ MC_PIRATE, "rom_mcpir" },
|
||||
{ MJLOVER, "rom_mjlov" },
|
||||
{ POKEMONA, "rom_pokea" },
|
||||
{ REALTEC, "rom_realtec" },
|
||||
{ REDCL_EN, "rom_redcl" },
|
||||
{ REDCLIFF, "rom_redcl" },
|
||||
|
@ -55,6 +55,7 @@ enum
|
||||
LIONK3, /* Lion King 3, Super Donkey Kong 99, Super King Kong 99 */
|
||||
MC_PIRATE, /* Super 19 in 1, Super 15 in 1, 12 in 1 and a few more multicarts */
|
||||
MJLOVER, /* Mahjong Lover */
|
||||
POKEMONA, /* Pocket Monster Alt Protection */
|
||||
REALTEC, /* Whac a Critter/Mallet legend, Defend the Earth, Funnyworld/Ballonboy */
|
||||
REDCLIFF, /* Romance of the Three Kingdoms - Battle of Red Cliffs, already decoded from .mdx format */
|
||||
REDCL_EN, /* The encoded version... */
|
||||
|
Loading…
Reference in New Issue
Block a user