mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
yamato,toprollr: add coin b dipswitch
This commit is contained in:
parent
8f334e9685
commit
204fb88de7
@ -160,9 +160,6 @@ TODO:
|
||||
|
||||
lives - $6155
|
||||
|
||||
TODO:
|
||||
- COINB DSW is missing
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
Top Roller
|
||||
@ -304,13 +301,15 @@ uint8_t swimmer_state::soundlatch_read_and_clear()
|
||||
|
||||
void toprollr_state::toprollr_rombank_w(int state)
|
||||
{
|
||||
m_rombank = m_mainlatch->q5_r() | (m_mainlatch->q6_r() << 1);
|
||||
uint8_t bank = m_mainlatch->output_state() >> 5 & 3;
|
||||
|
||||
if (m_rombank < 3)
|
||||
if (bank < 3)
|
||||
{
|
||||
m_bank1->set_entry(m_rombank);
|
||||
m_bank1d->set_entry(m_rombank);
|
||||
m_bank1->set_entry(bank);
|
||||
m_bank1d->set_entry(bank);
|
||||
}
|
||||
else
|
||||
logerror("invalid ROM bank %d\n", bank); // doesn't happen
|
||||
}
|
||||
|
||||
|
||||
@ -380,7 +379,6 @@ void cclimber_state::cannonb_map(address_map &map)
|
||||
}
|
||||
|
||||
|
||||
|
||||
void swimmer_state::swimmer_root_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x7fff).rom();
|
||||
@ -438,8 +436,8 @@ void yamato_state::yamato_map(address_map &map)
|
||||
map(0xa000, 0xa007).w(m_mainlatch, FUNC(ls259_device::write_d0));
|
||||
map(0xa000, 0xa000).mirror(0x07ff).portr("P1");
|
||||
map(0xa800, 0xa800).mirror(0x07ff).portr("P2");
|
||||
map(0xb000, 0xb000).mirror(0x07ff).portr("DSW");
|
||||
map(0xb800, 0xb800).mirror(0x07ff).portr("COIN");
|
||||
map(0xb000, 0xb000).mirror(0x07ff).portr("DSW1");
|
||||
map(0xb800, 0xb800).mirror(0x07ff).portr("SYSTEM");
|
||||
}
|
||||
|
||||
void yamato_state::yamato_decrypted_opcodes_map(address_map &map)
|
||||
@ -550,6 +548,7 @@ void swimmer_state::swimmer_audio_map(address_map &map)
|
||||
|
||||
void yamato_state::yamato_audio_map(address_map &map)
|
||||
{
|
||||
map.unmap_value_high();
|
||||
map(0x0000, 0x07ff).rom();
|
||||
map(0x5000, 0x53ff).ram();
|
||||
}
|
||||
@ -1039,8 +1038,8 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( yamato )
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_CONDITION("DSW2", 0x02, EQUALS, 0x02)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
@ -1049,8 +1048,8 @@ static INPUT_PORTS_START( yamato )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
|
||||
PORT_START("P2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_CONDITION("DSW2", 0x04, EQUALS, 0x04)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_CONDITION("DSW2", 0x08, EQUALS, 0x08)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
|
||||
@ -1058,7 +1057,7 @@ static INPUT_PORTS_START( yamato )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
|
||||
PORT_START("DSW")
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x01, "4" )
|
||||
@ -1083,20 +1082,53 @@ static INPUT_PORTS_START( yamato )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
|
||||
PORT_START("COIN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) // set 1 only
|
||||
PORT_START("DSW2")
|
||||
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_B ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x07, DEF_STR( Free_Play ) )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SERVICE1 ) // set 1 only
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
// Same as 'yamato', but no coin 2 or service coin
|
||||
static INPUT_PORTS_START( yamato2 )
|
||||
PORT_INCLUDE( yamato )
|
||||
|
||||
PORT_MODIFY("DSW2")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_MODIFY("SYSTEM")
|
||||
PORT_BIT( 0x11, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( toprollr )
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_B ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x01, "Invalid" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x07, DEF_STR( Free_Play ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
@ -1104,7 +1136,7 @@ static INPUT_PORTS_START( toprollr )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
|
||||
PORT_START("P2")
|
||||
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
|
||||
@ -1142,10 +1174,9 @@ static INPUT_PORTS_START( toprollr )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( au )
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
|
||||
@ -2345,13 +2376,13 @@ Dip Switch - Donkey King
|
||||
|
||||
ROM_START( dking )
|
||||
ROM_REGION( 0x6000, "maincpu", 0 )
|
||||
ROM_LOAD( "d11.r2", 0x0800, 0x0800, CRC(f7cace41) SHA1(981dbb1cddd66a0cbc8fe147172ffe7eb5b7fa21) )
|
||||
ROM_CONTINUE( 0x0000, 0x800 )
|
||||
ROM_LOAD( "d7.1n", 0x1000, 0x1000, CRC(fe89dea4) SHA1(c39372ebe9950808ebc1ff7909c291496b206026) )
|
||||
ROM_LOAD( "d9.2m", 0x2000, 0x1000, CRC(b9c34e14) SHA1(dcfe45dede6aef52a2989978762df9c5463bbbf2) )
|
||||
ROM_LOAD( "d10.2n", 0x3000, 0x1000, CRC(243e458d) SHA1(de98fc90915913069b6802d5c662db18f56c36be) )
|
||||
ROM_LOAD( "d8.1r", 0x4800, 0x0800, CRC(7c66fb5c) SHA1(5eda9b0037f958433d96bc945c1273b66ef9cac5) )
|
||||
ROM_CONTINUE( 0x4000, 0x800 )
|
||||
ROM_LOAD( "d11.r2", 0x0800, 0x0800, CRC(f7cace41) SHA1(981dbb1cddd66a0cbc8fe147172ffe7eb5b7fa21) )
|
||||
ROM_CONTINUE( 0x0000, 0x0800 )
|
||||
ROM_LOAD( "d7.1n", 0x1000, 0x1000, CRC(fe89dea4) SHA1(c39372ebe9950808ebc1ff7909c291496b206026) )
|
||||
ROM_LOAD( "d9.2m", 0x2000, 0x1000, CRC(b9c34e14) SHA1(dcfe45dede6aef52a2989978762df9c5463bbbf2) )
|
||||
ROM_LOAD( "d10.2n", 0x3000, 0x1000, CRC(243e458d) SHA1(de98fc90915913069b6802d5c662db18f56c36be) )
|
||||
ROM_LOAD( "d8.1r", 0x4800, 0x0800, CRC(7c66fb5c) SHA1(5eda9b0037f958433d96bc945c1273b66ef9cac5) )
|
||||
ROM_CONTINUE( 0x4000, 0x0800 )
|
||||
|
||||
ROM_REGION( 0x4000, "tile", 0 )
|
||||
ROM_LOAD( "falcon6", 0x0000, 0x1000, CRC(a8916dc8) SHA1(472520aae3837e6026f2a7577d3b2aff371a316c) ) // d4.6n
|
||||
@ -2863,15 +2894,15 @@ ROM_END
|
||||
|
||||
ROM_START( guzzlers ) // Swimmer Conversion, 1k vs 2k romsize in maincpu
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "guzz1.l9", 0x0000, 0x1000, CRC(48f751ee) SHA1(a8ff19d150d382a43ad705fe2a470450e317aac3) )
|
||||
ROM_LOAD( "guzz2.k9", 0x1000, 0x1000, CRC(c13f23e6) SHA1(2cd31e0419875c50433f1763e35e32afcaf68fde) )
|
||||
ROM_LOAD( "guzz3.j9", 0x2000, 0x1000, CRC(7a523fd8) SHA1(683249d2ffdde21f74d80280e538645ac143d45c) )
|
||||
ROM_LOAD( "guzz4.f9", 0x3000, 0x1000, CRC(d2bb2204) SHA1(87f821f1cb92577e10beb67be29d9eecd9e8a04f) )
|
||||
ROM_LOAD( "guzz5.e9", 0x4000, 0x1000, CRC(09856fd0) SHA1(f2eeffe2c35f652a855502f808fd5056252ce7fd) )
|
||||
ROM_LOAD( "guzz6.d9", 0x5000, 0x1000, CRC(80990d1e) SHA1(282f5247b88f29ee6178c771ecddf2a5ed995913) )
|
||||
ROM_LOAD( "guzz7.c9", 0x6000, 0x1000, CRC(fe37b99d) SHA1(9219fe4506e81e574f5ae84ec10dc1df511f76a1) )
|
||||
ROM_LOAD( "guzz8.a9", 0x7000, 0x1000, CRC(8d44f5f8) SHA1(957f1b880f6f815ac31c1a37c40cdff75dd119cf) )
|
||||
ROM_LOAD( "guzz-16.bin", 0xe000, 0x2000, CRC(61ee00b7) SHA1(ea8516c8dfb2de32a8034f94c7d0c086e3596740) ) // 16.
|
||||
ROM_LOAD( "guzz1.l9", 0x0000, 0x1000, CRC(48f751ee) SHA1(a8ff19d150d382a43ad705fe2a470450e317aac3) )
|
||||
ROM_LOAD( "guzz2.k9", 0x1000, 0x1000, CRC(c13f23e6) SHA1(2cd31e0419875c50433f1763e35e32afcaf68fde) )
|
||||
ROM_LOAD( "guzz3.j9", 0x2000, 0x1000, CRC(7a523fd8) SHA1(683249d2ffdde21f74d80280e538645ac143d45c) )
|
||||
ROM_LOAD( "guzz4.f9", 0x3000, 0x1000, CRC(d2bb2204) SHA1(87f821f1cb92577e10beb67be29d9eecd9e8a04f) )
|
||||
ROM_LOAD( "guzz5.e9", 0x4000, 0x1000, CRC(09856fd0) SHA1(f2eeffe2c35f652a855502f808fd5056252ce7fd) )
|
||||
ROM_LOAD( "guzz6.d9", 0x5000, 0x1000, CRC(80990d1e) SHA1(282f5247b88f29ee6178c771ecddf2a5ed995913) )
|
||||
ROM_LOAD( "guzz7.c9", 0x6000, 0x1000, CRC(fe37b99d) SHA1(9219fe4506e81e574f5ae84ec10dc1df511f76a1) )
|
||||
ROM_LOAD( "guzz8.a9", 0x7000, 0x1000, CRC(8d44f5f8) SHA1(957f1b880f6f815ac31c1a37c40cdff75dd119cf) )
|
||||
ROM_LOAD( "guzz-16.bin", 0xe000, 0x2000, CRC(61ee00b7) SHA1(ea8516c8dfb2de32a8034f94c7d0c086e3596740) ) // 16.
|
||||
|
||||
ROM_REGION( 0x1000, "audiocpu", 0 )
|
||||
ROM_LOAD( "guzz-12.bin", 0x0000, 0x1000, CRC(f3754d9e) SHA1(bb30832aba4e82ab0ecce40fc1223d9771ff7dd2) ) // GUZZ12.L4
|
||||
@ -3010,12 +3041,12 @@ ROM_START( toprollr )
|
||||
ROM_LOAD( "12.p3", 0x0000, 0x2000, CRC(7f989dc9) SHA1(3b4d18cbb992872b3cf8f5eaf5381ed3a9468cc1) )
|
||||
|
||||
ROM_REGION( 0x01a0, "proms", 0 )
|
||||
ROM_LOAD( "prom.p2", 0x0000, 0x0020, CRC(42e828fa) SHA1(81250b1f7c3956b3902324adbbaf3b5989e854ee) ) //08-0f sprites + fg (wrong?)
|
||||
ROM_LOAD( "prom.r2", 0x0020, 0x0020, CRC(99b87eed) SHA1(06c3164d681fe4aff0338c0dad1a921f7fe7369d) ) //10-17 sprites
|
||||
ROM_LOAD( "prom.a1", 0x0040, 0x0020, CRC(7d626d6c) SHA1(7c7202d0ec5bf0381e7104eef53afa5fa4596a29) ) //00-07 big sprites
|
||||
ROM_LOAD( "prom.p9", 0x0060, 0x0020, CRC(eb399c02) SHA1(bf3d6c6dd982cb54446cf8a010b7adb949514bdb) ) //18-1f bg
|
||||
ROM_LOAD( "prom.n9", 0x0080, 0x0020, CRC(fb03ea99) SHA1(4dcef86106cef713dfcbd965072bfa8fe4b68e15) ) //20-27 bg
|
||||
ROM_LOAD( "prom.s9", 0x00a0, 0x0100, CRC(abf4c5fb) SHA1(a953f14642d4b72328293b36bc3c65b13491ffff) ) //unknown prom (filled with 2 bit vals)
|
||||
ROM_LOAD( "prom.p2", 0x0000, 0x0020, CRC(42e828fa) SHA1(81250b1f7c3956b3902324adbbaf3b5989e854ee) ) // 08-0f sprites + fg (wrong?)
|
||||
ROM_LOAD( "prom.r2", 0x0020, 0x0020, CRC(99b87eed) SHA1(06c3164d681fe4aff0338c0dad1a921f7fe7369d) ) // 10-17 sprites
|
||||
ROM_LOAD( "prom.a1", 0x0040, 0x0020, CRC(7d626d6c) SHA1(7c7202d0ec5bf0381e7104eef53afa5fa4596a29) ) // 00-07 big sprites
|
||||
ROM_LOAD( "prom.p9", 0x0060, 0x0020, CRC(eb399c02) SHA1(bf3d6c6dd982cb54446cf8a010b7adb949514bdb) ) // 18-1f bg
|
||||
ROM_LOAD( "prom.n9", 0x0080, 0x0020, CRC(fb03ea99) SHA1(4dcef86106cef713dfcbd965072bfa8fe4b68e15) ) // 20-27 bg
|
||||
ROM_LOAD( "prom.s9", 0x00a0, 0x0100, CRC(abf4c5fb) SHA1(a953f14642d4b72328293b36bc3c65b13491ffff) ) // unknown prom (filled with 2 bit vals)
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -3032,8 +3063,6 @@ void toprollr_state::init_toprollr()
|
||||
|
||||
m_bank1->set_entry(0);
|
||||
m_bank1d->set_entry(0);
|
||||
|
||||
save_item(NAME(m_rombank));
|
||||
}
|
||||
|
||||
|
||||
@ -3123,6 +3152,6 @@ GAME( 1983, guzzlers, guzzler, guzzler, guzzler, swimmer_state, empty_i
|
||||
GAME( 1983, au, 0, au, au, swimmer_state, empty_init, ROT90, "Tehkan", "Au (location test)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1983, yamato, 0, yamato, yamato, yamato_state, empty_init, ROT90, "Sega", "Yamato (US)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1983, yamato2, yamato, yamato, yamato, yamato_state, empty_init, ROT90, "Sega", "Yamato (World?)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1983, yamato2, yamato, yamato, yamato2, yamato_state, empty_init, ROT90, "Sega", "Yamato (World?)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1983, toprollr, 0, toprollr, toprollr, toprollr_state, init_toprollr, ROT90, "Jaleco", "Top Roller", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -199,7 +199,6 @@ private:
|
||||
TILE_GET_INFO_MEMBER(toproller_get_bg_tile_info);
|
||||
|
||||
tilemap_t *m_bg_tilemap = nullptr;
|
||||
uint8_t m_rombank = 0;
|
||||
};
|
||||
|
||||
class yamato_state : public cclimber_state
|
||||
|
Loading…
Reference in New Issue
Block a user