new working machines (plug and play) (#8100)

* new working machines
------
Star Wars - Original Trilogy (JAKKS Pacific TV Game, prototype)  [anonymous]
Dreamworks Movie Night (JAKKS Pacific TV Game, Oct 18 2006, prototype)  [anonymous]
X-Men - Mutant Reign (JAKKS Pacific TV Game, prototype)  [anonymous]

new working clones
------
Star Wars - Revenge of the Sith (JAKKS Pacific TV Game, Game-Key Ready, prototype) [anonymous]
Dreamworks Movie Night (JAKKS Pacific TV Game, Apr 24 2006, test program) [anonymous]

new working software list entries
------
jakks_gamekey_sw.xml :
Turret Defense & Yoda's Escape (prototype)  [anonymous]
Imperial Gunner & Escape From Cloud City (Dec 22 2005, prototype)  [anonymous]
Catamaran Strike & Coruscant Fire Patrol (Jun 2 2005, prototype)  [anonymous]

* note about ADC issue, possible fix

* move jak_capb plunger to analog channel 3
This commit is contained in:
David Haywood 2021-06-01 19:12:49 +01:00 committed by GitHub
parent 50be96c46d
commit f749dbedc3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 126 additions and 36 deletions

View File

@ -25,4 +25,43 @@ license:CC0
</part>
</software>
<software name="tdyodap" cloneof="tdyoda">
<description>Turret Defense &amp; Yoda's Escape (prototype)</description>
<year>2005</year>
<publisher>JAKKS Pacific / Griptonite Games</publisher>
<part name="cart" interface="jakks_gamekey">
<feature name="slot" value="rom_24lc04"/>
<dataarea name="rom" size="0x800000">
<rom name="turretdefense_yodasescape_prototype.bin" size="0x400000" crc="f87cb070" sha1="570ab1eb37a6b6d9ab8c49b86f335389167c3697" offset="0" />
<rom size="0x400000" offset="0x400000" loadflag="reload" />
</dataarea>
</part>
</software>
<software name="igefcc">
<description>Imperial Gunner &amp; Escape From Cloud City (Dec 22 2005, prototype)</description>
<year>2005</year>
<publisher>JAKKS Pacific / Amaze Entertainment</publisher>
<part name="cart" interface="jakks_gamekey">
<feature name="slot" value="rom_24lc04"/>
<dataarea name="rom" size="0x800000">
<rom name="imerialgunner_escapefromcloudcity_prototype.bin" size="0x400000" crc="93b20a57" sha1="85c53930907d5b2ddaba32dd01e060054ab62c9b" offset="0" />
<rom size="0x400000" offset="0x400000" loadflag="reload" />
</dataarea>
</part>
</software>
<software name="cscfp">
<description>Catamaran Strike &amp; Coruscant Fire Patrol (Jun 2 2005, prototype)</description>
<year>2005</year>
<publisher>JAKKS Pacific / Griptonite Games</publisher>
<part name="cart" interface="jakks_gamekey">
<feature name="slot" value="rom_24lc04"/>
<dataarea name="rom" size="0x800000">
<rom name="catamaranstrike_coruscantfirepatrol_prototype.bin" size="0x400000" crc="9204cb1b" sha1="f94ac47faf5fcc98fc4b5166e51a61c9f890f375" offset="0" />
<rom size="0x400000" offset="0x400000" loadflag="reload" />
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -1102,7 +1102,15 @@ void spg2xx_io_device::io_w(offs_t offset, uint16_t data)
const uint16_t channel = (m_io_regs[REG_ADC_CTRL] >> 4) & 3;
if (BIT(m_io_regs[REG_ADC_CTRL], 0))
{
if (!BIT(old_ctrl, 0))
// Does anything require the 0->1 check below?
// jak_sith (and all the other Star Wars units / GameKeys) break on the high score table if you leave the demo
// running or finish a game with a high score, as they write '0x0001' and then don't read any further directional
// inputs until 0x2000 is set, but that never happens because the value at the time is already 0x0001.
//
// If the state of the lowest bit is important to other software, maybe it's more of a status flag than a true
// read/write register?
//if (!BIT(old_ctrl, 0))
{
m_io_regs[REG_ADC_CTRL] |= 0x2000;
if (BIT(m_io_regs[REG_ADC_CTRL], 9))

View File

@ -526,7 +526,7 @@ void spg110_game_state::spg110_base(machine_config &config)
m_maincpu->portb_in().set_ioport("PB");
m_maincpu->portc_in().set_ioport("PC");
m_maincpu->adc_in<0>().set_ioport("JOYX");
m_maincpu->adc_in<1>().set_ioport("JOYY");
m_maincpu->adc_in<3>().set_ioport("JOYY");
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);

View File

@ -529,7 +529,7 @@ void jakks_gkr_state::jakks_gkr_dp_i2c(machine_config &config)
void jakks_gkr_state::jakks_gkr_sw_i2c(machine_config &config)
{
jakks_gkr_i2c(config);
m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_1m);
m_maincpu->set_addrmap(AS_PROGRAM, &jakks_gkr_state::mem_map_2m);
m_maincpu->adc_in<0>().set(FUNC(jakks_gkr_state::joy_x_read));
m_maincpu->adc_in<1>().set(FUNC(jakks_gkr_state::joy_x_read));
m_maincpu->adc_in<2>().set(FUNC(jakks_gkr_state::joy_y_read));
@ -668,6 +668,22 @@ ROM_START( jak_sdoo )
ROM_LOAD16_WORD_SWAP( "jakksscoobydoogkr.bin", 0x000000, 0x400000, CRC(61062ce5) SHA1(9d21767fd855385ef83e4209c429ecd4bf7e5384) )
ROM_END
ROM_START( jak_dwmn )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "dreamworks.bin", 0x000000, 0x400000, CRC(3ae9f786) SHA1(46451be3af459fbdb75d1155b3817543afe183d5) )
ROM_END
ROM_START( jak_dwmno )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "dw_spg300_test.bin", 0x000000, 0x400000, CRC(1ca2817b) SHA1(39ae519457c102c4420fae3699b2db0557ef1cf5) )
ROM_END
ROM_START( jak_xmenp )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "xmen.bin", 0x000000, 0x400000, CRC(1fa271e0) SHA1(c32652e9eddf82ab496e3609f8fa444e447fb509) )
ROM_END
ROM_START( jak_dbz )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "jakksdragonballzgkr.bin", 0x000000, 0x200000, CRC(d52c3b20) SHA1(fd5ce41c143cad9bca3372054f4ff98b52c33874) )
@ -676,6 +692,17 @@ ROM_END
ROM_START( jak_sith )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "jakksstarwarsgkr.bin", 0x000000, 0x200000, CRC(932cde19) SHA1(b88b748c235e9eeeda574e4d5b4077ae9da6fbd0) )
ROM_RELOAD(0x200000,0x200000)
ROM_END
ROM_START( jak_sithp )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "starwars_prototype.bin", 0x000000, 0x400000, CRC(796b7d90) SHA1(9bcb9899dcaae57288316fe60e7724512e80c905) )
ROM_END
ROM_START( jak_swot )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "starwars_originaltrilogy_prototype.bin", 0x000000, 0x400000, CRC(3dda7aff) SHA1(970044a6b2f14863353e559f5d2a4e928c8de439) )
ROM_END
ROM_START( jak_capc )
@ -701,7 +728,11 @@ CONS( 2005, jak_disn, 0, 0, jakks_gkr_dy, jak_gkr, jakks_gkr_state, emp
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_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DY keys (3 released)
CONS( 2005, jak_dpr, 0, 0, jakks_gkr_dp_i2c, jak_dpr_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)
CONS( 2005, jak_dprs, 0, 0, jakks_gkr_dp_i2c, jak_dpr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / 5000ft, Inc", "Disney Princesses (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses DP keys (1 key released) (unit looks identical to above, including just having 'Disney Princess' logo, but this one has the 'board game' as a frontend and a slightly different on-screen title)
// Some versions of the 'Revenge of the Sith' box art show 'Classic Battles' below the Star Wars logo
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_sithp, jak_sith, 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, prototype)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // ^
// release version of Star Wars Original Trilogy not dumped yet
CONS( 2006, jak_swot, 0, 0, jakks_gkr_sw_i2c, jak_sith_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Amaze Entertainment", "Star Wars - Original Trilogy (JAKKS Pacific TV Game, prototype)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // was designed with SW keys in mind, but retail lacked the port
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_capc, 0, 0, jakks_gkr_cc_i2c, jak_cc_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Capcom / HotGen Ltd", "Capcom 3-in-1 (1942, Commando, Ghosts'n Goblins) (JAKKS Pacific TV Game, Game-Key Ready) (29 MAR 2005 B)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses CC keys (no game-keys released)
@ -711,4 +742,11 @@ CONS( 2004, jak_spdm, 0, 0, jakks_gkr_mv_i2c, jak_gkr_i2c, jakks_gkr_state, emp
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_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // WP (no game-keys released)
CONS( 2005, jak_care, 0, 0, jakks_gkr_cb, jak_care, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Backbone Entertainment", "Care Bears TV Games (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // CB (no game-keys released)
// release version of X-Men is not dumped yet
CONS( 2005, jak_xmenp, 0, 0, jakks_gkr_2m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Amaze Entertainment", "X-Men - Mutant Reign (JAKKS Pacific TV Game, prototype)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
// Dreamworks Movie Night was never manufactured
CONS( 2006, jak_dwmn, 0, 0, jakks_gkr_2m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Amaze Entertainment", "Dreamworks Movie Night (JAKKS Pacific TV Game, Oct 18 2006, prototype)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
CONS( 2006, jak_dwmno,jak_dwmn, 0, jakks_gkr_2m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Amaze Entertainment", "Dreamworks Movie Night (JAKKS Pacific TV Game, Apr 24 2006, test program)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
// Some versions of the Shrek - Over the Hedge unit show the GameKey logo on startup (others don't) there is no evidence to suggest it was ever released with a GameKey port tho, and the internal PCB has no place for one on the versions we've seen (which show the logo)

View File

@ -38780,26 +38780,31 @@ jak_mk
jak_mpacw
@source:spg2xx_jakks_gkr.cpp
jak_wwe //
jak_fan4 //
jak_just //
jak_capc //
jak_care //
jak_dbz //
jak_disf //
jak_disn //
jak_dora //
jak_dorr //
jak_disn //
jak_disf //
jak_dpr //
jak_dprs //
jak_sith //
jak_sdoo //
jak_dbz //
jak_dwmn //
jak_dwmno //
jak_fan4 //
jak_just //
jak_mpac //
jak_capc //
jak_wof //
jak_spdm //
jak_pooh //
jak_care //
jak_nick //
jak_pooh //
jak_sbfc //
jak_sdoo //
jak_sith //
jak_sithp //
jak_spdm //
jak_swot //
jak_wof //
jak_wwe //
jak_xmenp //
@source:spg2xx_jakks_sharp.cpp
jsc_dora