mirror of
https://github.com/holub/mame
synced 2025-04-20 07:22:04 +03:00
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)
This commit is contained in:
parent
74fa8b3bec
commit
d9759b7a44
@ -3889,6 +3889,7 @@ files {
|
||||
MAME_DIR .. "src/mame/drivers/spg2xx_digimake.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/spg2xx_jakks.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/spg2xx_jakks_gkr.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/spg2xx_jakks_sharp.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/spg2xx_jakks_tvtouch.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/spg2xx_zone.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/spg2xx_zone_32bit.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])
|
||||
|
||||
|
79
src/mame/drivers/spg2xx_jakks_sharp.cpp
Normal file
79
src/mame/drivers/spg2xx_jakks_sharp.cpp
Normal file
@ -0,0 +1,79 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Ryan Holtz, David Haywood
|
||||
|
||||
// Sharp Cookie units were published by JAKKS Pacific under the 'Child Guidance' brand (battery compartments etc. still have JAKKS branding)
|
||||
|
||||
#include "emu.h"
|
||||
#include "includes/spg2xx.h"
|
||||
#include "machine/nvram.h"
|
||||
|
||||
class jakks_sharp_state : public spg2xx_game_state
|
||||
{
|
||||
public:
|
||||
jakks_sharp_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
spg2xx_game_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void base_config(machine_config& config);
|
||||
void base_config_pal(machine_config& config);
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
static INPUT_PORTS_START( jak_sharp )
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x001f, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Menu / Pause")
|
||||
PORT_BIT( 0x00c0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
|
||||
|
||||
PORT_START("P2")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("P3")
|
||||
PORT_BIT( 0x0007, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // PAL/NTSC flag, set to PAL (not verified, based on other JAKKS units)
|
||||
PORT_BIT( 0xfff0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
void jakks_sharp_state::base_config(machine_config& config)
|
||||
{
|
||||
SPG24X(config, m_maincpu, XTAL(27'000'000), m_screen);
|
||||
|
||||
spg2xx_base(config);
|
||||
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &jakks_sharp_state::mem_map_1m);
|
||||
|
||||
m_maincpu->porta_in().set_ioport("P1");
|
||||
m_maincpu->portb_in().set_ioport("P2");
|
||||
m_maincpu->portc_in().set_ioport("P3");
|
||||
}
|
||||
|
||||
void jakks_sharp_state::base_config_pal(machine_config& config)
|
||||
{
|
||||
base_config(config);
|
||||
|
||||
m_maincpu->set_pal(true);
|
||||
m_screen->set_refresh_hz(50);
|
||||
}
|
||||
|
||||
|
||||
ROM_START( jsc_thom )
|
||||
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_WORD_SWAP( "shckthomas.bin", 0x000000, 0x200000, CRC(bc9549ed) SHA1(7925a8ac166f9c7a56bc5f9d4f9f774af1c92d05) )
|
||||
ROM_END
|
||||
|
||||
// has UK specific voice actors, US versions on YouTube have different voices not present in this set
|
||||
CONS( 2007, jsc_thom, 0, 0, base_config_pal, jak_sharp, jakks_sharp_state, empty_init, "JAKKS Pacific Inc / Child Guidance / Pronto Games", "Thomas & Friends - Learning Circus Express (Sharp Cookie) (PAL, UK)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys (same as Nicktoons & Spongebob) (3 released) - The upper part of this one is pink/purple.
|
||||
|
||||
// The Amazing Spider-Man - Great Math Caper
|
||||
// Scooby-Doo! - The Pirate's Puzzles
|
||||
// Go Diego Go - Aztec ABC Adventure
|
||||
// Dora the Explorer - Dora Saves the Mermaids
|
@ -209,7 +209,7 @@ READ16_MEMBER(jakks_tvtouch_state::portb_r)
|
||||
|
||||
READ16_MEMBER(jakks_tvtouch_state::portc_r)
|
||||
{
|
||||
uint16_t data = m_i2cmem->read_sda();
|
||||
uint16_t data = (m_i2cmem->read_sda() & 1) | (m_io_p3->read() & 0xfffe);
|
||||
return data;
|
||||
}
|
||||
|
||||
|
@ -37256,6 +37256,7 @@ icanpian //
|
||||
jak_batm // The Batman, 2004
|
||||
jak_wall //
|
||||
jak_mk
|
||||
jak_mpacw
|
||||
|
||||
@source:spg2xx_jakks_gkr.cpp
|
||||
jak_wwe //
|
||||
@ -37279,6 +37280,9 @@ jak_care //
|
||||
jak_nick //
|
||||
jak_sbfc //
|
||||
|
||||
@source:spg2xx_jakks_sharp.cpp
|
||||
jsc_thom
|
||||
|
||||
@source:spg2xx_jakks_tvtouch.cpp
|
||||
tvtchsw
|
||||
tvtchspd
|
||||
|
@ -845,6 +845,7 @@ spg2xx_dreamlife.cpp
|
||||
spg2xx_ican.cpp
|
||||
spg2xx_jakks.cpp
|
||||
spg2xx_jakks_gkr.cpp
|
||||
spg2xx_jakks_sharp.cpp
|
||||
spg2xx_jakks_tvtouch.cpp
|
||||
spg2xx_lexibook.cpp
|
||||
spg2xx_mysprtch.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user