From b96a1298a44ce8928867da4db5393719024ef437 Mon Sep 17 00:00:00 2001 From: mamehaze <140764005+mamehaze@users.noreply.github.com> Date: Sun, 1 Sep 2024 18:37:52 +0100 Subject: [PATCH] tvgames: Added four TV games and two associated cartridges. (#12712) New working clones ------------------ Sega Toys Mega Drive Play TV 1 (Japan) [TeamEurope, David Haywood] New systems marked not working ------------------------------ Bandai / Koto Dragon Ball Z: Scouter Battle Taikan Kamehameha: Ora to Omee to Scouter (Japan) [TeamEurope, David Haywood] JoyPalette Anpanman: Let's Go! Ikunou Drive (Japan) [TeamEurope, David Haywood] Takara / SSD Company LTD Bakutou Sengen Daigunder DX (Japan) [TeamEurope, David Haywood] New software list items marked not working (takara_daigander_dx_cart.xml) ------------------------------------------ R-01 ROM Robo Aoki Inazuma Bulion [TeamEurope, David Haywood] R-02 ROM Robo Jurassic Soldier Bonerex [TeamEurope, David Haywood] --- hash/evio.xml | 59 +++++++++++- hash/takara_daigunder_dx_cart.xml | 90 +++++++++++++++++++ src/mame/mame.lst | 18 ++-- src/mame/sega/megadriv_rad.cpp | 6 ++ src/mame/skeleton/koto_zevio.cpp | 8 +- src/mame/tvgames/generalplus_gpl16250_spi.cpp | 11 +++ src/mame/tvgames/xavix.cpp | 30 ++++++- src/mame/tvgames/xavix.h | 11 +++ 8 files changed, 222 insertions(+), 11 deletions(-) create mode 100644 hash/takara_daigunder_dx_cart.xml diff --git a/hash/evio.xml b/hash/evio.xml index 61c644b1222fb..44cb163ffac0e 100644 --- a/hash/evio.xml +++ b/hash/evio.xml @@ -32,8 +32,63 @@ license:CC0-1.0 *eM17 - Minna no evio (orange) *eM18 - Evio Challenge! (red/pink) - (more?) - + + + Cartridge Pinout + + A01|NC + A02|GND + A03|GND + A04|A16 + A05|A17 + A06|A18 + A07|A19 + A08|A20 + A09|A21 + A10|A22 + A11|A23 + A12|GND + A13|TO A18 + A14|/CE + A15|NC (SEEPROM 6) + A16|NC (SEEPROM 5) + A17|NC + A18|TO A13 (internal ROM /CE) + A19|/OE + A20|NC (/WE) + A21|VCC (/RP) + A22|D00 + A23|D01 + A24|D02 + A25|D03 + A26|VCC + B01|NC + B02|VCC + B03|VCC + B04|A15 + B05|A14 + B06|A13 + B07|A12 + B08|A11 + B09|A10 + B10|A09 + B11|A08 + B12|A07 + B13|A06 + B14|A05 + B15|A04 + B16|A03 + B17|A02 + B18|A01 + B19|A00 + B20|VCC + B21|GND + B22|D07 + B23|D06 + B24|D05 + B25|D04 + B26|GND + --> diff --git a/hash/takara_daigunder_dx_cart.xml b/hash/takara_daigunder_dx_cart.xml new file mode 100644 index 0000000000000..584ce5337383c --- /dev/null +++ b/hash/takara_daigunder_dx_cart.xml @@ -0,0 +1,90 @@ + + + + + + + + + + R-01 ROM Robo Aoki Inazuma Bulion + 2002 + Takara + + + + + + + + + + R-02 ROM Robo Jurassic Soldier Bonerex + 2002 + Takara + + + + + + + + + diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 36360763d7957..8643cf9f9c566 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -39301,20 +39301,21 @@ ssf2mdb twinktmb @source:sega/megadriv_rad.cpp -rad_sf2 // (c)2004 Radica -rad_sf2uk // (c)2004 Radica +dgunl3227 +mdtvp1j +msi_sf2 +ra145 rad_gen1 // (c)2004 Radica rad_gen2 // (c)2004 Radica rad_md1 rad_md1uk rad_md2uk -rad_ssoc // (c)2004 Radica +rad_orun +rad_sf2 // (c)2004 Radica +rad_sf2uk // (c)2004 Radica rad_sonic rad_sonicuk -rad_orun -msi_sf2 -dgunl3227 -ra145 +rad_ssoc // (c)2004 Radica @source:sega/megadriv_sunmix.cpp sbubsm // (c) 1996 Sun Mixing @@ -42207,6 +42208,7 @@ kkcount @source:skeleton/koto_zevio.cpp dbzonep // +dbzscout @source:skeleton/kron.cpp kron180 // 1995 Kron Ltd, Ukraine @@ -45340,6 +45342,7 @@ jak_ths wrlshunt // Wireless: Hunting Video Game System @source:tvgames/generalplus_gpl16250_spi.cpp +anpanbd bkrankp prailpls @@ -45709,6 +45712,7 @@ rad_ssxp // taikodp // taitons1 // taitons2 // +tak_daig tak_geig // tcarnavi // tomcpin // diff --git a/src/mame/sega/megadriv_rad.cpp b/src/mame/sega/megadriv_rad.cpp index 3a46189daff5d..a5d4f1f5d751e 100644 --- a/src/mame/sega/megadriv_rad.cpp +++ b/src/mame/sega/megadriv_rad.cpp @@ -539,6 +539,11 @@ ROM_START( rad_md1uk ) ROM_LOAD16_WORD_SWAP( "radicauk.u2", 0x000000, 0x400000, CRC(03a6734b) SHA1(255048d46b593bc975b3a6c44e8b8e35917511c7) ) ROM_END +ROM_START( mdtvp1j ) + ROM_REGION( 0x400000, "maincpu", 0 ) + ROM_LOAD16_WORD_SWAP( "l08y6_i_32m.u2", 0x000000, 0x400000, CRC(740a8859) SHA1(cf1212ef28e75e2cea752cf10a06ea715a30ae07) ) // 04-07-23 date sticker (23 July 2004) +ROM_END + ROM_START( rad_gen2 ) ROM_REGION( 0x400000, "maincpu", 0 ) ROM_LOAD16_WORD_SWAP( "radica_genesis_vol2_red_usa.bin", 0x000000, 0x400000, CRC(7c1a0f0e) SHA1(a6441f75a4cd48f1563aeafdfbdde00202d4067c) ) @@ -709,6 +714,7 @@ void megadriv_ra145_state::init_ra145() CONS( 2004, rad_gen1, 0, 0, megadriv_radica_3button_ntsc, radica_3button_1player, megadriv_radica_state, init_megadriv, "Radica / Sega", "Genesis Collection Volume 1 (Radica, Arcade Legends) (USA)", 0) CONS( 2004, rad_md1, rad_gen1, 0, megadriv_radica_3button_pal, radica_3button_1player, megadriv_radica_state, init_megadrie, "Radica / Sega", "Mega Drive Collection Volume 1 (Radica, Arcade Legends) (Europe)", 0) CONS( 2004, rad_md1uk, rad_gen1, 0, megadriv_radica_3button_pal, radica_3button_1player, megadriv_radica_state, init_megadrie, "Radica / Sega", "Mega Drive Collection Volume 1 (Radica, Arcade Legends) (UK)", 0) +CONS( 2004, mdtvp1j, rad_gen1, 0, megadriv_radica_3button_ntsc, radica_3button_1player, megadriv_radica_state, init_megadriv, "Sega Toys", "Mega Drive Play TV 1 (Japan)", 0) // expects US region despite being a Japanese unit (Bean Machine is region locked) CONS( 2004, rad_gen2, 0, 0, megadriv_radica_3button_ntsc, radica_3button_1player, megadriv_radica_state, init_megadriv, "Radica / Sega", "Genesis Collection Volume 2 (Radica, Arcade Legends) (USA)", 0) CONS( 2004, rad_md2uk, rad_gen2, 0, megadriv_radica_3button_pal, radica_3button_1player, megadriv_radica_state, init_megadrie, "Radica / Sega", "Mega Drive Collection Volume 2 (Radica, Arcade Legends) (UK)", 0) diff --git a/src/mame/skeleton/koto_zevio.cpp b/src/mame/skeleton/koto_zevio.cpp index 55c37481f8a6e..85d06f187214f 100644 --- a/src/mame/skeleton/koto_zevio.cpp +++ b/src/mame/skeleton/koto_zevio.cpp @@ -98,6 +98,12 @@ void zevio_state::zevio(machine_config &config) } +// ドラゴンボールZ スカウターバトル体感かめはめ波 おらとおめえとスカウター +ROM_START( dbzscout ) + ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD( "mr27t6402l.ic6", 0x000000, 0x800000, CRC(9cb896d6) SHA1(4185ee4593c2ef3b637f6004d1f80dadd4530902) ) +ROM_END + ROM_START( dbzonep ) ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASEFF ) ROM_LOAD( "mr27t6402l.u1", 0x000000, 0x800000, CRC(57f7c319) SHA1(65118a9c61defc75cefe5e45062c0a4788e2a26c) ) @@ -109,5 +115,5 @@ ROM_END } // anonymous namespace -// 2007 - Dragon Ball Z: Scouter Battle Taikan Kamehameha: Ora to Omee to Scouter +CONS( 2007, dbzscout, 0, 0, zevio, zevio, zevio_state, empty_init, "Bandai / Koto", "Dragon Ball Z: Scouter Battle Taikan Kamehameha: Ora to Omee to Scouter (Japan)", MACHINE_IS_SKELETON ) CONS( 2008, dbzonep, 0, 0, zevio, zevio, zevio_state, empty_init, "Bandai / Koto", "Dragon Ball Z x One Piece: Battle Taikan Gum-Gum no Kamehameha: Omee no Koe de Ora o Yobu (Japan)", MACHINE_IS_SKELETON ) diff --git a/src/mame/tvgames/generalplus_gpl16250_spi.cpp b/src/mame/tvgames/generalplus_gpl16250_spi.cpp index df46dd1181672..8990c99bb7aef 100644 --- a/src/mame/tvgames/generalplus_gpl16250_spi.cpp +++ b/src/mame/tvgames/generalplus_gpl16250_spi.cpp @@ -140,6 +140,14 @@ ROM_START( prailpls ) ROM_LOAD16_WORD_SWAP( "mx25l25635f.u9", 0x0000, 0x2000000, CRC(17faefb0) SHA1(1d31c5aa1a37882f74c08414f69c4285149352b7) ) ROM_END +ROM_START( anpanbd ) + ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 ) + //ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP ) // used as bootstrap only (if it exists at all) + + ROM_REGION(0x1000000, "maincpu", ROMREGION_ERASE00) + ROM_LOAD16_WORD_SWAP( "mx25l12835f.u2", 0x0000, 0x1000000, CRC(c4be09d7) SHA1(c9098d0c1c9db649a010f67469f500b69407372f) ) +ROM_END + void generalplus_gpspispi_game_state::init_spi() { @@ -192,4 +200,7 @@ void generalplus_gpspispi_game_state::init_spi() // ぼくはプラレール運転士 新幹線で行こう!プラス (I am a Plarail driver Let's go by Shinkansen! Plus) CONS(2015, prailpls, 0, 0, generalplus_gpspispi, gcm394, generalplus_gpspispi_game_state, init_spi, "Takara Tomy", "Boku wa Plarail Untenshi Shinkansen de Ikou! Plus (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) // has built-in screen, but can be connected to a TV +// this is a half-head shaped unit, SHP13017-R1 main PCB - アンパンマン レッツゴー!育脳ドライブ きみものれるよ!アンパンマンごう「それいけ!アンパンマン」 +CONS(2014, anpanbd, 0, 0, generalplus_gpspispi, gcm394, generalplus_gpspispi_game_state, init_spi, "JoyPalette", "Anpanman: Let's Go! Ikunou Drive (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) + CONS(2015, bkrankp, 0, 0, generalplus_gpspispi_bkrankp, gcm394, generalplus_gpspispi_bkrankp_game_state, init_spi, "Bandai", "Karaoke Ranking Party (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) diff --git a/src/mame/tvgames/xavix.cpp b/src/mame/tvgames/xavix.cpp index 36fa48111c763..d364ecaa2f007 100644 --- a/src/mame/tvgames/xavix.cpp +++ b/src/mame/tvgames/xavix.cpp @@ -1240,6 +1240,15 @@ static INPUT_PORTS_START( evio ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_POWER_OFF ) PORT_NAME("Power Switch") // pressing this will turn the game off. INPUT_PORTS_END +static INPUT_PORTS_START( daig ) + PORT_INCLUDE(xavix) + + PORT_MODIFY("IN0") + + PORT_MODIFY("IN1") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_POWER_OFF ) PORT_NAME("Power Switch") // pressing this will turn the game off. +INPUT_PORTS_END + static INPUT_PORTS_START( gcslottv ) // TODO: proper button names PORT_INCLUDE(xavix) @@ -1604,6 +1613,14 @@ void xavix_cart_state::xavix_cart_evio(machine_config &config) SOFTWARE_LIST(config, "cart_list_evio").set_original("evio"); } +void xavix_cart_state::xavix_cart_daig(machine_config &config) +{ + xavix_cart(config); + NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); + + SOFTWARE_LIST(config, "cart_list_daig").set_original("takara_daigunder_dx_cart"); +} + void xavix_cart_gcslottv_state::xavix_cart_gcslottv(machine_config &config) { xavix_cart(config); @@ -2109,6 +2126,13 @@ ROM_START( evio ) ROM_RELOAD(0x000000, 0x200000) ROM_END +// 爆闘宣言ダイガンダー +ROM_START( tak_daig ) + ROM_REGION( 0x800000, "bios", ROMREGION_ERASE00 ) + ROM_LOAD( "robottransformer_unit.bin", 0x600000, 0x200000, CRC(02deddaa) SHA1(7d7b54684f8b0b92daf02738560779c7df627b91) ) + ROM_RELOAD(0x000000, 0x200000) +ROM_END + // ガチンコ勝負! パチスロTV ROM_START( gcslottv ) @@ -2272,7 +2296,11 @@ CONS( 2003, taikodp, 0, 0, xavix_i2c_taiko, taikodp, xavix_i2c_car CONS( 2004, jpopira, 0, 0, xavix_i2c_jpopira,jpopira, xavix_i2c_cart_state, init_xavix, "Takara / SSD Company LTD", "Jumping Popira (Japan)", MACHINE_IMPERFECT_SOUND /*|MACHINE_IS_BIOS_ROOT*/ ) -CONS( 2003, evio, 0, 0, xavix_cart_evio, evio, xavix_evio_cart_state, init_xavix, "Tomy / SSD Company LTD", "Evio (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND /*|MACHINE_IS_BIOS_ROOT*/ ) // inputs? it's a violin controller +CONS( 2003, evio, 0, 0, xavix_cart_evio, evio, xavix_evio_cart_state,init_xavix, "Tomy / SSD Company LTD", "Evio (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND /*|MACHINE_IS_BIOS_ROOT*/ ) // inputs? it's a violin controller + +// 2 ROM expansion cartridges were available for this, in the form of other robots (the heads acts as cartridges) see takara_daigunder_dx_cart.xml +// a number of other robots were also available, but those act as controllers and don't plug into the ROM slot (presumably the signal sent is used to determine the character) +CONS( 2002, tak_daig, 0, 0, xavix_cart_daig, daig, xavix_daig_cart_state,init_xavix, "Takara / SSD Company LTD", "Bakutou Sengen Daigunder DX (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND /*|MACHINE_IS_BIOS_ROOT*/ ) // inputs? maybe IO interrupt? CONS( 2002, gcslottv, 0, 0, xavix_cart_gcslottv, gcslottv, xavix_cart_gcslottv_state, init_xavix, "Takara / Sammy / DCT / SSD Company LTD", "Gachinko Shoubu! PachisloTV (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND /*|MACHINE_IS_BIOS_ROOT*/ ) diff --git a/src/mame/tvgames/xavix.h b/src/mame/tvgames/xavix.h index 07251d3494275..f838246f71702 100644 --- a/src/mame/tvgames/xavix.h +++ b/src/mame/tvgames/xavix.h @@ -717,6 +717,7 @@ class xavix_cart_state : public xavix_state void xavix_cart_popira(machine_config &config); void xavix_cart_ddrfammt(machine_config &config); void xavix_cart_evio(machine_config &config); + void xavix_cart_daig(machine_config &config); protected: @@ -950,6 +951,16 @@ class xavix_evio_cart_state : public xavix_cart_state virtual void write_io1(uint8_t data, uint8_t direction) override; }; +class xavix_daig_cart_state : public xavix_cart_state +{ +public: + xavix_daig_cart_state(const machine_config &mconfig, device_type type, const char *tag) + : xavix_cart_state(mconfig,type,tag) + { } + +protected: +}; + class xavix_ekara_state : public xavix_cart_state { public: