From c6523082b4a547fc3928a90461b2e2778d88a327 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Sun, 13 Oct 2013 09:04:22 +0000 Subject: [PATCH] Added player 3 and 4 inputs to hoops96 and clones (MT05320). (nw) --- src/mame/drivers/deco_mlc.c | 93 +++++++++++++++++++++++++++++------- src/mame/includes/deco_mlc.h | 2 - 2 files changed, 76 insertions(+), 19 deletions(-) diff --git a/src/mame/drivers/deco_mlc.c b/src/mame/drivers/deco_mlc.c index 4b758c6352a..62b2e9b88ee 100644 --- a/src/mame/drivers/deco_mlc.c +++ b/src/mame/drivers/deco_mlc.c @@ -116,17 +116,6 @@ READ32_MEMBER(deco_mlc_state::test2_r) return machine().rand(); //0xffffffff; } -READ32_MEMBER(deco_mlc_state::mlc_440000_r) -{ - return 0xffffffff; -} - -READ32_MEMBER(deco_mlc_state::mlc_440004_r) -{ - return 0xffffffff; -} - - READ32_MEMBER(deco_mlc_state::mlc_440008_r) { return 0xffffffff; @@ -307,8 +296,8 @@ static ADDRESS_MAP_START( decomlc_map, AS_PROGRAM, 32, deco_mlc_state ) AM_RANGE(0x0280000, 0x029ffff) AM_RAM AM_SHARE("mlc_vram") AM_MIRROR(0xff000000) AM_RANGE(0x0300000, 0x0307fff) AM_RAM_WRITE(avengrs_palette_w) AM_SHARE("paletteram") AM_MIRROR(0xff000000) AM_RANGE(0x0400000, 0x0400003) AM_READ_PORT("INPUTS") AM_MIRROR(0xff000000) - AM_RANGE(0x0440000, 0x0440003) AM_READ(mlc_440000_r) AM_MIRROR(0xff000000) - AM_RANGE(0x0440004, 0x0440007) AM_READ(mlc_440004_r) AM_MIRROR(0xff000000) + AM_RANGE(0x0440000, 0x0440003) AM_READ_PORT("INPUTS2") AM_MIRROR(0xff000000) + AM_RANGE(0x0440004, 0x0440007) AM_READ_PORT("INPUTS3") AM_MIRROR(0xff000000) AM_RANGE(0x0440008, 0x044000b) AM_READ(mlc_440008_r) AM_MIRROR(0xff000000) AM_RANGE(0x044001c, 0x044001f) AM_READWRITE(mlc_44001c_r, mlc_44001c_w) AM_MIRROR(0xff000000) AM_RANGE(0x0500000, 0x0500003) AM_WRITE(avengrs_eprom_w) AM_MIRROR(0xff000000) @@ -341,9 +330,9 @@ static INPUT_PORTS_START( mlc ) PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_SERVICE_NO_TOGGLE( 0x080000, IP_ACTIVE_LOW ) - PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_COIN3 ) + PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_COIN4 ) + PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, do_read) PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -353,6 +342,76 @@ static INPUT_PORTS_START( mlc ) PORT_BIT( 0x20000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("INPUTS2") + PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00001000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00002000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x00080000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) + PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) + PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3) + PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_START3 ) + PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("INPUTS3") + PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00001000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00002000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x00080000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) + PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4) + PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4) + PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_START4 ) + PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END /******************************************************************************/ @@ -789,7 +848,7 @@ DRIVER_INIT_MEMBER(deco_mlc_state,mlc) { /* The timing in the ARM core isn't as accurate as it should be, so bump up the effective clock rate here to compensate otherwise we have slowdowns in - Skull Fung where there probably shouldn't be. */ + Skull Fang where there probably shouldn't be. */ m_maincpu->set_clock_scale(2.0f); m_mainCpuIsArm = 1; deco156_decrypt(machine()); diff --git a/src/mame/includes/deco_mlc.h b/src/mame/includes/deco_mlc.h index 71cdb94ca8e..a3d35889136 100644 --- a/src/mame/includes/deco_mlc.h +++ b/src/mame/includes/deco_mlc.h @@ -32,8 +32,6 @@ public: UINT16 *m_mlc_spriteram_spare; UINT16 *m_mlc_buffered_spriteram; DECLARE_READ32_MEMBER(test2_r); - DECLARE_READ32_MEMBER(mlc_440000_r); - DECLARE_READ32_MEMBER(mlc_440004_r); DECLARE_READ32_MEMBER(mlc_440008_r); DECLARE_READ32_MEMBER(mlc_44001c_r); DECLARE_WRITE32_MEMBER(mlc_44001c_w);