From dfa8f43daf3eccd5e5d5c7dc3b6c4bb782e35aec Mon Sep 17 00:00:00 2001 From: hap Date: Wed, 12 May 2021 20:21:05 +0200 Subject: cop01: let's add imperfect sound flag for cop01 too --- src/devices/cpu/m6800/m6801.cpp | 2 +- src/mame/drivers/cop01.cpp | 29 +++++++++++++---------------- src/mame/includes/cop01.h | 2 +- src/mame/video/cop01.cpp | 2 -- 4 files changed, 15 insertions(+), 20 deletions(-) diff --git a/src/devices/cpu/m6800/m6801.cpp b/src/devices/cpu/m6800/m6801.cpp index bc6c3a53264..47b9649800d 100644 --- a/src/devices/cpu/m6800/m6801.cpp +++ b/src/devices/cpu/m6800/m6801.cpp @@ -1184,7 +1184,7 @@ void hd6301x_cpu_device::write_port2() } /* - if change_pc() directed these areas ,Call hd63701_trap_pc(). + if change_pc() directed these areas, call hd63701_trap_pc(). 'mode' is selected by the sense of p2.0,p2.1,and p2.3 at reset timing. mode 0,1,2,4,6 : $0000-$001f mode 5 : $0000-$001f,$0200-$efff diff --git a/src/mame/drivers/cop01.cpp b/src/mame/drivers/cop01.cpp index 6995f811c3b..c865bd6c249 100644 --- a/src/mame/drivers/cop01.cpp +++ b/src/mame/drivers/cop01.cpp @@ -2,18 +2,17 @@ // copyright-holders:Carlos A. Lozano /*************************************************************************** -Cops 01 (c) 1985 Nichibutsu +Cop 01 (c) 1985 Nichibutsu Mighty Guy (c) 1986 Nichibutsu driver by Carlos A. Lozano TODO: ----- - Fix priority kludge (see video/cop01.c) -mightguy: -- missing emulation of the 1412M2 protection chip, used by the sound CPU. +- Inaccurate of the 1412M2 protection chip in mightguy, used by the sound CPU. This is probably an extra CPU (program rom is the ic2 one), presumably with data / address line scrambling +- Some sound problems remaining, not just 1412M2, but see also MT7949 Mighty Guy board layout: @@ -449,12 +448,12 @@ void cop01_state::machine_reset() void cop01_state::cop01(machine_config &config) { /* basic machine hardware */ - Z80(config, m_maincpu, MAINCPU_CLOCK/2); /* unknown clock / divider */ + Z80(config, m_maincpu, MAINCPU_CLOCK/2); // unknown clock / divider m_maincpu->set_addrmap(AS_PROGRAM, &cop01_state::cop01_map); m_maincpu->set_addrmap(AS_IO, &cop01_state::io_map); m_maincpu->set_vblank_int("screen", FUNC(cop01_state::irq0_line_assert)); - Z80(config, m_audiocpu, XTAL(3'000'000)); /* unknown clock / divider, hand-tuned to match audio reference */ + Z80(config, m_audiocpu, XTAL(3'000'000)); // unknown clock / divider, hand-tuned to match audio reference m_audiocpu->set_addrmap(AS_PROGRAM, &cop01_state::sound_map); m_audiocpu->set_addrmap(AS_IO, &cop01_state::audio_io_map); @@ -475,22 +474,20 @@ void cop01_state::cop01(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); - AY8910(config, "ay1", 1250000).add_route(ALL_OUTPUTS, "mono", 0.50); /* unknown clock / divider, hand-tuned to match audio reference */ - - AY8910(config, "ay2", 1250000).add_route(ALL_OUTPUTS, "mono", 0.25); /* unknown clock / divider, hand-tuned to match audio reference */ - - AY8910(config, "ay3", 1250000).add_route(ALL_OUTPUTS, "mono", 0.25); /* unknown clock / divider, hand-tuned to match audio reference */ + AY8910(config, "ay1", 1250000).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown clock / divider, hand-tuned to match audio reference + AY8910(config, "ay2", 1250000).add_route(ALL_OUTPUTS, "mono", 0.25); // " + AY8910(config, "ay3", 1250000).add_route(ALL_OUTPUTS, "mono", 0.25); // " } void mightguy_state::mightguy(machine_config &config) { /* basic machine hardware */ - Z80(config, m_maincpu, MAINCPU_CLOCK/2); /* unknown divider */ + Z80(config, m_maincpu, MAINCPU_CLOCK/2); // unknown divider m_maincpu->set_addrmap(AS_PROGRAM, &mightguy_state::cop01_map); m_maincpu->set_addrmap(AS_IO, &mightguy_state::mightguy_io_map); m_maincpu->set_vblank_int("screen", FUNC(cop01_state::irq0_line_assert)); - Z80(config, m_audiocpu, AUDIOCPU_CLOCK/2); /* unknown divider */ + Z80(config, m_audiocpu, AUDIOCPU_CLOCK/2); // unknown divider m_audiocpu->set_addrmap(AS_PROGRAM, &mightguy_state::sound_map); m_audiocpu->set_addrmap(AS_IO, &mightguy_state::mightguy_audio_io_map); @@ -514,7 +511,7 @@ void mightguy_state::mightguy(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); - YM3526(config, "ymsnd", AUDIOCPU_CLOCK/2).add_route(ALL_OUTPUTS, "mono", 1.0); /* unknown divider */ + YM3526(config, "ymsnd", AUDIOCPU_CLOCK/2).add_route(ALL_OUTPUTS, "mono", 1.0); // unknown divider DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "mono", 0.5); // unknown DAC } @@ -662,6 +659,6 @@ void cop01_state::init_mightguy() * *************************************/ -GAME( 1985, cop01, 0, cop01, cop01, cop01_state, empty_init, ROT0, "Nichibutsu", "Cop 01 (set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, cop01a, cop01, cop01, cop01, cop01_state, empty_init, ROT0, "Nichibutsu", "Cop 01 (set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, cop01, 0, cop01, cop01, cop01_state, empty_init, ROT0, "Nichibutsu", "Cop 01 (set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1985, cop01a, cop01, cop01, cop01, cop01_state, empty_init, ROT0, "Nichibutsu", "Cop 01 (set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) GAME( 1986, mightguy, 0, mightguy, mightguy, mightguy_state, init_mightguy, ROT270, "Nichibutsu", "Mighty Guy", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/includes/cop01.h b/src/mame/includes/cop01.h index 09c58b6adda..bf02cb5f6f9 100644 --- a/src/mame/includes/cop01.h +++ b/src/mame/includes/cop01.h @@ -2,7 +2,7 @@ // copyright-holders:Carlos A. Lozano /************************************************************************* - Cops 01 + Cop 01 *************************************************************************/ #ifndef MAME_INCLUDES_COP01_H diff --git a/src/mame/video/cop01.cpp b/src/mame/video/cop01.cpp index b01de2e98d5..4393cf3870a 100644 --- a/src/mame/video/cop01.cpp +++ b/src/mame/video/cop01.cpp @@ -2,8 +2,6 @@ // copyright-holders:Carlos A. Lozano /*************************************************************************** - video.c - Functions to emulate the video hardware of the machine. ***************************************************************************/ -- cgit v1.2.3