mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
Mapped player 2 inputs and buttons 4-6 in Mortal Kombat 3
(bootleg of Megadrive version) [Mariusz Wojcieszek]. New games promoted from NOT_WORKING ----------------------------------- Mortal Kombat 3 (bootleg of Megadrive version) [Mariusz Wojcieszek, Patrick McCarron, Smitdogg, The Dumping Union]
This commit is contained in:
parent
977896a710
commit
0d57ebf87d
@ -154,39 +154,6 @@ ROM_START( mk3ghw ) // roms are scrambled, we take care of the address descrambl
|
||||
ROM_CONTINUE( 0x300000, 0x040000)
|
||||
ROM_END
|
||||
|
||||
static INPUT_PORTS_START(mk3ghw)
|
||||
PORT_INCLUDE( md_common )
|
||||
|
||||
PORT_MODIFY("PAD1") /* Joypad 1 (3 button + start) NOT READ DIRECTLY */
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) // a
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) // b
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) // c
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 ) // start
|
||||
|
||||
PORT_MODIFY("PAD2") /* Joypad 2 (3 button + start) NOT READ DIRECTLY - not used */
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1)
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
|
||||
PORT_BIT( 0xf8, 0x00, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_DIPUNKNOWN( 0x01, 0x00 )
|
||||
PORT_DIPUNKNOWN( 0x02, 0x00 )
|
||||
PORT_DIPUNKNOWN( 0x04, 0x00 )
|
||||
PORT_DIPUNKNOWN( 0x08, 0x00 )
|
||||
PORT_DIPUNKNOWN( 0x10, 0x00 )
|
||||
PORT_DIPUNKNOWN( 0x20, 0x00 )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
PORT_DIPUNKNOWN( 0x80, 0x00 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
// this should be correct, the areas of the rom that differ to the original
|
||||
// after this decode look like intentional changes
|
||||
static DRIVER_INIT( mk3ghw )
|
||||
@ -233,8 +200,8 @@ static DRIVER_INIT( mk3ghw )
|
||||
ROM[7] = 0x02;
|
||||
ROM[6] = 0x10;
|
||||
|
||||
memory_install_read_port(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x770070, 0x770071, 0, 0, "IN0");
|
||||
memory_install_read_port(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x770072, 0x770073, 0, 0, "IN1");
|
||||
memory_install_read_port(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x770070, 0x770071, 0, 0, "DSWA");
|
||||
memory_install_read_port(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x770072, 0x770073, 0, 0, "DSWB");
|
||||
}
|
||||
|
||||
|
||||
|
@ -1606,6 +1606,61 @@ INPUT_PORTS_START( ssf2ghw )
|
||||
// PORT_DIPSETTING( 0x00, "10 (Fastest)" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START(mk3ghw)
|
||||
PORT_INCLUDE( md_common )
|
||||
|
||||
PORT_MODIFY("PAD1")
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
||||
PORT_MODIFY("PAD2")
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
|
||||
|
||||
PORT_START("EXTRA1") /* Extra buttons for Joypad 1 (6 button + start + mode) NOT READ DIRECTLY */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("EXTRA2") /* Extra buttons for Joypad 2 (6 button + start + mode) NOT READ DIRECTLY */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1)
|
||||
|
||||
PORT_START("DSWA")
|
||||
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
|
||||
PORT_BIT( 0xf8, 0x00, IPT_UNUSED )
|
||||
|
||||
PORT_START("DSWB")
|
||||
PORT_DIPUNKNOWN( 0x01, 0x00 )
|
||||
PORT_DIPUNKNOWN( 0x02, 0x00 )
|
||||
PORT_DIPUNKNOWN( 0x04, 0x00 )
|
||||
PORT_DIPUNKNOWN( 0x08, 0x00 )
|
||||
PORT_DIPUNKNOWN( 0x10, 0x00 )
|
||||
PORT_DIPUNKNOWN( 0x20, 0x00 )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
PORT_DIPUNKNOWN( 0x80, 0x00 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
INPUT_PORTS_START( aladbl )
|
||||
PORT_INCLUDE( md_common )
|
||||
@ -1654,6 +1709,9 @@ static void megadrive_init_io(running_machine *machine)
|
||||
|
||||
if (ipt == INPUT_PORTS_NAME(ssf2ghw))
|
||||
init_megadri6_io(machine);
|
||||
|
||||
if (ipt == INPUT_PORTS_NAME(mk3ghw))
|
||||
init_megadri6_io(machine);
|
||||
}
|
||||
|
||||
static void megadrive_reset_io(running_machine *machine)
|
||||
@ -6302,7 +6360,7 @@ static void megadriv_init_common(running_machine *machine)
|
||||
|
||||
m68k_set_tas_callback(devtag_get_device(machine, "maincpu"), megadriv_tas_callback);
|
||||
|
||||
if ((ipt == INPUT_PORTS_NAME(megadri6)) || (ipt == INPUT_PORTS_NAME(ssf2ghw)))
|
||||
if ((ipt == INPUT_PORTS_NAME(megadri6)) || (ipt == INPUT_PORTS_NAME(ssf2ghw)) || (ipt == INPUT_PORTS_NAME(mk3ghw)))
|
||||
{
|
||||
megadrive_io_read_data_port_ptr = megadrive_io_read_data_port_6button;
|
||||
megadrive_io_write_data_port_ptr = megadrive_io_write_data_port_6button;
|
||||
|
@ -15,6 +15,7 @@ INPUT_PORTS_EXTERN( megadriv );
|
||||
INPUT_PORTS_EXTERN( aladbl );
|
||||
INPUT_PORTS_EXTERN( megadri6 );
|
||||
INPUT_PORTS_EXTERN( ssf2ghw );
|
||||
INPUT_PORTS_EXTERN( mk3ghw );
|
||||
INPUT_PORTS_EXTERN( megdsvp );
|
||||
|
||||
MACHINE_DRIVER_EXTERN( megadriv_timers );
|
||||
|
Loading…
Reference in New Issue
Block a user