summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/spg2xx_jakks.cpp
diff options
context:
space:
mode:
author David Haywood <28625134+DavidHaywood@users.noreply.github.com>2020-03-26 19:21:12 +0000
committer GitHub <noreply@github.com>2020-03-26 15:21:12 -0400
commitd9759b7a4493ec868458e49efdf79cf175c6ec11 (patch)
treea3c0f7167d59bf8e4e8bfab83462ebd5dba94d1b /src/mame/drivers/spg2xx_jakks.cpp
parent74fa8b3becabb6d1d34233102e86af8f019aec7e (diff)
Plug and Play work (#6485)
* new WORKING machines ----- Thomas & Friends - Learning Circus Express (Sharp Cookie) (PAL, UK) [Sean Riddle, David Haywood] Ms. Pac-Man 7-in-1 (Wireless) [Sean Riddle, David Haywood] * didn't mean to change this (nw) * tvtouch - restore button input (nw)
Diffstat (limited to 'src/mame/drivers/spg2xx_jakks.cpp')
-rw-r--r--src/mame/drivers/spg2xx_jakks.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/mame/drivers/spg2xx_jakks.cpp b/src/mame/drivers/spg2xx_jakks.cpp
index 0242c27e26b..705a580c288 100644
--- a/src/mame/drivers/spg2xx_jakks.cpp
+++ b/src/mame/drivers/spg2xx_jakks.cpp
@@ -20,6 +20,8 @@ public:
void walle(machine_config& config);
void mk(machine_config& config);
+ void jakks_mpac(machine_config& config);
+
private:
void mem_map_2m_mkram(address_map& map);
DECLARE_WRITE16_MEMBER(portc_w) override;
@@ -91,6 +93,27 @@ static INPUT_PORTS_START( mk )
PORT_CONFSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
+static INPUT_PORTS_START( jak_mpac )
+ PORT_START("P1")
+ PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
+ PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
+ PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
+ PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_BUTTON2 )
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Menu")
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_BUTTON1 )
+
+ PORT_START("P3")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("i2cmem", i2cmem_device, read_sda)
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) // PAL/NTSC flag, set to NTSC
+ PORT_BIT( 0xfff0, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("DIALX") // for Pole Position, joystick can be twisted like a dial/wheel (limited?) (check range) (note, range is different to GKR unit)
+ PORT_BIT(0x03ff, 0x0000, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(100) PORT_MINMAX(0x00,0x03ff)
+INPUT_PORTS_END
+
void jakks_state::base_config(machine_config& config)
{
SPG24X(config, m_maincpu, XTAL(27'000'000), m_screen);
@@ -137,6 +160,13 @@ void jakks_state::mk(machine_config &config)
NVRAM(config, "nvram", nvram_device::DEFAULT_RANDOM);
}
+void jakks_state::jakks_mpac(machine_config &config)
+{
+ base_config(config);
+ m_maincpu->set_addrmap(AS_PROGRAM, &jakks_state::mem_map_1m);
+
+ m_maincpu->adc_in<0>().set_ioport("DIALX");
+}
ROM_START( jak_batm )
@@ -158,9 +188,19 @@ ROM_START( jak_mk )
ROM_LOAD16_WORD_SWAP( "jakmk.bin", 0x000000, 0x400000, CRC(b7d7683e) SHA1(e54a020ee746d240267ef78bed7aea744351b421) )
ROM_END
+ROM_START( jak_mpacw )
+ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD16_WORD_SWAP( "wirelessnamco.bin", 0x000000, 0x200000, CRC(78a318ca) SHA1(3c2601cbb023edb6a1f3d4bce686e0be1ef63eee) )
+ROM_END
+
+
// JAKKS Pacific Inc TV games
CONS( 2004, jak_batm, 0, 0, batman, batman, jakks_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "The Batman (JAKKS Pacific TV Game)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
CONS( 2008, jak_wall, 0, 0, walle, walle, jakks_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Wall-E (JAKKS Pacific TV Game)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
// you could link 2 pads of this together for 2 player mode as you could with WWE (feature not emulated)
CONS( 2004, jak_mk, 0, 0, mk, mk, jakks_state, empty_init, "JAKKS Pacific Inc / Digital Eclipse", "Mortal Kombat (JAKKS Pacific TV Game)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
+
+// this is an older unit than the jak_mpac Game Key Ready set and features no GameKey branding
+CONS( 2004, jak_mpacw,0, 0, jakks_mpac, jak_mpac, jakks_state, empty_init, "JAKKS Pacific Inc / Namco / HotGen Ltd", "Ms. Pac-Man 7-in-1 (Wireless) (Ms. Pac-Man, Pole Position, Galaga, Xevious, Mappy, New Rally X, Bosconian) (18 AUG 2004 A)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NM (3 keys available [Dig Dug, New Rally-X], [Rally-X, Pac-Man, Bosconian], [Pac-Man, Bosconian])
+