summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/vii.cpp
diff options
context:
space:
mode:
author David Haywood <mamehaze@gmail.com>2019-02-16 15:47:51 +0000
committer R. Belmont <rb6502@users.noreply.github.com>2019-02-16 10:47:51 -0500
commit7da2a8feafc4f415bc35168c75a540b1c756022f (patch)
tree7571e8cb2b4ebbe86424853d47d9b8f96b343704 /src/mame/drivers/vii.cpp
parent757436bbfba420a8bc35ee99c2be93ecf125df84 (diff)
new WORKING machines (JAKKS) (#4640)
* new WORKING machines --- Winnie the Pooh - Piglet's Special Day (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 21 external donators] Spider-Man (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 21 external donators] Dora the Explorer - Race to Play Park (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 21 external donators] (previous 'Race to Play Park' was renamed to 'Nursery Rhyme Adventure' last week) new WORKING software list additions --- jakks_gamekey_mv:bcatdoc Black Cat & Doc Ock [Sean Riddle, 21 external donators] * notes (nw) * actually demote jak_pooh for now, one of the minigames is very broken (nw) * give jak_sdoo a menu button (nw) * give default set of inputs a pause / menu button too (nw) * describe problem better, half of the issue is a DRC bug (nw) * new NOT WORKING --- Excite Boxing (Japan) [Sean Riddle, Peter Wilhelmsen] * new WORKING machines --- Nicktoons (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 22 external donators] new WORKING software list entries --- jakks_gamekey_nk:volbird Nicktoons Vollyball & Birdie Putt new NOT WORKING machines --- Dream Life [Sean Riddle] One Piece - Virtual Punching Battle (Japan) [Sean Riddle, Peter Wilhelmsen] * new machines marked as NOT WORKING --- Challenge Ai-chan! Excite Ping Pong (Japan) [Sean Riddle, Peter Wilhelmsen] probably just needs inputs mapping * new NOT WORKING machines --- Play TV Soccer [Sean Riddle, Peter Wilhelmsen] again, needs inputs * new WORKING software list addition --- jakks_gamekey_nk:popsnow Spongebob Sponge Pop & Snowball Showdown (15 AUGUST 2005 D) [Sean Riddle, 22 external donators] * xavix - support global tile flipping * new NOT WORKING software list entries --- monon_color:bigwolf Xǐyángyáng yǔ huītàiláng-juézhàn miē xīng [Peter Wilhelmsen, zhongtiao1] * new NOT WORKING software list additions --- sega_beena_cart:fpc Fresh Pretty Cure [Sean Riddle, Team Europe]
Diffstat (limited to 'src/mame/drivers/vii.cpp')
-rw-r--r--src/mame/drivers/vii.cpp295
1 files changed, 239 insertions, 56 deletions
diff --git a/src/mame/drivers/vii.cpp b/src/mame/drivers/vii.cpp
index 4c9bc958d5a..8e039393e9e 100644
--- a/src/mame/drivers/vii.cpp
+++ b/src/mame/drivers/vii.cpp
@@ -13,10 +13,30 @@
Justice League
Dora the Explorer
Mattel Classic Sports
+ Disney Princess (GKR)
+ Wheel of Fortune (GKR)
+ (all GameKeyReady units?)
+
+ "SunPlus QL8041C" ( known as Sunplus SPG2?? )
+ Clickstart ( see clickstart.cpp instead)
+ Wheel of Fortune 2nd Edition
- "SunPlus QL8041C" ( known as Sunplus SPG2?? ) see clickstart.cpp instead
"SunPlus PA7801" ( known as Sunplus SPG110? ) see spg110.cpp instead
+ Classic Arcade Pinball
+ EA Sports (NHL95 + Madden 95)
+
+ It is unknown if the following are close to this architecture or not (no dumps yet)
+
+ "SunPlus QU7073-P69A"
+ Mortal Kombat
+
+ "Sunplus QL8167"
+ Disney Princess (older)
+ Go Diego Go
+
+
+Disney Princess non-GKR is Sunplus QL8167.
Status:
@@ -33,12 +53,11 @@
walle:
Game seems unhappy with NVRAM, clears contents on each boot.
- rad_skat:
- Palette issues on the High Score screen.
- rad_fb2:
- sometimes when selecting QB training camp the sprites don't appear
- controls are not properly mapped
- vii:
+ jak_pooh:
+ In the 'Light Tag' minigame (select the rock) you can't move left with the DRC (ok with -nodrc)
+ and the game usually softlocks when you find a friend (with or without DRC)
+
+ vii:
When loading a cart from file manager, sometimes MAME will crash.
The "MOTOR" option in the diagnostic menu does nothing when selected.
The "SPEECH IC" option in the diagnostic menu does nothing when selected.
@@ -100,6 +119,7 @@ public:
void spg2xx_base(machine_config &config);
void spg2xx_basep(machine_config &config);
void jakks(machine_config &config);
+ void jakks_i2c(machine_config &config);
void walle(machine_config &config);
void wireless60(machine_config &config);
void rad_skat(machine_config &config);
@@ -174,14 +194,18 @@ public:
{ }
void jakks_gkr(machine_config &config);
- void jakks_gkr_1m(machine_config &config);
- void jakks_gkr_2m(machine_config &config);
+ void jakks_gkr_i2c(machine_config &config);
+ void jakks_gkr_1m_i2c(machine_config &config);
+ void jakks_gkr_2m_i2c(machine_config &config);
void jakks_gkr_nk(machine_config &config);
- void jakks_gkr_dy(machine_config &config);
- void jakks_gkr_dp(machine_config &config);
- void jakks_gkr_sw(machine_config &config);
- void jakks_gkr_nm(machine_config &config);
- void jakks_gkr_wf(machine_config &config);
+ void jakks_gkr_nk_i2c(machine_config &config);
+ void jakks_gkr_dy_i2c(machine_config &config);
+ void jakks_gkr_dp_i2c(machine_config &config);
+ void jakks_gkr_sw_i2c(machine_config &config);
+ void jakks_gkr_nm_i2c(machine_config &config);
+ void jakks_gkr_wf_i2c(machine_config &config);
+ void jakks_gkr_mv_i2c(machine_config &config);
+ void jakks_gkr_wp(machine_config &config);
DECLARE_CUSTOM_INPUT_MEMBER(i2c_gkr_r);
@@ -349,10 +373,13 @@ WRITE16_MEMBER(jakks_gkr_state::gkr_portc_w)
}
else
{
- if (BIT(mem_mask, 1))
- m_i2cmem->write_scl(BIT(data, 1));
- if (BIT(mem_mask, 0))
- m_i2cmem->write_sda(BIT(data, 0));
+ if (m_i2cmem)
+ {
+ if (BIT(mem_mask, 1))
+ m_i2cmem->write_scl(BIT(data, 1));
+ if (BIT(mem_mask, 0))
+ m_i2cmem->write_sda(BIT(data, 0));
+ }
}
}
@@ -488,7 +515,7 @@ static INPUT_PORTS_START( walle )
PORT_BIT( 0xfffe, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END
-static INPUT_PORTS_START( jak_sith )
+static INPUT_PORTS_START( jak_sith_i2c )
PORT_START("P1")
PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_BUTTON2 )
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_BUTTON1 )
@@ -506,7 +533,23 @@ static INPUT_PORTS_START( jak_sith )
PORT_BIT(0x0fff, 0x0000, IPT_AD_STICK_Y) PORT_SENSITIVITY(100) PORT_KEYDELTA(100) PORT_MINMAX(0x00,0x0fff)
INPUT_PORTS_END
-static INPUT_PORTS_START( jak_nm )
+static INPUT_PORTS_START( jak_pooh )
+ PORT_START("P1")
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_BUTTON1 )
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Menu / Pause")
+ PORT_BIT( 0xf7df, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("P3")
+ PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("JOYX")
+ PORT_BIT(0x0fff, 0x0000, IPT_AD_STICK_X) PORT_SENSITIVITY(100) PORT_KEYDELTA(100) PORT_MINMAX(0x00,0x0fff)
+
+ PORT_START("JOYY")
+ PORT_BIT(0x0fff, 0x0000, IPT_AD_STICK_Y) PORT_SENSITIVITY(100) PORT_KEYDELTA(100) PORT_MINMAX(0x00,0x0fff)
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( jak_nm_i2c )
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)
@@ -528,7 +571,7 @@ static INPUT_PORTS_START( jak_nm )
PORT_BIT(0x0fff, 0x0000, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(100) PORT_MINMAX(0x00,0x0fff)
INPUT_PORTS_END
-static INPUT_PORTS_START( jak_wf )
+static INPUT_PORTS_START( jak_wf_i2c )
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)
@@ -564,9 +607,14 @@ static INPUT_PORTS_START( jak_gkr )
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_BUTTON2 )
PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_BUTTON3 )
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_BUTTON4 )
+ PORT_BIT( 0x00c0, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Menu / Pause")
+ PORT_BIT( 0x001f, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("P3")
- PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, jakks_gkr_state,i2c_gkr_r, nullptr)
+ PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -614,7 +662,78 @@ static INPUT_PORTS_START( jak_gkr )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
-static INPUT_PORTS_START( jak_disp )
+static INPUT_PORTS_START( jak_sdoo_i2c ) // GameKeyReady units had 2 main buttons, later releases reduced that to 1 button (as the internal games don't require 2 and no GameKeys were released)
+ 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_BUTTON1 )
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_BUTTON2 )
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_UNUSED ) // debug input, skips levels!
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x00c0, IP_ACTIVE_HIGH, IPT_UNUSED ) // must be low or other inputs don't work?
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Menu / Pause")
+ PORT_BIT( 0x001f, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("P3")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, jakks_gkr_state,i2c_gkr_r, nullptr) // is this correct? doesn't seem to work
+ PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+INPUT_PORTS_END
+
+
+static INPUT_PORTS_START( jak_gkr_i2c )
+ PORT_INCLUDE(jak_gkr)
+
+ PORT_MODIFY("P3")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, jakks_gkr_state,i2c_gkr_r, nullptr)
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( jak_disp_i2c )
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)
@@ -1154,11 +1273,14 @@ void spg2xx_game_state::jakks(machine_config &config)
m_spg->porta_in().set(FUNC(spg2xx_game_state::jakks_porta_r));
m_spg->porta_out().set(FUNC(spg2xx_game_state::jakks_porta_w));
m_spg->portb_out().set(FUNC(spg2xx_game_state::jakks_portb_w));
+}
+void spg2xx_game_state::jakks_i2c(machine_config &config)
+{
+ jakks(config);
I2CMEM(config, m_i2cmem, 0).set_data_size(0x200);
}
-
void jakks_gkr_state::machine_start()
{
spg2xx_game_state::machine_start();
@@ -1180,27 +1302,34 @@ DEVICE_IMAGE_LOAD_MEMBER(jakks_gkr_state, gamekey_cart)
void jakks_gkr_state::jakks_gkr(machine_config &config)
{
- walle(config);
+ jakks(config);
m_spg->porta_in().set(FUNC(jakks_gkr_state::jakks_porta_key_io_r));
m_spg->porta_out().set(FUNC(jakks_gkr_state::jakks_porta_key_io_w));
- //m_spg->portb_in().set_ioport("P2");
+ m_spg->portc_in().set_ioport("P3");
m_spg->portc_out().set(FUNC(jakks_gkr_state::gkr_portc_w));
- m_spg-> set_rowscroll_offset(0);
+ m_spg->set_rowscroll_offset(0);
JAKKS_GAMEKEY_SLOT(config, m_cart, 0, jakks_gamekey, nullptr);
}
-void jakks_gkr_state::jakks_gkr_1m(machine_config &config)
+void jakks_gkr_state::jakks_gkr_i2c(machine_config &config)
{
jakks_gkr(config);
+ I2CMEM(config, m_i2cmem, 0).set_data_size(0x200);
+}
+
+
+void jakks_gkr_state::jakks_gkr_1m_i2c(machine_config &config)
+{
+ jakks_gkr_i2c(config);
m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_1m);
}
-void jakks_gkr_state::jakks_gkr_2m(machine_config &config)
+void jakks_gkr_state::jakks_gkr_2m_i2c(machine_config &config)
{
- jakks_gkr(config);
+ jakks_gkr_i2c(config);
m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_2m);
}
@@ -1211,40 +1340,64 @@ void jakks_gkr_state::jakks_gkr_nk(machine_config &config)
SOFTWARE_LIST(config, "jakks_gamekey_nk").set_original("jakks_gamekey_nk");
}
-void jakks_gkr_state::jakks_gkr_dy(machine_config &config)
+void jakks_gkr_state::jakks_gkr_nk_i2c(machine_config &config)
{
- jakks_gkr(config);
+ jakks_gkr_i2c(config);
+ m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_1m);
+ SOFTWARE_LIST(config, "jakks_gamekey_nk").set_original("jakks_gamekey_nk");
+}
+
+void jakks_gkr_state::jakks_gkr_dy_i2c(machine_config &config)
+{
+ jakks_gkr_i2c(config);
m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_1m);
SOFTWARE_LIST(config, "jakks_gamekey_dy").set_original("jakks_gamekey_dy");
}
-void jakks_gkr_state::jakks_gkr_dp(machine_config &config)
+void jakks_gkr_state::jakks_gkr_mv_i2c(machine_config &config)
{
- jakks_gkr(config);
+ jakks_gkr_i2c(config);
+ m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_1m);
+ SOFTWARE_LIST(config, "jakks_gamekey_mv").set_original("jakks_gamekey_mv");
+}
+
+
+void jakks_gkr_state::jakks_gkr_dp_i2c(machine_config &config)
+{
+ jakks_gkr_i2c(config);
m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_1m);
SOFTWARE_LIST(config, "jakks_gamekey_dp").set_original("jakks_gamekey_dp");
}
-void jakks_gkr_state::jakks_gkr_sw(machine_config &config)
+void jakks_gkr_state::jakks_gkr_sw_i2c(machine_config &config)
{
- jakks_gkr(config);
+ jakks_gkr_i2c(config);
m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_1m);
m_spg->adc_in<0>().set_ioport("JOYX");
m_spg->adc_in<1>().set_ioport("JOYY");
SOFTWARE_LIST(config, "jakks_gamekey_sw").set_original("jakks_gamekey_sw");
}
-void jakks_gkr_state::jakks_gkr_nm(machine_config &config)
+void jakks_gkr_state::jakks_gkr_wp(machine_config &config)
{
jakks_gkr(config);
m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_1m);
+ m_spg->adc_in<0>().set_ioport("JOYX");
+ m_spg->adc_in<1>().set_ioport("JOYY");
+ //SOFTWARE_LIST(config, "jakks_gamekey_wp").set_original("jakks_gamekey_wp"); // NO KEYS RELEASED
+}
+
+void jakks_gkr_state::jakks_gkr_nm_i2c(machine_config &config)
+{
+ jakks_gkr_i2c(config);
+ m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_1m);
m_spg->adc_in<0>().set_ioport("DIALX");
SOFTWARE_LIST(config, "jakks_gamekey_nm").set_original("jakks_gamekey_nm");
}
-void jakks_gkr_state::jakks_gkr_wf(machine_config &config)
+void jakks_gkr_state::jakks_gkr_wf_i2c(machine_config &config)
{
- jakks_gkr(config);
+ jakks_gkr_i2c(config);
m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_1m);
//m_spg->adc_in<0>().set_ioport("DIALX"); // wheel does not seem to map here
//m_spg->adc_in<1>().set_ioport("DIALY");
@@ -1263,7 +1416,7 @@ void spg2xx_game_state::lexizeus(machine_config &config)
void spg2xx_game_state::walle(machine_config &config)
{
- jakks(config);
+ jakks_i2c(config);
m_maincpu->set_addrmap(AS_PROGRAM, &spg2xx_game_state::mem_map_2m);
m_spg->portc_in().set_ioport("P3");
m_spg->portc_out().set(FUNC(spg2xx_game_state::walle_portc_w));
@@ -1354,6 +1507,28 @@ ROM_START( jak_dora )
ROM_LOAD16_WORD_SWAP( "jakksdoragkr.bin", 0x000000, 0x200000, CRC(bcaa132d) SHA1(3894b980fbc4144731b2a7a94acebb29e30de67c) )
ROM_END
+ROM_START( jak_nick )
+ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD16_WORD_SWAP( "jakksnicktoonsgkr.bin", 0x000000, 0x200000, CRC(4dec1656) SHA1(b3002ab15e75068102f4955a3f0c52fb6d5cda56) )
+ROM_END
+
+ROM_START( jak_dorr )
+ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD16_WORD_SWAP( "jakksdora2gkr.bin", 0x000000, 0x200000, CRC(6c09bcd9) SHA1(4bcad79658832f319d16b4f63257e127f6862d79) )
+ROM_END
+
+
+ROM_START( jak_spdm )
+ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD16_WORD_SWAP( "jakksspidermangkr.bin", 0x000000, 0x200000, CRC(1b2ee700) SHA1(30ea69c489e1238b004f473f972b682e35573138) )
+ROM_END
+
+ROM_START( jak_pooh )
+ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD16_WORD_SWAP( "jakkspoohgkr.bin", 0x000000, 0x200000, CRC(0d97df55) SHA1(f108621a83c7b2263dd1531d82311627c3a02002) )
+ROM_END
+
+
ROM_START( jak_wof )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "jakkswheeloffortunegkr.bin", 0x000000, 0x200000, CRC(6a879620) SHA1(95478764a61741569041c2299528f6464651d593) )
@@ -1447,6 +1622,11 @@ ROM_START( mattelcs )
ROM_LOAD16_WORD_SWAP( "mattelclassicsports.bin", 0x000000, 0x100000, CRC(e633e7ad) SHA1(bf3e325a930cf645a7e32195939f3c79c6d35dac) )
ROM_END
+ROM_START( dreamlif )
+ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
+ ROM_LOAD16_WORD_SWAP( "dreamlife.bin", 0x000000, 0x800000, CRC(632e0237) SHA1(a8586e8a626d75cf7782f13cfd9f1b938af23d56) )
+ROM_END
+
/*
Wireless Air 60
(info provided with dump)
@@ -1627,29 +1807,29 @@ CONS( 2008, jak_wall, 0, 0, walle, walle, spg2xx_game_state, empty_init, "JAKKS
// 'Game-Key Ready' JAKKS games (these can also take per-game specific expansion cartridges, although not all games had them released)
// Some of these were available in versions without Game-Key ports, it is unconfirmed if code was the same unless otherwise stated
// For units released AFTER the GameKey promotion was cancelled it appears the code is the same as the PCB inside is the same, just the external port closed off, earlier units might be different hardware in some cases.
-CONS( 2005, jak_wwe, 0, 0, jakks_gkr_1m, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "WWE (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // WW (no game-keys released)
-CONS( 2005, jak_fan4, 0, 0, jakks_gkr_1m, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Digital Eclipse", "Fantastic Four (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // F4 (no game-keys released)
-CONS( 2005, jak_just, 0, 0, jakks_gkr_1m, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Taniko", "Justice League (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // DC (no game-keys released)
-CONS( 2005, jak_dora, 0, 0, jakks_gkr_nk, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dora the Explorer - Nursery Rhyme Adventure (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys (same as Nicktoons & Spongebob) (3 released) - The upper part of this one is pink/purple.
-// there is also a Dora the Explorer 'Race to Play Park' which is also a GameKeyReady unit with NK code, and different games - the upper part of this one is blue.
-CONS( 2005, jak_sdoo, 0, 0, jakks_gkr_2m, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Jolliford Management","Scooby-Doo! and the Mystery of the Castle (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // SD (no game-keys released)
-CONS( 2005, jak_disf, 0, 0, jakks_gkr_dy, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Disney Friends (JAKKS Pacific TV Game, Game-Key Ready) (17 MAY 2005 A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DY keys (3 released)
-CONS( 2005, jak_disp, 0, 0, jakks_gkr_dp, jak_disp, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / 5000ft, Inc", "Disney Princess (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DP keys (1 key released)
+CONS( 2005, jak_wwe, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "WWE (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // WW (no game-keys released)
+CONS( 2005, jak_fan4, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Digital Eclipse", "Fantastic Four (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // F4 (no game-keys released)
+CONS( 2005, jak_just, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Taniko", "Justice League (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // DC (no game-keys released)
+CONS( 2005, jak_dora, 0, 0, jakks_gkr_nk, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dora the Explorer - Nursery Rhyme Adventure (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys (same as Nicktoons & Spongebob) (3 released) - The upper part of this one is pink/purple.
+CONS( 2005, jak_dorr, 0, 0, jakks_gkr_nk_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dora the Explorer - Race to Play Park (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys (same as Nicktoons & Spongebob) (3 released) - The upper part of this one is blue
+CONS( 2004, jak_nick, 0, 0, jakks_gkr_nk_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Nicktoons (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys
+CONS( 2005, jak_sdoo, 0, 0, jakks_gkr_2m_i2c, jak_sdoo_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Jolliford Management", "Scooby-Doo! and the Mystery of the Castle (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // SD (no game-keys released)
+CONS( 2005, jak_disf, 0, 0, jakks_gkr_dy_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Disney Friends (JAKKS Pacific TV Game, Game-Key Ready) (17 MAY 2005 A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DY keys (3 released)
+CONS( 2005, jak_disp, 0, 0, jakks_gkr_dp_i2c, jak_disp_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / 5000ft, Inc", "Disney Princess (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DP keys (1 key released)
// There seems to be a second game called 'Disney Princesses' with a 'board game' style front end as well as the minigames, also GKR, see https://www.youtube.com/watch?v=w9p5TI029bQ The one we have is https://www.youtube.com/watch?v=9ppPKVbpoMs the physical package seems identical.
-CONS( 2005, jak_sith, 0, 0, jakks_gkr_sw, jak_sith, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Griptonite Games", "Star Wars - Revenge of the Sith (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses SW keys (1 released)
-CONS( 2005, jak_dbz, 0, 0, jakks_gkr_1m, jak_gkr, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dragon Ball Z (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // DB (no game-keys released, 1 in development but cancelled)
-CONS( 2005, jak_mpac, 0, 0, jakks_gkr_nm, jak_nm, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Namco / HotGen Ltd", "Ms. Pac-Man 5-in-1 (Ms. Pac-Man, Pole Position, Galaga, Xevious, Mappy) (JAKKS Pacific TV Game, Game-Key Ready) (07 FEB 2005 A SKU F)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NM (3 keys available [Dig Dug, New Rally-X], [Rally-X, Pac-Man, Bosconian], [Pac-Man, Bosconian])
-CONS( 2005, jak_wof, 0, 0, jakks_gkr_wf, jak_wf, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Wheel of Fortune (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses WF keys (no game-keys released) analog wheel not emulated
-// There is a 'Second Edition' version of Wheel of Fortune with a Gold case, GameKey port removed, and a '2' over the usual Game Key Ready logo, it is not yet verified to be the same code.
+CONS( 2005, jak_sith, 0, 0, jakks_gkr_sw_i2c, jak_sith_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Griptonite Games", "Star Wars - Revenge of the Sith (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses SW keys (1 released)
+CONS( 2005, jak_dbz, 0, 0, jakks_gkr_1m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Handheld Games", "Dragon Ball Z (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // DB (no game-keys released, 1 in development but cancelled)
+CONS( 2005, jak_mpac, 0, 0, jakks_gkr_nm_i2c, jak_nm_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Namco / HotGen Ltd", "Ms. Pac-Man 5-in-1 (Ms. Pac-Man, Pole Position, Galaga, Xevious, Mappy) (JAKKS Pacific TV Game, Game-Key Ready) (07 FEB 2005 A SKU F)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NM (3 keys available [Dig Dug, New Rally-X], [Rally-X, Pac-Man, Bosconian], [Pac-Man, Bosconian])
+CONS( 2005, jak_wof, 0, 0, jakks_gkr_wf_i2c, jak_wf_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / HotGen Ltd", "Wheel of Fortune (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses WF keys (no game-keys released) analog wheel not emulated
+// There is a 'Second Edition' version of Wheel of Fortune with a Gold case, GameKey port removed, and a '2' over the usual Game Key Ready logo, internals are different too, not Game-Key Ready
+CONS( 2004, jak_spdm, 0, 0, jakks_gkr_mv_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Digital Eclipse", "Spider-Man (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // MV (1 key available)
+CONS( 2005, jak_pooh, 0, 0, jakks_gkr_wp, jak_pooh, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Backbone Entertainment", "Winnie the Pooh - Piglet's Special Day (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // WP (no game-keys released)
-// Nicktoons NK (3 keys available) (same keys as Dora the Explorer)
// SpongeBob SquarePants: The Fry Cook Games NK (3 keys available) ^^
-// Spider-Man MV (1 key available)
// no keys released for the following, some were in development but cancelled
// Capcom 3-in-1 CC (no game-keys released)
// Care Bears CB (no game-keys released)
-// Winnie the Pooh WP (no game-keys released)
// Radica TV games
CONS( 2006, rad_skat, 0, 0, rad_skat, rad_skat, spg2xx_game_state, init_crc, "Radica", "Play TV Skateboarder (NTSC)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
@@ -1661,6 +1841,9 @@ CONS( 2007, rad_fb2, 0, 0, rad_skat, rad_fb2, spg2xx_game_state, ini
// Mattel games
CONS( 2005, mattelcs, 0, 0, rad_skat, mattelcs, spg2xx_game_state, empty_init, "Mattel", "Mattel Classic Sports", MACHINE_IMPERFECT_SOUND )
+// Hasbro games
+CONS( 2007, dreamlif, 0, 0, rad_skat, rad_crik, spg2xx_game_state, empty_init, "Hasbro ", "Dream Life", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
+
// might not fit here. First 0x8000 bytes are blank (not too uncommon for these) then rest of rom looks like it's probably encrypted at least
// could be later model VT based instead? even after decrypting (simple word xor) the vectors have a different format and are at a different location to the SunPlus titles
CONS( 2009, zone40, 0, 0, non_spg_base, wirels60, spg2xx_game_state, init_zone40, "Jungle Soft / Ultimate Products (HK) Ltd", "Zone 40", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )