From 03e21ff5cd72eebe2bfe39b6cc2a4593e61b6689 Mon Sep 17 00:00:00 2001 From: hap Date: Tue, 25 Feb 2020 19:10:03 +0100 Subject: m10: add up/down joystick control for greenber (nw) --- src/mame/drivers/m10.cpp | 78 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 58 insertions(+), 20 deletions(-) diff --git a/src/mame/drivers/m10.cpp b/src/mame/drivers/m10.cpp index a0e58c21437..09c04612f2b 100644 --- a/src/mame/drivers/m10.cpp +++ b/src/mame/drivers/m10.cpp @@ -671,7 +671,7 @@ static INPUT_PORTS_START( spacbeam ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_START("P2") - PORT_BIT( 0x03, 0, IPT_UNUSED ) + PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL @@ -687,8 +687,8 @@ static INPUT_PORTS_START( spacbeam ) PORT_DIPSETTING ( 0x08, DEF_STR( None ) ) PORT_DIPNAME(0x30, 0x10, DEF_STR( Coinage ) ) PORT_DIPSETTING ( 0x00, "Testmode" ) - PORT_DIPSETTING ( 0x10, "1 Coin 1 Play" ) - PORT_DIPSETTING ( 0x20, "1 Coin 2 Plays" ) + PORT_DIPSETTING ( 0x10, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING ( 0x20, DEF_STR( 1C_2C ) ) PORT_START("FAKE") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, m10_state,coin_inserted, 0) @@ -708,7 +708,7 @@ static INPUT_PORTS_START( headoni ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START("P2") - PORT_BIT( 0x03, 0x00, IPT_UNUSED ) + PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL @@ -727,8 +727,8 @@ static INPUT_PORTS_START( headoni ) PORT_DIPSETTING ( 0x08, DEF_STR( None ) ) PORT_DIPNAME(0x30, 0x10, DEF_STR( Coinage ) ) PORT_DIPSETTING ( 0x00, "Testmode" ) - PORT_DIPSETTING ( 0x10, "1 Coin 1 Play" ) - PORT_DIPSETTING ( 0x20, "1 Coin 2 Plays" ) + PORT_DIPSETTING ( 0x10, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING ( 0x20, DEF_STR( 1C_2C ) ) // PORT_START("VR1") // PORT_ADJUSTER( 50, "Car Rumble Volume" ) @@ -751,6 +751,44 @@ static INPUT_PORTS_START( headoni ) CAB_PORTENV INPUT_PORTS_END +static INPUT_PORTS_START( greenber ) + PORT_START("P1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) + + PORT_START("P2") + PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL + + PORT_START("DSW") + PORT_DIPNAME(0x03, 0x01, DEF_STR( Lives ) ) + PORT_DIPSETTING ( 0x03, "2" ) +// PORT_DIPSETTING ( 0x02, "3" ) // dupe + PORT_DIPSETTING ( 0x01, "3" ) + PORT_DIPSETTING ( 0x00, "4" ) + PORT_DIPNAME(0x08, 0x00, "Replay" ) + PORT_DIPSETTING ( 0x00, "5000" ) + PORT_DIPSETTING ( 0x08, "7000" ) + PORT_DIPNAME(0x30, 0x20, DEF_STR( Coinage ) ) + PORT_DIPSETTING ( 0x00, "Testmode" ) + PORT_DIPSETTING ( 0x20, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING ( 0x10, DEF_STR( 1C_2C ) ) + + PORT_START("FAKE") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, m10_state,coin_inserted, 0) + + CAB_PORTENV +INPUT_PORTS_END + /************************************* @@ -932,7 +970,7 @@ ROM_START( andromed )//Jumps to an unmapped sub-routine at $2fc9 ROM_LOAD( "am2", 0x1400, 0x0400, CRC(dab64957) SHA1(77ced520f8e78bb08ddab4213646cf55d834e63e) ) ROM_LOAD( "am3", 0x1800, 0x0400, CRC(f983f35c) SHA1(1bfee6cf7d18b56594831f2efa7dcc53b47d7e30) ) ROM_LOAD( "am4", 0x1c00, 0x0400, CRC(09f20717) SHA1(c54c9b7d16b40a7ab49eac255906b43b03939d2b) ) - ROM_RELOAD( 0xfc00, 0x0400 ) /* for the reset and interrupt vectors */ + ROM_RELOAD( 0xfc00, 0x0400 ) // for the reset and interrupt vectors ROM_LOAD( "am5", 0x2000, 0x0400, CRC(518a3b88) SHA1(5e20c905c2190b381a105327e112fcc0a127bb2f) ) ROM_LOAD( "am6", 0x2400, 0x0400, CRC(ce3d5fff) SHA1(c34178aca9ffb8b2dd468d9e3369a985f52daf9a) ) ROM_LOAD( "am7", 0x2800, 0x0400, CRC(30d3366f) SHA1(aa73bba194fa6d1f3909f8df517a0bff07583ea9) ) @@ -949,7 +987,7 @@ ROM_START( ipminvad ) ROM_LOAD( "b2r", 0x1400, 0x0400, CRC(af11c1aa) SHA1(6a74fcc7cb1627b1c427a77da89b69ccf3175800) ) ROM_LOAD( "b3r", 0x1800, 0x0400, CRC(ed49e481) SHA1(8771a34f432e6d88acc5f7529f16c980a77485db) ) ROM_LOAD( "b4r", 0x1c00, 0x0400, CRC(6d5db95b) SHA1(135500fc17524e8608c3bcfe26321144aa0afb91) ) - ROM_RELOAD( 0xfc00, 0x0400 ) /* for the reset and interrupt vectors */ + ROM_RELOAD( 0xfc00, 0x0400 ) // for the reset and interrupt vectors ROM_LOAD( "b5r", 0x2000, 0x0400, CRC(eabba7aa) SHA1(75e47eacd429f48f0a3a4539e5ecb4b1ea7281b1) ) ROM_LOAD( "b6r", 0x2400, 0x0400, CRC(3d0e7fa6) SHA1(14903bfc9506cb8e37807fb397be79f5eab99e3b) ) ROM_LOAD( "b7r", 0x2800, 0x0400, CRC(cf04864f) SHA1(6fe3ce208334321b63ada779fed69ec7cf4051ad) ) @@ -965,7 +1003,7 @@ ROM_START( ipminvad1 ) ROM_LOAD( "b2f", 0x1400, 0x0400, CRC(a6aa5879) SHA1(959ab207110785c03e57ca69c0e62356dd974085) ) ROM_LOAD( "b3f", 0x1800, 0x0400, CRC(0c09feb9) SHA1(0db43f480162f8e3fb8b61fcceb2884d19ff115b) ) ROM_LOAD( "b4f", 0x1c00, 0x0400, CRC(a4d32207) SHA1(ea9a01d09d82b8c27701601f03989735558d975c) ) - ROM_RELOAD( 0xfc00, 0x0400 ) /* for the reset and interrupt vectors */ + ROM_RELOAD( 0xfc00, 0x0400 ) // for the reset and interrupt vectors ROM_LOAD( "b5f", 0x2000, 0x0400, CRC(192361c7) SHA1(b13e80429a9183ce78c4df52a32070416d4ec988) ) ROM_LOAD( "b6f", 0x2400, 0x0400, NO_DUMP ) ROM_LOAD( "b7f", 0x2800, 0x0400, CRC(0f5115ab) SHA1(3bdd3fc1cfe6bfacb5820ee12c15f2909d2f58d1) ) @@ -981,7 +1019,7 @@ ROM_START( skychut ) ROM_LOAD( "sc2d", 0x1400, 0x0400, CRC(fd1f4b9e) SHA1(e5606979abe1fa4cc9eae0c4f61516769db35c39) ) ROM_LOAD( "sc3d", 0x1800, 0x0400, CRC(67ed201e) SHA1(589b1efdc1bbccff296f6420e2b320cd54b4ac8e) ) ROM_LOAD( "sc4d", 0x1c00, 0x0400, CRC(9b23a679) SHA1(a101f9b0fdde927a43e53e9b7d0dffb9dcca9e16) ) - ROM_RELOAD( 0xfc00, 0x0400 ) /* for the reset and interrupt vectors */ + ROM_RELOAD( 0xfc00, 0x0400 ) // for the reset and interrupt vectors ROM_LOAD( "sc5a", 0x2000, 0x0400, CRC(51d975e6) SHA1(7d345025ef28c8a81f599cde445eeb336c368fce) ) ROM_LOAD( "sc6e", 0x2400, 0x0400, CRC(617f302f) SHA1(4277ef97279eb63fc68b6c40f8545b31abaab474) ) ROM_LOAD( "sc7", 0x2800, 0x0400, CRC(dd4c8e1a) SHA1(b5a141d8ac256ba6522308e5f194bfaf5c75fa5b) ) @@ -998,7 +1036,7 @@ ROM_START( spacbeam ) ROM_LOAD( "m2b", 0x1400, 0x0400, CRC(a02bd9d7) SHA1(d25dfa66b422bdbb29b1922007c84f1947fe9be1) ) ROM_LOAD( "m3b", 0x1800, 0x0400, CRC(78040843) SHA1(0b8a3ab09dff951aa527649f82b8877cf01126c1) ) ROM_LOAD( "m4b", 0x1c00, 0x0400, CRC(74705a44) SHA1(8fa9d22a58f08086bf2d89e3d92eca097cdd2cbf) ) - ROM_RELOAD( 0xfc00, 0x0400 ) /* for the reset and interrupt vectors */ + ROM_RELOAD( 0xfc00, 0x0400 ) // for the reset and interrupt vectors ROM_LOAD( "m5b", 0x2000, 0x0400, CRC(afdf1242) SHA1(e26a8e91edb3d8ba96b3d225813760f42238b003) ) ROM_LOAD( "m6b", 0x2400, 0x0400, CRC(12afb0c2) SHA1(bf6ed90cf4815f0fb41d435954d4c346a55098f5) ) ROM_END @@ -1009,23 +1047,23 @@ ROM_START( headoni ) ROM_LOAD( "e2.9b", 0x1400, 0x0400, CRC(dada26a8) SHA1(1368ade1c0c57d33d15594370cf1edf95fc44fd1) ) ROM_LOAD( "e3.9c", 0x1800, 0x0400, CRC(61ff24f5) SHA1(0e68aedd01b765fb2af76f914b3d287ecf30f716) ) ROM_LOAD( "e4.9d", 0x1c00, 0x0400, CRC(ce4c5a67) SHA1(8db493d43f311a29127405aad7693bc08b570b14) ) - ROM_RELOAD( 0xfc00, 0x0400 ) /* for the reset and interrupt vectors */ + ROM_RELOAD( 0xfc00, 0x0400 ) // for the reset and interrupt vectors ROM_LOAD( "e5.9f", 0x2000, 0x0400, CRC(b5232439) SHA1(39b8fb4bbd00a73b9a2b68bc3e88fb45d3f62d7c) ) ROM_LOAD( "e6.9g", 0x2400, 0x0400, CRC(99acd1a6) SHA1(799382c1b079aad3034a1cc738dc06954978a0ac) ) ROM_END ROM_START( greenber ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "gb1", 0x1000, 0x0400, CRC(018ff672) SHA1(54d082a332831afc28b47704a5656da0a8a902fa) ) // ok - ROM_LOAD( "gb2", 0x1400, 0x0400, CRC(ea8f2267) SHA1(ad5bb38a80fbc7c70c8fa6f41086a7ade81655bc) ) // ok - ROM_LOAD( "gb3", 0x1800, 0x0400, CRC(8f337920) SHA1(ac3d76eb368645ba23f5823b39c04fae49d481e1) ) // ok - ROM_LOAD( "gb4", 0x1c00, 0x0400, CRC(7eeac4eb) SHA1(c668ad45ebc4aca558371539031efc4ec3990e44) ) // ok - ROM_RELOAD( 0xfc00, 0x0400 ) /* for the reset and interrupt vectors */ + ROM_LOAD( "gb1", 0x1000, 0x0400, CRC(018ff672) SHA1(54d082a332831afc28b47704a5656da0a8a902fa) ) + ROM_LOAD( "gb2", 0x1400, 0x0400, CRC(ea8f2267) SHA1(ad5bb38a80fbc7c70c8fa6f41086a7ade81655bc) ) + ROM_LOAD( "gb3", 0x1800, 0x0400, CRC(8f337920) SHA1(ac3d76eb368645ba23f5823b39c04fae49d481e1) ) + ROM_LOAD( "gb4", 0x1c00, 0x0400, CRC(7eeac4eb) SHA1(c668ad45ebc4aca558371539031efc4ec3990e44) ) + ROM_RELOAD( 0xfc00, 0x0400 ) // for the reset and interrupt vectors ROM_LOAD( "gb5", 0x2000, 0x0400, CRC(b2f8e69a) SHA1(44295e58da890a8c4aba6fe90defe9c578c95592) ) ROM_LOAD( "gb6", 0x2400, 0x0400, CRC(50ea8bd3) SHA1(a816c5fcc603b28c2ae59f217871a7e85fb794e1) ) - ROM_LOAD( "gb7", 0x2800, 0x0400, CRC(695124aa) SHA1(0715b1ebc5e08f91ebff7fb6c2a9dca457a7c13c) ) // 2be8 entry + ROM_LOAD( "gb7", 0x2800, 0x0400, CRC(695124aa) SHA1(0715b1ebc5e08f91ebff7fb6c2a9dca457a7c13c) ) ROM_LOAD( "gb8", 0x2c00, 0x0400, CRC(34700b31) SHA1(c148e2475eaaa0e9d1e2412eea359a7ba744e563) ) - ROM_LOAD( "gb9", 0x3000, 0x0400, CRC(c27b9ba3) SHA1(a2f4f0c4b61eb03bba13ae5d25dc01009a4f86ee) ) // ok + ROM_LOAD( "gb9", 0x3000, 0x0400, CRC(c27b9ba3) SHA1(a2f4f0c4b61eb03bba13ae5d25dc01009a4f86ee) ) ROM_END GAME( 1979, andromed, 0, m11, skychut, m10_state, init_andromed, ROT270, "IPM", "Andromeda (Japan?)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) @@ -1034,4 +1072,4 @@ GAME( 1979, ipminvad1, ipminvad, m10, ipminvad, m10_state, init_ipminva1, RO GAME( 1980, skychut, 0, m11, skychut, m10_state, empty_init, ROT270, "Irem", "Sky Chuter", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) GAME( 1979, spacbeam, 0, m15, spacbeam, m10_state, empty_init, ROT270, "Irem", "Space Beam", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) // IPM or Irem? GAME( 1979, headoni, 0, headoni, headoni, m10_state, empty_init, ROT270, "Irem", "Head On (Irem, M-15 Hardware)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) -GAME( 1980, greenber, 0, m15, spacbeam, m10_state, empty_init, ROT270, "Irem", "Green Beret (Irem)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) +GAME( 1980, greenber, 0, m15, greenber, m10_state, empty_init, ROT270, "Irem", "Green Beret (Irem)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) -- cgit v1.2.3