diff options
author | 2019-02-12 15:35:34 +0000 | |
---|---|---|
committer | 2019-02-12 10:35:34 -0500 | |
commit | febaed1aa75dcf2cf9c35a08fac80b9514638654 (patch) | |
tree | 3f15de856e737e39124db0edc3c292bbdacff97e | |
parent | 24b48a9fa835b2bc9ab00fca2147508e7f5c6436 (diff) |
new NOT WORKING machines (#4630)
* new NOT WORKING machines
---
Let's! TV Play Super Spot! Rolling Tamagotchi (Japan) [Sean Riddle, Peter Wilhelmsen]
Zeus IG900 20-in-1 (US?) [Sean Riddle, Peter Wilhelmsen]
Tamagotchi needs inputs etc. verifying (they kinda work, but not very well) and probably seeprom fixes if it's anything like the rest.
Zeus is encrypted / scrambled, probably not too complex, but annoying. Some of the games are the same as Zone60 and the Vii 10in1 etc.
* investigate encryption (nw)
* getting there (nw)
* mapping some inputs (nw)
* (nw)
* input improvements (nw)
* (nw)
* (nw)
* (nw)
* new WORKING software list entries
jakks_gamekey_dp:snowwhit Snow White and the Seven Dwarfs - Memory Chase & Rescue Race, [Sean Riddle, 20 external donators]
jakks_gamekey_nm:pacbosrx Pac-Man & Bosconian & Rally X (11 JUL 2005 A SKU I) [Sean Riddle, 20 external donators]
* (nw)
* some tidy (nw)
* squash decrypt (nw)
-rw-r--r-- | hash/jakks_gamekey_dp.xml | 18 | ||||
-rw-r--r-- | hash/jakks_gamekey_dy.xml | 6 | ||||
-rw-r--r-- | hash/jakks_gamekey_nk.xml | 2 | ||||
-rw-r--r-- | hash/jakks_gamekey_nm.xml | 16 | ||||
-rw-r--r-- | src/mame/drivers/vii.cpp | 209 | ||||
-rw-r--r-- | src/mame/drivers/xavix.cpp | 28 | ||||
-rw-r--r-- | src/mame/includes/xavix.h | 12 | ||||
-rw-r--r-- | src/mame/machine/xavix.cpp | 15 | ||||
-rw-r--r-- | src/mame/mame.lst | 2 |
9 files changed, 296 insertions, 12 deletions
diff --git a/hash/jakks_gamekey_dp.xml b/hash/jakks_gamekey_dp.xml new file mode 100644 index 00000000000..7c7ae5537b6 --- /dev/null +++ b/hash/jakks_gamekey_dp.xml @@ -0,0 +1,18 @@ +<?xml version="1.0"?> +<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd"> +<softwarelist name="jakks_gamekey_dp" description="JAKKS Pacific 'DP' Game Keys"> + + <!-- This list is for the 'DP' coded Game Keys, for Disney Princess --> + + <software name="snowwhit"> + <description>Snow White and the Seven Dwarfs - Memory Chase & Rescue Race</description> + <year>2005</year> + <publisher>JAKKS Pacific / Taniko</publisher> + <part name="cart" interface="jakks_gamekey"> + <dataarea name="rom" size="0x800000"> + <rom name="jakksdisneyprincessmemorychaserescueracegk.bin" size="0x200000" crc="affca84b" sha1="f3b3a4c2db48c2c93cd616db18094470ec070068" offset="0" /> + </dataarea> + </part> + </software> + +</softwarelist> diff --git a/hash/jakks_gamekey_dy.xml b/hash/jakks_gamekey_dy.xml index 8a2b4d7a2d9..8c56de36769 100644 --- a/hash/jakks_gamekey_dy.xml +++ b/hash/jakks_gamekey_dy.xml @@ -8,7 +8,7 @@ Silkscreened onto both PCBs is the text A1 A2 A3 A4 with 2 boxes next to each with H and L. Both PCBs are marked A1 H A3 L. --> <software name="sbwlgoof" supported="no"> <!-- AT24C04 SEEPROM --> - <description>Sports Bowling & Goofy's Underwater Adventure</description> + <description>Sports Bowling & Goofy's Underwater Adventure (V1.31 - JUN 15 2005)</description> <year>2005</year> <publisher>JAKKS Pacific / HotGen Ltd</publisher> <part name="cart" interface="jakks_gamekey"> @@ -23,7 +23,7 @@ </software> <software name="stenfchs" supported="no"> <!-- AT24C04 SEEPROM --> - <description>Sports Tennis & Face Chase</description> + <description>Sports Tennis & Face Chase (15 JUN 2005 C)</description> <year>2005</year> <publisher>JAKKS Pacific / HotGen Ltd</publisher> <part name="cart" interface="jakks_gamekey"> @@ -38,7 +38,7 @@ </software> <software name="stenfcha" supported="no"> <!-- AT24C04 SEEPROM --> - <description>Sports Tennis & Face Chase & Riches of Agrabah</description> + <description>Sports Tennis & Face Chase & Riches of Agrabah (15 JUN 2005 A)</description> <year>2005</year> <publisher>JAKKS Pacific / HotGen Ltd</publisher> <part name="cart" interface="jakks_gamekey"> diff --git a/hash/jakks_gamekey_nk.xml b/hash/jakks_gamekey_nk.xml index da91e1abcbf..e5df2434a3b 100644 --- a/hash/jakks_gamekey_nk.xml +++ b/hash/jakks_gamekey_nk.xml @@ -4,7 +4,7 @@ <!-- This list is for the 'NK' coded Game Keys, for Nicktoons and related systems --> - <software name="dora" supported="no"> + <software name="dora"> <description>Soccer Shootout & Juego De Futbol De Dora & Dora's Star Mountain Adventure</description> <year>2005</year> <publisher>JAKKS Pacific / Handheld Games</publisher> diff --git a/hash/jakks_gamekey_nm.xml b/hash/jakks_gamekey_nm.xml index 7996f792835..beaee61c561 100644 --- a/hash/jakks_gamekey_nm.xml +++ b/hash/jakks_gamekey_nm.xml @@ -3,9 +3,9 @@ <softwarelist name="jakks_gamekey_nm" description="JAKKS Pacific 'NM' Game Keys"> <!-- This list is for the 'NM' coded Game Keys, for Namco base systems (MS Pacman) --> - + <!-- for test mode, hold UP, press A, press DOWN --> <software name="nrxdig"> <!-- has SEEPROM --> - <description>New Rally X & Dig Dug</description> + <description>New Rally X & Dig Dug (01 APR 2005 A SKU E)</description> <publisher>JAKKS Pacific Inc / Namco / HotGen Ltd</publisher> <year>2005</year> <part name="cart" interface="jakks_gamekey"> @@ -16,4 +16,16 @@ </part> </software> + <software name="pacbosrx"> <!-- has SEEPROM --> + <description>Pac-Man & Bosconian & Rally X (11 JUL 2005 A SKU I)</description> + <publisher>JAKKS Pacific Inc / Namco / HotGen Ltd</publisher> + <year>2005</year> + <part name="cart" interface="jakks_gamekey"> + <feature name="slot" value="rom_24lc04"/> + <dataarea name="rom" size="0x800000"> + <rom name="jakksnamcopacmanbosconianrallyxgk.bin" size="0x100000" crc="751f0268" sha1="2fe374650b74924c439477605373df5a47072f41" offset="0" /> + </dataarea> + </part> + </software> + </softwarelist> diff --git a/src/mame/drivers/vii.cpp b/src/mame/drivers/vii.cpp index d0fb6a9bfdd..4c9bc958d5a 100644 --- a/src/mame/drivers/vii.cpp +++ b/src/mame/drivers/vii.cpp @@ -52,7 +52,9 @@ Test Modes: Justice League : press UP, DOWN, LEFT, BT3 on the JAKKS logo in that order, quickly, to get test menu WWE : press UP, BT1, BT2 together during startup logos - + + Disney Friends, MS Pacman, WallE, Batman (and some other HotGen GameKKeys) for test mode, hold UP, + press A, press DOWN during startup TODO: Work out how to access the hidden TEST menus for all games (most JAKKS games should have one at least) @@ -105,8 +107,11 @@ public: void rad_sktv(machine_config &config); void rad_crik(machine_config &config); void non_spg_base(machine_config &config); + void lexizeus(machine_config &config); void init_crc(); + void init_zeus(); + void init_zone40(); DECLARE_CUSTOM_INPUT_MEMBER(i2c_r); @@ -845,6 +850,142 @@ static INPUT_PORTS_START( rad_fb2 ) // controls must be multiplexed somehow, as PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_CUSTOM ) // NTSC (1) / PAL (0) flag INPUT_PORTS_END + +static INPUT_PORTS_START( lexizeus ) // how many buttons does this have? I accidentally entered a secret test mode before that seemed to indicate 6, but can't get there again + PORT_START("P1") + PORT_DIPNAME( 0x0001, 0x0001, "P1" ) + 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 ) ) + 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_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) + 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_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) + 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_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Button 1") // shoot in Tiger Rescue & Deep + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Pause") + + PORT_START("P2") + PORT_DIPNAME( 0x0001, 0x0001, "P2" ) + 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 ) ) + 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 ) ) + + PORT_START("P3") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Button 1 Rapid") // same function as button 1 but with rapid toggle on/off + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Button 2 Rapid") // same function as button 2 but with rapid toggle on/off + PORT_DIPNAME( 0x0004, 0x0004, "P3" ) + PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Button 2") // toggles ball / number view in pool + 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_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) + 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 + + void vii_state::machine_start() { spg2xx_game_state::machine_start(); @@ -1081,7 +1222,7 @@ void jakks_gkr_state::jakks_gkr_dp(machine_config &config) { jakks_gkr(config); m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_1m); - //SOFTWARE_LIST(config, "jakks_gamekey_dp").set_original("jakks_gamekey_dp"); + SOFTWARE_LIST(config, "jakks_gamekey_dp").set_original("jakks_gamekey_dp"); } void jakks_gkr_state::jakks_gkr_sw(machine_config &config) @@ -1111,6 +1252,15 @@ void jakks_gkr_state::jakks_gkr_wf(machine_config &config) } +void spg2xx_game_state::lexizeus(machine_config &config) +{ + non_spg_base(config); + m_maincpu->set_addrmap(AS_PROGRAM, &spg2xx_game_state::mem_map_4m); + m_spg->porta_in().set_ioport("P1"); + m_spg->portb_in().set_ioport("P2"); + m_spg->portc_in().set_ioport("P3"); +} + void spg2xx_game_state::walle(machine_config &config) { jakks(config); @@ -1180,7 +1330,7 @@ ROM_END ROM_START( jak_wall ) ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_WORD_SWAP( "walle.bin", 0x000000, 0x400000, BAD_DUMP CRC(bd554cba) SHA1(6cd06a036ab12e7b0e1fd8003db873b0bb783868) ) - // both of these dumps are bad, but in slightly different ways, note the random green pixels around the text + // both of these dumps are bad, but in slightly different ways, note the random green pixels around the text (bad data is reported in secret test mode) //ROM_LOAD16_WORD_SWAP( "walle.bin", 0x000000, 0x400000, BAD_DUMP CRC(6bc90b16) SHA1(184d72de059057aae7800da510fcf05ed1da9ec9)) ROM_END @@ -1240,6 +1390,11 @@ ROM_START( jak_sith ) ROM_END +ROM_START( lexizeus ) + ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD16_WORD_SWAP( "lexibook1g900us.bin", 0x0000, 0x800000, CRC(c2370806) SHA1(cbb599c29c09b62b6a9951c724cd9fc496309cf9)) +ROM_END + ROM_START( zone40 ) ROM_REGION( 0x4000000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_WORD_SWAP( "zone40.bin", 0x0000, 0x4000000, CRC(4ba1444f) SHA1(de83046ab93421486668a247972ad6d3cda19440) ) @@ -1417,8 +1572,46 @@ void spg2xx_game_state::init_crc() logerror("Calculated Byte Sum of bytes from 0x10 to 0x%08x is %08x)\n", length - 1, checksum); } + +void spg2xx_game_state::init_zeus() +{ + uint16_t *ROM = (uint16_t*)memregion("maincpu")->base(); + int size = memregion("maincpu")->bytes(); + + for (int i = 0x8000 / 2; i < size / 2; i++) + { + // global 16-bit xor + ROM[i] = ROM[i] ^ 0x8a1d; + + // 4 single bit conditional xors + if (ROM[i] & 0x0020) + ROM[i] ^= 0x0100; + + if (ROM[i] & 0x0040) + ROM[i] ^= 0x1000; + + if (ROM[i] & 0x4000) + ROM[i] ^= 0x0001; + + if (ROM[i] & 0x0080) + ROM[i] ^= 0x0004; + + // global 16-bit bitswap + ROM[i] = bitswap<16>(ROM[i], 7, 12, 9, 14, 4, 6, 0, 10, 15, 1, 3, 2, 5, 13, 8, 11); + } +} +void spg2xx_game_state::init_zone40() +{ + uint16_t *ROM = (uint16_t*)memregion("maincpu")->base(); + int size = memregion("maincpu")->bytes(); + for (int i = 0; i < size/2; i++) + { + ROM[i] = ROM[i] ^ 0xbb88; + } + //there is also bitswapping as above, and some kind of address scramble as the vectors are not exactly where expected +} // year, name, parent, compat, machine, input, class, init, company, fullname, flags @@ -1440,12 +1633,12 @@ CONS( 2005, jak_just, 0, 0, jakks_gkr_1m, jak_gkr, jakks_gkr_state, empty_init, 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)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DY keys (3 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) // 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( 2004, 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)", 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_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. @@ -1470,7 +1663,11 @@ CONS( 2005, mattelcs, 0, 0, rad_skat, mattelcs, spg2xx_game_state, emp // 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, empty_init, "Jungle Soft / Ultimate Products (HK) Ltd", "Zone 40", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +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 ) + +// Similar, SPG260?, scrambled +CONS( 200?, lexizeus, 0, 0, lexizeus, lexizeus, spg2xx_game_state, init_zeus, "Lexibook", "Zeus IG900 20-in-1 (US?)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) + // valid looking code, but extended periperhal area (twice the size?) makes use of unemulated opcode 0xfe00 ? CONS( 2011, wrlshunt, 0, 0, non_spg_base, wirels60, spg2xx_game_state, empty_init, "Hamy / Kids Station Toys Inc", "Wireless Hunting Video Game System", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/xavix.cpp b/src/mame/drivers/xavix.cpp index eb8dedd9fba..9548702a93d 100644 --- a/src/mame/drivers/xavix.cpp +++ b/src/mame/drivers/xavix.cpp @@ -580,6 +580,25 @@ static INPUT_PORTS_START( epo_sdb ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) INPUT_PORTS_END +static INPUT_PORTS_START( ltv_tam ) + PORT_INCLUDE(xavix_i2c) + + PORT_MODIFY("MOUSE0X") + PORT_BIT( 0xff, 0x00, IPT_AD_STICK_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_REVERSE PORT_PLAYER(1) + PORT_MODIFY("MOUSE0Y") + PORT_BIT( 0xff, 0x00, IPT_AD_STICK_Y ) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_PLAYER(1) + PORT_MODIFY("MOUSE1X") + PORT_BIT( 0xff, 0x00, IPT_AD_STICK_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_REVERSE PORT_PLAYER(2) + PORT_MODIFY("MOUSE1Y") + PORT_BIT( 0xff, 0x00, IPT_AD_STICK_Y ) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_PLAYER(2) + + PORT_MODIFY("IN0") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) + + PORT_MODIFY("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) +INPUT_PORTS_END + // left + right drums together = select / forward (needed on initial screen). left drum = left in menus right drum = right in menus // analog reading depends heavily on timers, they're too fast right now so drum hits are too hard and register multiple times @@ -1515,6 +1534,11 @@ ROM_START( has_wamg ) ROM_LOAD( "minigolf.bin", 0x000000, 0x400000, CRC(35cee2ad) SHA1(c7344e8ba336bc329638485ea571cd731ebf7649) ) ROM_END +ROM_START( ltv_tam ) + ROM_REGION( 0x400000, "bios", ROMREGION_ERASE00) + ROM_LOAD("letstvtamagotchi.bin", 0x000000, 0x400000, CRC(e3723272) SHA1(e72e128a7a24afb96baafe5f13e13a0d74db4033) ) +ROM_END + /* The e-kara cartridges require the BIOS rom to map into 2nd external bus space as they fetch palette data from it etc. @@ -1677,6 +1701,10 @@ CONS( 2000, popira, 0, 0, xavix_cart_popira,popira, xavix_cart_st CONS( 2003, taikodp, 0, 0, xavix_i2c_taiko, taikodp, xavix_i2c_cart_state, init_xavix, "Takara / SSD Company LTD", "Taiko De Popira (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND /*|MACHINE_IS_BIOS_ROOT*/ ) // inputs? are the drums analog? +// Let’s!TVプレイ 超にんきスポット!ころがしほーだい たまごっちりぞーと (Let's! TV Play Chou Ninki Spot! Korogashi Hodai Tamagotchi Resort) (only on the Japanese list? http://test.shinsedai.co.jp/english/products/Applied/list.html ) This also allows you to use an IR reciever to import a Tamagotchi from compatible games +CONS( 2006, ltv_tam, 0, 0, xavix_i2c_24lc04, ltv_tam,xavix_i2c_ltv_tam_state, init_xavix, "Bandai / SSD Company LTD", "Let's! TV Play Chou Ninki Spot! Korogashi Hodai Tamagotchi Resort (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) + + /* SuperXaviX(?) (XaviX 2000 type CPU) hardware titles (2nd XaviX generation?) diff --git a/src/mame/includes/xavix.h b/src/mame/includes/xavix.h index 0f463643083..d8004c00817 100644 --- a/src/mame/includes/xavix.h +++ b/src/mame/includes/xavix.h @@ -626,6 +626,18 @@ private: int hackaddress2; }; +class xavix_i2c_ltv_tam_state : public xavix_i2c_state +{ +public: + xavix_i2c_ltv_tam_state(const machine_config &mconfig, device_type type, const char *tag) + : xavix_i2c_state(mconfig, type, tag) + { } + +private: + virtual void write_io1(uint8_t data, uint8_t direction) override; +}; + + class xavix_i2c_jmat_state : public xavix_i2c_state { public: diff --git a/src/mame/machine/xavix.cpp b/src/mame/machine/xavix.cpp index f3a09f17b79..a3bdb7994e0 100644 --- a/src/mame/machine/xavix.cpp +++ b/src/mame/machine/xavix.cpp @@ -587,6 +587,21 @@ void xavix_i2c_state::write_io1(uint8_t data, uint8_t direction) } } +// ltv_tam +void xavix_i2c_ltv_tam_state::write_io1(uint8_t data, uint8_t direction) +{ + if (direction & 0x08) + { + m_i2cmem->write_sda((data & 0x08) >> 3); + } + + if (direction & 0x04) + { + m_i2cmem->write_scl((data & 0x04) >> 2); + } +} + + // for taikodp void xavix_i2c_cart_state::write_io1(uint8_t data, uint8_t direction) { diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 2a047eb0ccd..424248d8b33 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -38678,6 +38678,7 @@ jak_sdoo // jak_dbz // jak_mpac // jak_wof // +lexizeus // Lexibook vii // KenSingTon / Jungle Soft / Siatronics Vii wrlshunt // Wireless: Hunting Video Game System wirels60 // Wireless 60 @@ -39851,6 +39852,7 @@ rad_ssxp // rad_sbw // rad_bdp // has_wamg // +ltv_tam // ekara // ekaraa // ekaraj // |