From e5d37a459596eaed3422f0741037cb7e4c116fd2 Mon Sep 17 00:00:00 2001 From: Wilbert Pol Date: Sun, 7 Oct 2012 20:12:10 +0000 Subject: (MESS) a2600.c: Added proper support for games using a 4in1 mapper. (Wilbert Pol) --- src/mess/drivers/a2600.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/mess/drivers/a2600.c') diff --git a/src/mess/drivers/a2600.c b/src/mess/drivers/a2600.c index db8bed6297a..36e1d4a266b 100644 --- a/src/mess/drivers/a2600.c +++ b/src/mess/drivers/a2600.c @@ -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 ) -- cgit v1.2.3-70-g09d2