mirror of
https://github.com/holub/mame
synced 2025-04-19 15:11:37 +03:00
(MESS) a2600.c: Added proper support for games using a 4in1 mapper. (Wilbert Pol)
This commit is contained in:
parent
f4252feeea
commit
e5d37a4595
@ -217,6 +217,7 @@ Info from Atariage and Atarimania
|
||||
<info name="serial" value="CX26137" /> <!-- Not Sure About it. -->
|
||||
<sharedfeat name="compatibility" value="NTSC"/>
|
||||
<part name="cart" interface="a2600_cart">
|
||||
<feature name="mapper" value="4in1" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="4 in 1 - canyon bomber, home run, night driver, sky diver (02-19-1987) (atari) (cx26137) (prototype).bin" size="8192" crc="8b304851" sha1="bc60987b668d6fa26c49f5aba5815622710140d9" offset="0" />
|
||||
</dataarea>
|
||||
@ -230,17 +231,20 @@ Info from Atariage and Atarimania
|
||||
<info name="serial" value="P460" />
|
||||
<sharedfeat name="compatibility" value="PAL"/>
|
||||
<part name="cart" interface="a2600_cart">
|
||||
<feature name="mapper" value="4in1" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="4 game in one - rodeo champ, open sesame, bobby is going home, festival.bin" size="16384" crc="69ca1a92" sha1="b6193826df511f39077013369e625e56577f2f36" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="4game1a" supported="no">
|
||||
<software name="4game1a">
|
||||
<description>4 Game in One - Ice Hockey + Phantom UFO + Spy Vs. Spy + Cosmic Avenger</description>
|
||||
<year>198?</year>
|
||||
<publisher>Bitcorp</publisher>
|
||||
<sharedfeat name="compatibility" value="PAL"/>
|
||||
<part name="cart" interface="a2600_cart">
|
||||
<feature name="mapper" value="4in1" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="4 game in one - ice hockey, phantom ufo, spy vs. spy, cosmic avenger.bin" size="16384" crc="caf86fa7" sha1="724c1ce352d0219699892f7c78083f825a71ac1a" offset="0" />
|
||||
</dataarea>
|
||||
|
@ -198,7 +198,8 @@ enum
|
||||
modeDPC,
|
||||
mode32in1,
|
||||
modeJVP,
|
||||
mode8in1
|
||||
mode8in1,
|
||||
mode4in1
|
||||
};
|
||||
|
||||
static const UINT16 supported_screen_heights[4] = { 262, 312, 328, 342 };
|
||||
@ -609,7 +610,8 @@ static DEVICE_IMAGE_LOAD( a2600_cart )
|
||||
{
|
||||
static const struct { const char *mapper_name; int mapper_type; } mapper_types[] =
|
||||
{
|
||||
{ "8in1", mode8in1 },
|
||||
{ "4in1", mode4in1 },
|
||||
{ "8in1", mode8in1 },
|
||||
};
|
||||
|
||||
for (int i = 0; i < ARRAY_LENGTH(mapper_types) && state->m_banking_mode == 0xff; i++)
|
||||
@ -1906,6 +1908,11 @@ void a2600_state::machine_reset()
|
||||
install_banks(1, 0x0000);
|
||||
break;
|
||||
|
||||
case mode4in1:
|
||||
m_current_reset_bank_counter = m_current_reset_bank_counter & 0x03;
|
||||
install_banks(1, m_current_reset_bank_counter * 0x1000);
|
||||
break;
|
||||
|
||||
case mode8in1:
|
||||
m_current_reset_bank_counter = m_current_reset_bank_counter & 0x07;
|
||||
if ( m_current_reset_bank_counter == 7 )
|
||||
|
Loading…
Reference in New Issue
Block a user