From db1ddb7ceeb5b99e32c21c090341be83bdf1530f Mon Sep 17 00:00:00 2001 From: AJR Date: Wed, 28 Jul 2021 23:12:41 -0400 Subject: [PATCH] motoxgo: Add "extra" I/O CPU to configuration --- scripts/target/mame/arcade.lua | 1 + src/mame/drivers/namcos23.cpp | 32 +++++++++++++++++++++++++++----- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index be5c46c559c..b818768ea76 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -150,6 +150,7 @@ CPUS["UPD78K"] = true CPUS["KS0164"] = true --CPUS["COPS1"] = true CPUS["MEG"] = true +CPUS["F2MC16"] = true -------------------------------------------------- -- specify available sound cores diff --git a/src/mame/drivers/namcos23.cpp b/src/mame/drivers/namcos23.cpp index 7c3caeb8a6a..c9ad236666e 100644 --- a/src/mame/drivers/namcos23.cpp +++ b/src/mame/drivers/namcos23.cpp @@ -1256,6 +1256,7 @@ Notes: */ #include "emu.h" +#include "cpu/f2mc16/mb9061x.h" #include "cpu/h8/h83002.h" #include "cpu/h8/h83337.h" #include "cpu/mips/mips3.h" @@ -1445,6 +1446,7 @@ public: void s23(machine_config &config); void gmen(machine_config &config); void timecrs2(machine_config &config); + void motoxgo(machine_config &config); void init_s23(); @@ -1553,6 +1555,7 @@ private: void s23h8rwmap(address_map &map); void s23iobrdiomap(address_map &map); void s23iobrdmap(address_map &map); + void motoxgo_exio_map(address_map &map); void timecrs2iobrdmap(address_map &map); virtual void machine_start() override; @@ -3221,6 +3224,17 @@ void namcos23_state::s23iobrdiomap(address_map &map) } +void namcos23_state::motoxgo_exio_map(address_map &map) +{ + map(0x000003, 0x000003).nopr(); + map(0x000008, 0x000009).noprw(); + map(0x000036, 0x000037).nopw(); + map(0x0000c8, 0x0000c8).nopw(); + map(0xfc0000, 0xfcffff).ram(); + map(0xfe0000, 0xffffff).rom().region("exioboard", 0); +} + + // Time Crisis lightgun uint8_t namcos23_state::iob_gun_r(offs_t offset) @@ -3728,6 +3742,14 @@ void namcos23_state::s23(machine_config &config) c352.add_route(3, "lspeaker", 1.00); } +void namcos23_state::motoxgo(machine_config &config) +{ + s23(config); + + mb90611_device &amccpu(MB90611A(config, "amccpu", 4.9152_MHz_XTAL)); + amccpu.set_addrmap(AS_PROGRAM, &namcos23_state::motoxgo_exio_map); +} + void namcos23_state::timecrs2(machine_config &config) { s23(config); @@ -5371,11 +5393,11 @@ GAME( 1997, rapidrvrv2c, rapidrvr, gorgon, rapidrvr, namcos23_state, init_ GAME( 1997, rapidrvrp, rapidrvr, gorgon, rapidrvrp, namcos23_state, init_s23, ROT0, "Namco", "Rapid River (prototype)", GAME_FLAGS ) // 97/11/10, USA GAME( 1997, finfurl, 0, gorgon, finfurl, namcos23_state, init_s23, ROT0, "Namco", "Final Furlong (World, FF2 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) GAME( 1997, downhill, 0, s23, downhill, namcos23_state, init_s23, ROT0, "Namco", "Downhill Bikers (US, DH3 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) -GAME( 1997, motoxgo, 0, s23, s23, namcos23_state, init_s23, ROT0, "Namco", "Motocross Go! (US, MG3 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) -GAME( 1997, motoxgov2a, motoxgo, s23, s23, namcos23_state, init_s23, ROT0, "Namco", "Motocross Go! (World, MG2 Ver. A, set 1)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) -GAME( 1997, motoxgov2a2, motoxgo, s23, s23, namcos23_state, init_s23, ROT0, "Namco", "Motocross Go! (World, MG2 Ver. A, set 2)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) -GAME( 1997, motoxgov1a, motoxgo, s23, s23, namcos23_state, init_s23, ROT0, "Namco", "Motocross Go! (Japan, MG1 Ver. A, set 1)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) -GAME( 1997, motoxgov1a2, motoxgo, s23, s23, namcos23_state, init_s23, ROT0, "Namco", "Motocross Go! (Japan, MG1 Ver. A, set 2)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) +GAME( 1997, motoxgo, 0, motoxgo, s23, namcos23_state, init_s23, ROT0, "Namco", "Motocross Go! (US, MG3 Ver. A)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) +GAME( 1997, motoxgov2a, motoxgo, motoxgo, s23, namcos23_state, init_s23, ROT0, "Namco", "Motocross Go! (World, MG2 Ver. A, set 1)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) +GAME( 1997, motoxgov2a2, motoxgo, motoxgo, s23, namcos23_state, init_s23, ROT0, "Namco", "Motocross Go! (World, MG2 Ver. A, set 2)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) +GAME( 1997, motoxgov1a, motoxgo, motoxgo, s23, namcos23_state, init_s23, ROT0, "Namco", "Motocross Go! (Japan, MG1 Ver. A, set 1)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) +GAME( 1997, motoxgov1a2, motoxgo, motoxgo, s23, namcos23_state, init_s23, ROT0, "Namco", "Motocross Go! (Japan, MG1 Ver. A, set 2)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) GAME( 1997, timecrs2, 0, timecrs2, timecrs2, namcos23_state, init_s23, ROT0, "Namco", "Time Crisis II (US, TSS3 Ver. B)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) GAME( 1997, timecrs2v2b, timecrs2, timecrs2, timecrs2, namcos23_state, init_s23, ROT0, "Namco", "Time Crisis II (World, TSS2 Ver. B)", GAME_FLAGS | MACHINE_NODEVICE_LAN ) GAME( 1997, timecrs2v1b, timecrs2, timecrs2, timecrs2, namcos23_state, init_s23, ROT0, "Namco", "Time Crisis II (Japan, TSS1 Ver. B)", GAME_FLAGS | MACHINE_NODEVICE_LAN )