From a94226925248a6219e154dea239f83393470a089 Mon Sep 17 00:00:00 2001 From: David Haywood <28625134+DavidHaywood@users.noreply.github.com> Date: Fri, 24 Jun 2022 23:15:11 +0100 Subject: [PATCH] xavix.cpp: Added Play TV Jr. Construction. (#9973) New working machine ------------------ Radica / Takara / SSD Company LTD Play TV Jr. Construction [Sean Riddle, David Haywood, Peter Wilhelmsen, Kamaal Brown] --- src/mame/drivers/xavix.cpp | 27 ++++++++++++ src/mame/mame.lst | 85 +++++++++++++++++++------------------- 2 files changed, 70 insertions(+), 42 deletions(-) diff --git a/src/mame/drivers/xavix.cpp b/src/mame/drivers/xavix.cpp index b2677d46429..b5e66f981a2 100644 --- a/src/mame/drivers/xavix.cpp +++ b/src/mame/drivers/xavix.cpp @@ -1060,6 +1060,25 @@ static INPUT_PORTS_START( epo_epp ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) INPUT_PORTS_END +static INPUT_PORTS_START( rad_jcon ) + PORT_INCLUDE(xavix) + + PORT_MODIFY("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Horn / Start") // selects game + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Cancel / Back") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Lever Up") // for rock crushing game etc. + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Lever Down") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_NAME("Handle Up") // for crane fishing game etc. + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_NAME("Handle Down") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_NAME("Wheel Right") // for menu, crane construction etc. + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_NAME("Wheel Left") + + PORT_MODIFY("IN1") + // Oddly the game instructions you to 'press the lever to go' but the manual makes it clear this ignition key is used + // This is usually the soft power switch input, could Radica have modified this compared to the Japanese original and not given it the correct speech? + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Ignition Key") // moves vehicle forward between parts in digger, pave the road +INPUT_PORTS_END + // there is also a rumble output, likely mapped to one of the port bits static INPUT_PORTS_START( epo_guru ) PORT_INCLUDE(xavix) @@ -1730,6 +1749,12 @@ ROM_START( rad_socr ) ROM_LOAD("soccer.u4", 0x400000, 0x200000, CRC(e0e2c488) SHA1(907511d945dec51782af268a94b372dfeb7517c5) ) ROM_END +ROM_START( rad_jcon ) + ROM_REGION(0x800000, "bios", ROMREGION_ERASE00) + ROM_LOAD("jrconstr_u5.bin", 0x000000, 0x200000, CRC(306699d2) SHA1(121b04bb598d4531db53e497be9270449bb8ffe4) ) + ROM_LOAD("jrconstr_u4.bin", 0x400000, 0x100000, CRC(4cfb6193) SHA1(0f56dfc91db3cc066836daf37ff46f9ff5ec5f94) ) +ROM_END + ROM_START( epo_guru ) ROM_REGION(0x400000, "bios", ROMREGION_ERASE00) ROM_LOAD("gururinworld.bin", 0x000000, 0x400000, CRC(e5ae4523) SHA1(0e39ef8f94203d34e49422081667805f50a339a1) ) @@ -1953,6 +1978,8 @@ CONS( 2002, rad_bdp, 0, 0, xavix, rad_bdp, xavix_state, CONS( 2002, rad_socr, 0, 0, xavix, epo_epp, xavix_state, init_xavix, "Radica / Epoch / SSD Company LTD", "Play TV Soccer", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) +CONS( 2002, rad_jcon, 0, 0, xavix, rad_jcon, xavix_state, init_xavix, "Radica / Takara / SSD Company LTD", "Play TV Jr. Construction", MACHINE_IMPERFECT_SOUND ) + CONS( 2002, epo_esdx, 0, 0, xavix, epo_epp, xavix_state, init_xavix, "Epoch / SSD Company LTD", "Excite Stadium DX (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) CONS( 2000, epo_epp, 0, 0, xavix, epo_epp, xavix_state, init_xavix, "Epoch / SSD Company LTD", "Excite Ping Pong (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 76dd1d4469d..0460a254faa 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -44046,64 +44046,65 @@ xsleenaba // bootleg xsleenaj // TA-0019 (c) 1986 @source:xavix.cpp -taitons1 // -taitons2 // +ddrfammt // +ekara // +ekaraa // +ekarag // +ekaraj // +ekaramix // +ekaraphs // +ekaras // +epitch // +epo_dmon // +epo_efdx // +epo_epp // +epo_epp3 // +epo_eppk // +epo_esdx // +epo_guru // +evio // +gcslottv // +has_wamg // +jarajal // +jpopira // +ltv_tam // namcons1 // namcons2 // -rad_ping // -rad_pingp // -rad_mtrk // -rad_mtrkp // +popira // +popira2 // +rad_bass // +rad_bassp // rad_bb // rad_bb2 // +rad_bdp // rad_box // rad_boxp // rad_crdn // rad_crdnp // -rad_opus // +rad_fb // rad_hnt // rad_hnt2 // -rad_bass // -rad_bassp // +rad_jcon // +rad_madf // +rad_mtrk // +rad_mtrkp // +rad_opus // +rad_ping // +rad_pingp // +rad_rh // +rad_sbw // rad_snow // rad_snowp // -rad_madf // -rad_fb // rad_socr // -epo_esdx // -epo_epp // -epo_eppk // -epo_epp3 // -epo_efdx // -epo_guru // -epo_dmon // -rad_rh // rad_ssx // rad_ssxp // -rad_sbw // -rad_bdp // -has_wamg // -ltv_tam // -tak_geig // -jarajal // -tcarnavi // -tomcpin -tomplc -ekara // -ekaraa // -ekaraj // -ekarag // -ekaras // -ekaraphs // -epitch // -ekaramix // -ddrfammt // -popira // -popira2 // taikodp // -jpopira // -evio // -gcslottv // +taitons1 // +taitons2 // +tak_geig // +tcarnavi // +tomcpin // +tomplc // @source:xavix_2000.cpp epo_ebox //