From 6a33b375e031c392bb8a5301bbcd818b515e1f73 Mon Sep 17 00:00:00 2001 From: AJR Date: Sat, 17 Feb 2018 14:40:58 -0500 Subject: Fix arcade and tiny builds (hopefully) (nw) --- scripts/target/mame/arcade.lua | 2 +- src/mame/audio/exidy440.cpp | 62 ------------------------------------------ src/mame/drivers/exidy440.cpp | 51 ++++++++++++++++++++++++++++++++-- src/mame/includes/exidy440.h | 1 - 4 files changed, 50 insertions(+), 66 deletions(-) diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index c91ab42c8ab..6c152e13daa 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -253,7 +253,7 @@ SOUNDS["YMZ770"] = true SOUNDS["MPEG_AUDIO"] = true SOUNDS["T6721A"] = true SOUNDS["MOS7360"] = true ---SOUNDS["ESQPUMP"] = true +SOUNDS["ESQPUMP"] = true --SOUNDS["VRC6"] = true SOUNDS["SB0400"] = true SOUNDS["AC97"] = true diff --git a/src/mame/audio/exidy440.cpp b/src/mame/audio/exidy440.cpp index 5b5a84297d4..77aad4ff425 100644 --- a/src/mame/audio/exidy440.cpp +++ b/src/mame/audio/exidy440.cpp @@ -13,19 +13,11 @@ #include "audio/exidy440.h" #include "includes/exidy440.h" -#include "cpu/m6809/m6809.h" -#include "speaker.h" - #define SOUND_LOG 0 #define FADE_TO_ZERO 1 -#define EXIDY440_AUDIO_CLOCK (XTAL(12'979'200) / 4) -#define EXIDY440_MC3418_CLOCK (EXIDY440_AUDIO_CLOCK / 4 / 16) -#define EXIDY440_MC3417_CLOCK (EXIDY440_AUDIO_CLOCK / 4 / 32) - - /* internal caching */ #define MAX_CACHE_ENTRIES 1024 /* maximum separate samples we expect to ever see */ #define SAMPLE_BUFFER_LENGTH 1024 /* size of temporary decode buffer on the stack */ @@ -844,57 +836,3 @@ void exidy440_sound_device::sound_stream_update(sound_stream &stream, stream_sam /* all done, time to mix it */ mix_to_16(samples, outputs[0], outputs[1]); } - - -/************************************* - * - * Memory handlers - * - *************************************/ - -ADDRESS_MAP_START(exidy440_state::exidy440_audio_map) - AM_RANGE(0x0000, 0x7fff) AM_NOP - AM_RANGE(0x8000, 0x801f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("custom", exidy440_sound_device, m6844_r, m6844_w) - AM_RANGE(0x8400, 0x840f) AM_MIRROR(0x03f0) AM_DEVREADWRITE("custom", exidy440_sound_device, sound_volume_r, sound_volume_w) - AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x03ff) AM_DEVREAD("custom", exidy440_sound_device, sound_command_r) AM_WRITENOP - AM_RANGE(0x8c00, 0x93ff) AM_NOP - AM_RANGE(0x9400, 0x9403) AM_MIRROR(0x03fc) AM_READNOP AM_DEVWRITE("custom", exidy440_sound_device, sound_banks_w) - AM_RANGE(0x9800, 0x9800) AM_MIRROR(0x03ff) AM_READNOP AM_DEVWRITE("custom", exidy440_sound_device, sound_interrupt_clear_w) - AM_RANGE(0x9c00, 0x9fff) AM_NOP - AM_RANGE(0xa000, 0xbfff) AM_RAM - AM_RANGE(0xc000, 0xdfff) AM_NOP - AM_RANGE(0xe000, 0xffff) AM_ROM -ADDRESS_MAP_END - - - -/************************************* - * - * Machine driver - * - *************************************/ - -MACHINE_CONFIG_START(exidy440_state::exidy440_audio) - - MCFG_CPU_ADD("audiocpu", MC6809, EXIDY440_AUDIO_CLOCK) - MCFG_CPU_PROGRAM_MAP(exidy440_audio_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", driver_device, irq0_line_assert) - - MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") - - MCFG_SOUND_ADD("custom", EXIDY440, EXIDY440_MC3418_CLOCK) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) - -// MCFG_SOUND_ADD("cvsd1", MC3418, EXIDY440_MC3418_CLOCK) -// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) - -// MCFG_SOUND_ADD("cvsd2", MC3418, EXIDY440_MC3418_CLOCK) -// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) - -// MCFG_SOUND_ADD("cvsd3", MC3417, EXIDY440_MC3417_CLOCK) -// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) - -// MCFG_SOUND_ADD("cvsd4", MC3417, EXIDY440_MC3417_CLOCK) -// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) -MACHINE_CONFIG_END diff --git a/src/mame/drivers/exidy440.cpp b/src/mame/drivers/exidy440.cpp index dda7d46f43d..21fdde6df95 100644 --- a/src/mame/drivers/exidy440.cpp +++ b/src/mame/drivers/exidy440.cpp @@ -234,13 +234,19 @@ Who Dunit 1988 6809 ***************************************************************************/ #include "emu.h" +#include "includes/exidy440.h" + #include "cpu/m6809/m6809.h" #include "machine/nvram.h" -#include "includes/exidy440.h" +#include "speaker.h" /* constants */ + #define MAIN_CPU_CLOCK (EXIDY440_MASTER_CLOCK / 8) +#define EXIDY440_AUDIO_CLOCK (XTAL(12'979'200) / 4) +#define EXIDY440_MC3418_CLOCK (EXIDY440_AUDIO_CLOCK / 4 / 16) +#define EXIDY440_MC3417_CLOCK (EXIDY440_AUDIO_CLOCK / 4 / 32) @@ -485,6 +491,27 @@ ADDRESS_MAP_START(exidy440_state::exidy440_map) ADDRESS_MAP_END +/************************************* + * + * Audio CPU memory handlers + * + *************************************/ + +ADDRESS_MAP_START(exidy440_state::exidy440_audio_map) + AM_RANGE(0x0000, 0x7fff) AM_NOP + AM_RANGE(0x8000, 0x801f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("custom", exidy440_sound_device, m6844_r, m6844_w) + AM_RANGE(0x8400, 0x840f) AM_MIRROR(0x03f0) AM_DEVREADWRITE("custom", exidy440_sound_device, sound_volume_r, sound_volume_w) + AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x03ff) AM_DEVREAD("custom", exidy440_sound_device, sound_command_r) AM_WRITENOP + AM_RANGE(0x8c00, 0x93ff) AM_NOP + AM_RANGE(0x9400, 0x9403) AM_MIRROR(0x03fc) AM_READNOP AM_DEVWRITE("custom", exidy440_sound_device, sound_banks_w) + AM_RANGE(0x9800, 0x9800) AM_MIRROR(0x03ff) AM_READNOP AM_DEVWRITE("custom", exidy440_sound_device, sound_interrupt_clear_w) + AM_RANGE(0x9c00, 0x9fff) AM_NOP + AM_RANGE(0xa000, 0xbfff) AM_RAM + AM_RANGE(0xc000, 0xdfff) AM_NOP + AM_RANGE(0xe000, 0xffff) AM_ROM +ADDRESS_MAP_END + + /************************************* * @@ -1005,7 +1032,27 @@ MACHINE_CONFIG_START(exidy440_state::exidy440) exidy440_video(config); /* audio hardware */ - exidy440_audio(config); + MCFG_CPU_ADD("audiocpu", MC6809, EXIDY440_AUDIO_CLOCK) + MCFG_CPU_PROGRAM_MAP(exidy440_audio_map) + MCFG_CPU_VBLANK_INT_DRIVER("screen", driver_device, irq0_line_assert) + + MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") + + MCFG_SOUND_ADD("custom", EXIDY440, EXIDY440_MC3418_CLOCK) + MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) + MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + +// MCFG_SOUND_ADD("cvsd1", MC3418, EXIDY440_MC3418_CLOCK) +// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) + +// MCFG_SOUND_ADD("cvsd2", MC3418, EXIDY440_MC3418_CLOCK) +// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) + +// MCFG_SOUND_ADD("cvsd3", MC3417, EXIDY440_MC3417_CLOCK) +// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) + +// MCFG_SOUND_ADD("cvsd4", MC3417, EXIDY440_MC3417_CLOCK) +// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) MACHINE_CONFIG_END diff --git a/src/mame/includes/exidy440.h b/src/mame/includes/exidy440.h index 3f3a44e4769..5c28358ca14 100644 --- a/src/mame/includes/exidy440.h +++ b/src/mame/includes/exidy440.h @@ -93,7 +93,6 @@ public: void exidy440_bank_select(uint8_t bank); void exidy440(machine_config &config); void exidy440_video(machine_config &config); - void exidy440_audio(machine_config &config); void topsecex(machine_config &config); void topsecex_video(machine_config &config); void exidy440_map(address_map &map); -- cgit v1.2.3