mirror of
https://github.com/holub/mame
synced 2025-04-22 08:22:15 +03:00
shared/dcs.cpp: Implemented device_mixer_interface for sound output. (#12252)
* Suppress side effects for debugger reads. * Reduced use of literal tags. * Reduces public class members. * Use C++ style line comments.
This commit is contained in:
parent
733c17d48f
commit
f513e7c713
@ -57,6 +57,7 @@
|
||||
#include "video/zeus2.h"
|
||||
|
||||
#include "emupal.h"
|
||||
#include "speaker.h"
|
||||
|
||||
#define LOG_RTC (1U << 1)
|
||||
#define LOG_PORT (1U << 2)
|
||||
@ -839,9 +840,15 @@ void atlantis_state::mwskins(machine_config &config)
|
||||
m_screen->set_screen_update("zeus2", FUNC(zeus2_device::screen_update));
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
DCS2_AUDIO_DENVER_2CH(config, m_dcs, 0);
|
||||
m_dcs->set_maincpu_tag(m_maincpu);
|
||||
m_dcs->set_dram_in_mb(4);
|
||||
m_dcs->set_polling_offset(0xe33);
|
||||
m_dcs->add_route(0, "rspeaker", 1.0);
|
||||
m_dcs->add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
|
||||
|
@ -626,6 +626,7 @@ void midtunit_state::tunit_adpcm(machine_config &config)
|
||||
|
||||
/* basic machine hardware */
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
|
||||
WILLIAMS_ADPCM_SOUND(config, m_adpcm_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0);
|
||||
}
|
||||
|
||||
@ -635,7 +636,11 @@ void midtunit_state::tunit_dcs(machine_config &config)
|
||||
tunit_core(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
|
||||
DCS_AUDIO_2K(config, m_dcs, 0);
|
||||
m_dcs->set_maincpu_tag(m_maincpu);
|
||||
m_dcs->add_route(0, "speaker", 1.0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -30,6 +30,8 @@
|
||||
#include "cpu/adsp2100/adsp2100.h"
|
||||
#include "machine/nvram.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
#include "crusnusa.lh"
|
||||
|
||||
|
||||
@ -1105,7 +1107,11 @@ void midvunit_state::midvunit(machine_config &config)
|
||||
m_adc->ch3_callback().set_ioport("BRAKE");
|
||||
|
||||
/* sound hardware */
|
||||
DCS_AUDIO_2K(config, "dcs", 0);
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
DCS_AUDIO_2K(config, m_dcs, 0);
|
||||
m_dcs->set_maincpu_tag(m_maincpu);
|
||||
m_dcs->add_route(0, "mono", 1.0);
|
||||
}
|
||||
|
||||
|
||||
@ -1146,9 +1152,15 @@ void midvunit_state::midvplus(machine_config &config)
|
||||
m_midway_ioasic->set_yearoffs(94);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
DCS2_AUDIO_2115(config, m_dcs, 0);
|
||||
m_dcs->set_maincpu_tag(m_maincpu);
|
||||
m_dcs->set_dram_in_mb(2);
|
||||
m_dcs->set_polling_offset(0x3839);
|
||||
m_dcs->add_route(0, "rspeaker", 1.0);
|
||||
m_dcs->add_route(1, "lspeaker", 1.0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -102,7 +102,7 @@ Notes:
|
||||
#include "machine/nvram.h"
|
||||
|
||||
#include "screen.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
#define PIXEL_CLOCK (8000000)
|
||||
|
||||
@ -649,7 +649,11 @@ void midwunit_state::wunit(machine_config &config)
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
DCS_AUDIO_8K(config, m_dcs, 0);
|
||||
m_dcs->set_maincpu_tag(m_maincpu);
|
||||
m_dcs->add_route(0, "mono", 1.0);
|
||||
}
|
||||
|
||||
void midwunit_state::wunit_picsim(machine_config &config)
|
||||
|
@ -117,6 +117,7 @@ ________________________________________________________________
|
||||
#include "machine/adc0844.h"
|
||||
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
#define PIXEL_CLOCK (8000000)
|
||||
@ -308,7 +309,11 @@ void midxunit_state::midxunit(machine_config &config)
|
||||
adc.ch6_callback().set_ioport("AN5");
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
DCS_AUDIO_2K_UART(config, m_dcs, 0);
|
||||
m_dcs->set_maincpu_tag(m_maincpu);
|
||||
m_dcs->add_route(0, "mono", 1.0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -40,6 +40,8 @@ The Grid v1.2 10/18/2000
|
||||
#include "machine/tsb12lv01a.h"
|
||||
#include "video/zeus2.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
#include "crusnexo.lh"
|
||||
|
||||
#define LOG_FIREWIRE (1U << 1)
|
||||
@ -1279,7 +1281,13 @@ void midzeus_state::midzeus(machine_config &config)
|
||||
m_screen->set_palette("palette");
|
||||
|
||||
/* sound hardware */
|
||||
DCS2_AUDIO_2104(config, "dcs", 0);
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
|
||||
@ -1318,7 +1326,13 @@ void midzeus2_state::midzeus2(machine_config &config)
|
||||
m_zeus->irq_callback().set(FUNC(midzeus2_state::zeus_irq));
|
||||
|
||||
/* sound hardware */
|
||||
DCS2_AUDIO_2104(config, "dcs", 0);
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
M48T35(config, m_m48t35, 0);
|
||||
|
||||
|
@ -2124,9 +2124,16 @@ void seattle_state::flagstaff(machine_config &config)
|
||||
void seattle_state::wg3dh(machine_config &config)
|
||||
{
|
||||
phoenix(config);
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(2);
|
||||
dcs.set_polling_offset(0x3839);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
|
||||
@ -2138,9 +2145,16 @@ void seattle_state::wg3dh(machine_config &config)
|
||||
void seattle_state::mace(machine_config &config)
|
||||
{
|
||||
seattle150(config);
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(2);
|
||||
dcs.set_polling_offset(0x3839);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_MACE);
|
||||
@ -2213,9 +2227,16 @@ void seattle_state::sfrushrkw(machine_config &config)
|
||||
void seattle_state::calspeed(machine_config &config)
|
||||
{
|
||||
seattle150_widget(config);
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(2);
|
||||
dcs.set_polling_offset(0x39c0);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_CALSPEED);
|
||||
@ -2228,9 +2249,16 @@ void seattle_state::calspeed(machine_config &config)
|
||||
void seattle_state::vaportrx(machine_config &config)
|
||||
{
|
||||
seattle200_widget(config);
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(2);
|
||||
dcs.set_polling_offset(0x39c2);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_VAPORTRX);
|
||||
@ -2242,9 +2270,16 @@ void seattle_state::vaportrx(machine_config &config)
|
||||
void seattle_state::biofreak(machine_config &config)
|
||||
{
|
||||
seattle150(config);
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(2);
|
||||
dcs.set_polling_offset(0x3835);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
|
||||
@ -2256,9 +2291,16 @@ void seattle_state::biofreak(machine_config &config)
|
||||
void seattle_state::blitz(machine_config &config)
|
||||
{
|
||||
seattle150(config);
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(2);
|
||||
dcs.set_polling_offset(0x39c2);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_BLITZ99);
|
||||
@ -2271,9 +2313,16 @@ void seattle_state::blitz(machine_config &config)
|
||||
void seattle_state::blitz99(machine_config &config)
|
||||
{
|
||||
seattle150(config);
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(2);
|
||||
dcs.set_polling_offset(0x0afb);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_BLITZ99);
|
||||
@ -2286,9 +2335,16 @@ void seattle_state::blitz99(machine_config &config)
|
||||
void seattle_state::blitz2k(machine_config &config)
|
||||
{
|
||||
seattle150(config);
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(2);
|
||||
dcs.set_polling_offset(0x0b5d);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_BLITZ99);
|
||||
@ -2303,9 +2359,15 @@ void seattle_state::carnevil(machine_config &config)
|
||||
seattle150(config);
|
||||
m_galileo->set_map(3, address_map_constructor(&seattle_state::carnevil_cs3_map, "carnevil_cs3_map", this), this);
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(2);
|
||||
dcs.set_polling_offset(0x0af7);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_CARNEVIL);
|
||||
@ -2317,9 +2379,16 @@ void seattle_state::carnevil(machine_config &config)
|
||||
void seattle_state::hyprdriv(machine_config &config)
|
||||
{
|
||||
seattle200_widget(config);
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(2);
|
||||
dcs.set_polling_offset(0x0af7);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_HYPRDRIV);
|
||||
|
@ -292,6 +292,7 @@
|
||||
#include "video/voodoo_pci.h"
|
||||
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
|
||||
#include "sf2049.lh"
|
||||
|
||||
@ -2036,9 +2037,16 @@ void vegas_state::gauntleg(machine_config &config)
|
||||
// Needs 250MHz MIPS or screen tearing occurs (See MT8064)
|
||||
// Firmware frequency detection seems to have a bug, console reports 220MHz for a 200MHz cpu and 260MHz for a 250MHz cpu
|
||||
vegas250(config);
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(4);
|
||||
dcs.set_polling_offset(0x0b5d);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_CALSPEED);
|
||||
@ -2052,9 +2060,16 @@ void vegas_state::gauntdl(machine_config &config)
|
||||
{
|
||||
// Needs 250MHz MIPS or screen tearing occurs (See MT8064)
|
||||
vegas250(config);
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(4);
|
||||
dcs.set_polling_offset(0x0b5d);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_GAUNTDL);
|
||||
@ -2067,9 +2082,16 @@ void vegas_state::gauntdl(machine_config &config)
|
||||
void vegas_state::warfa(machine_config &config)
|
||||
{
|
||||
vegas250(config);
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(4);
|
||||
dcs.set_polling_offset(0x0b5d);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_MACE);
|
||||
@ -2082,9 +2104,16 @@ void vegas_state::warfa(machine_config &config)
|
||||
void vegas_state::tenthdeg(machine_config &config)
|
||||
{
|
||||
vegas(config);
|
||||
dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, m_dcs, 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(4);
|
||||
dcs.set_polling_offset(0x0afb);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_GAUNTDL);
|
||||
@ -2097,9 +2126,16 @@ void vegas_state::tenthdeg(machine_config &config)
|
||||
void vegas_state::roadburn(machine_config &config)
|
||||
{
|
||||
vegas32m(config);
|
||||
dcs2_audio_dsio_device &dcs(DCS2_AUDIO_DSIO(config, "dcs", 0));
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_dsio_device &dcs(DCS2_AUDIO_DSIO(config, m_dcs, 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(4);
|
||||
dcs.set_polling_offset(0x0ddd);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
|
||||
@ -2112,9 +2148,16 @@ void vegas_state::roadburn(machine_config &config)
|
||||
void vegas_state::nbashowt(machine_config &config)
|
||||
{
|
||||
vegasban(config);
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(4);
|
||||
dcs.set_polling_offset(0x0b5d);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_MACE);
|
||||
@ -2129,9 +2172,16 @@ void vegas_state::nbashowt(machine_config &config)
|
||||
void vegas_state::nbanfl(machine_config &config)
|
||||
{
|
||||
vegasban(config);
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(4);
|
||||
dcs.set_polling_offset(0x0b5d);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_BLITZ99);
|
||||
@ -2150,9 +2200,16 @@ void vegas_state::nbagold(machine_config &config)
|
||||
m_maincpu->set_dcache_size(32768);
|
||||
m_maincpu->set_system_clock(vegas_state::SYSTEM_CLOCK);
|
||||
m_nile->set_sdram_size(0, 0x00800000);
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(4);
|
||||
dcs.set_polling_offset(0x0b5d);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_GAUNTDL);
|
||||
@ -2166,9 +2223,22 @@ void vegas_state::nbagold(machine_config &config)
|
||||
void vegas_state::sf2049(machine_config &config)
|
||||
{
|
||||
denver(config);
|
||||
dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, "dcs", 0));
|
||||
|
||||
SPEAKER(config, "flspeaker").front_left();
|
||||
SPEAKER(config, "frspeaker").front_right();
|
||||
SPEAKER(config, "rlspeaker").headrest_left();
|
||||
SPEAKER(config, "rrspeaker").headrest_right();
|
||||
SPEAKER(config, "subwoofer").backrest();
|
||||
|
||||
dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, m_dcs, 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(8);
|
||||
dcs.set_polling_offset(0x872);
|
||||
dcs.add_route(0, "flspeaker", 1.0);
|
||||
dcs.add_route(1, "frspeaker", 1.0);
|
||||
dcs.add_route(2, "rlspeaker", 1.0);
|
||||
dcs.add_route(3, "rrspeaker", 1.0);
|
||||
dcs.add_route(4, "subwoofer", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
|
||||
@ -2182,9 +2252,22 @@ void vegas_state::sf2049(machine_config &config)
|
||||
void vegas_state::sf2049se(machine_config &config)
|
||||
{
|
||||
denver(config);
|
||||
dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, "dcs", 0));
|
||||
|
||||
SPEAKER(config, "flspeaker").front_left();
|
||||
SPEAKER(config, "frspeaker").front_right();
|
||||
SPEAKER(config, "rlspeaker").headrest_left();
|
||||
SPEAKER(config, "rrspeaker").headrest_right();
|
||||
SPEAKER(config, "subwoofer").backrest();
|
||||
|
||||
dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, m_dcs, 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(8);
|
||||
dcs.set_polling_offset(0x872);
|
||||
dcs.add_route(0, "flspeaker", 1.0);
|
||||
dcs.add_route(1, "frspeaker", 1.0);
|
||||
dcs.add_route(2, "rlspeaker", 1.0);
|
||||
dcs.add_route(3, "rrspeaker", 1.0);
|
||||
dcs.add_route(4, "subwoofer", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_SFRUSHRK);
|
||||
@ -2198,9 +2281,22 @@ void vegas_state::sf2049se(machine_config &config)
|
||||
void vegas_state::sf2049te(machine_config &config)
|
||||
{
|
||||
denver(config);
|
||||
dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, "dcs", 0));
|
||||
|
||||
SPEAKER(config, "flspeaker").front_left();
|
||||
SPEAKER(config, "frspeaker").front_right();
|
||||
SPEAKER(config, "rlspeaker").headrest_left();
|
||||
SPEAKER(config, "rrspeaker").headrest_right();
|
||||
SPEAKER(config, "subwoofer").backrest();
|
||||
|
||||
dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, m_dcs, 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(8);
|
||||
dcs.set_polling_offset(0x872);
|
||||
dcs.add_route(0, "flspeaker", 1.0);
|
||||
dcs.add_route(1, "frspeaker", 1.0);
|
||||
dcs.add_route(2, "rlspeaker", 1.0);
|
||||
dcs.add_route(3, "rrspeaker", 1.0);
|
||||
dcs.add_route(4, "subwoofer", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_SFRUSHRK);
|
||||
@ -2214,9 +2310,15 @@ void vegas_state::sf2049te(machine_config &config)
|
||||
void vegas_state::cartfury(machine_config &config)
|
||||
{
|
||||
vegasv3(config);
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
|
||||
dcs.set_maincpu_tag(m_maincpu);
|
||||
dcs.set_dram_in_mb(4);
|
||||
dcs.set_polling_offset(0x0b5d);
|
||||
dcs.add_route(0, "rspeaker", 1.0);
|
||||
dcs.add_route(1, "lspeaker", 1.0);
|
||||
|
||||
MIDWAY_IOASIC(config, m_ioasic, 0);
|
||||
m_ioasic->set_shuffle(MIDWAY_IOASIC_CARNEVIL);
|
||||
|
@ -49,6 +49,8 @@ ToDo:
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/timer.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
namespace {
|
||||
|
||||
class wpc_95_state : public driver_device
|
||||
@ -2312,7 +2314,12 @@ void wpc_95_state::wpc_95(machine_config &config)
|
||||
WPC_DMD(config, "dmd", 0).scanline_callback().set(FUNC(wpc_95_state::scanline_irq));
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
DCS_AUDIO_WPC(config, m_dcs, 0);
|
||||
m_dcs->set_maincpu_tag(m_maincpu);
|
||||
m_dcs->add_route(0, "mono", 1.0);
|
||||
}
|
||||
|
||||
/*-------------------------
|
||||
|
@ -37,6 +37,8 @@ ToDo:
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "machine/nvram.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
namespace {
|
||||
|
||||
class wpc_dcs_state : public driver_device
|
||||
@ -472,7 +474,12 @@ void wpc_dcs_state::wpc_dcs(machine_config &config)
|
||||
WPC_DMD(config, "dmd", 0).scanline_callback().set(FUNC(wpc_dcs_state::scanline_irq));
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
DCS_AUDIO_8K(config, m_dcs, 0);
|
||||
m_dcs->set_maincpu_tag(m_maincpu);
|
||||
m_dcs->add_route(0, "mono", 1.0);
|
||||
}
|
||||
|
||||
/*----------------------
|
||||
|
@ -12,8 +12,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "dcs.h"
|
||||
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "wpcsnd.h"
|
||||
#include "wpc.h"
|
||||
|
@ -49,6 +49,8 @@ ToDo:
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "machine/nvram.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
namespace {
|
||||
|
||||
class wpc_s_state : public driver_device
|
||||
@ -2057,7 +2059,12 @@ void wpc_s_state::wpc_s(machine_config &config)
|
||||
WPC_DMD(config, "dmd", 0).scanline_callback().set(FUNC(wpc_s_state::scanline_irq));
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
DCS_AUDIO_8K(config, m_dcs, 0);
|
||||
m_dcs->set_maincpu_tag(m_maincpu);
|
||||
m_dcs->add_route(0, "mono", 1.0);
|
||||
}
|
||||
|
||||
/*-----------------
|
||||
|
@ -193,6 +193,7 @@ Notes:
|
||||
|
||||
#include "emupal.h"
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
namespace {
|
||||
@ -704,7 +705,11 @@ void kinst_state::kinst(machine_config &config)
|
||||
PALETTE(config, m_palette, palette_device::BGR_555);
|
||||
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
DCS_AUDIO_2K(config, m_dcs, 0);
|
||||
m_dcs->set_maincpu_tag(m_maincpu);
|
||||
m_dcs->add_route(0, "mono", 1.0);
|
||||
}
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -12,14 +12,17 @@
|
||||
#pragma once
|
||||
|
||||
#include "cpu/adsp2100/adsp2100.h"
|
||||
#include "sound/dmadac.h"
|
||||
#include "machine/bankdev.h"
|
||||
#include "machine/timer.h"
|
||||
#include "sound/dmadac.h"
|
||||
|
||||
|
||||
class dcs_audio_device : public device_t
|
||||
class dcs_audio_device : public device_t, public device_mixer_interface
|
||||
{
|
||||
public:
|
||||
enum { REV_DCS1, REV_DCS1P5, REV_DCS2, REV_DSIO, REV_DENV };
|
||||
|
||||
template <typename T> void set_maincpu_tag(T &&tag) { m_maincpu.set_tag(std::forward<T>(tag)); }
|
||||
// for dcs2 (int dram_in_mb, offs_t polling_offset)
|
||||
void set_dram_in_mb(int dram_in_mb) { m_dram_in_mb = dram_in_mb; }
|
||||
void set_polling_offset(offs_t polling_offset) { m_polling_offset = polling_offset; }
|
||||
@ -47,6 +50,132 @@ public:
|
||||
void denver_postload();
|
||||
void install_speedup();
|
||||
|
||||
uint8_t get_rev() { return m_rev; } // TODO(RH): This can be done better, and shouldn't be necessary.
|
||||
cpu_device *get_cpu() { return m_cpu; } // TODO(RH): Same.
|
||||
|
||||
protected:
|
||||
// construction/destruction
|
||||
dcs_audio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int rev, int outputs);
|
||||
|
||||
// device_t implementation
|
||||
virtual void device_start() override ATTR_COLD;
|
||||
virtual void device_reset() override ATTR_COLD;
|
||||
|
||||
void add_mconfig_dcs(machine_config &config) ATTR_COLD;
|
||||
|
||||
struct sdrc_state
|
||||
{
|
||||
uint16_t reg[4];
|
||||
uint8_t seed;
|
||||
};
|
||||
|
||||
|
||||
struct dsio_state
|
||||
{
|
||||
uint16_t reg[4];
|
||||
uint8_t start_on_next_write;
|
||||
uint16_t channelbits;
|
||||
};
|
||||
|
||||
|
||||
struct hle_transfer_state
|
||||
{
|
||||
uint8_t hle_enabled;
|
||||
int32_t dcs_state;
|
||||
int32_t state;
|
||||
int32_t start;
|
||||
int32_t stop;
|
||||
int32_t type;
|
||||
int32_t temp;
|
||||
int32_t writes_left;
|
||||
uint16_t sum;
|
||||
int32_t fifo_entries;
|
||||
timer_device *watchdog;
|
||||
};
|
||||
|
||||
optional_device<device_execute_interface> m_maincpu;
|
||||
|
||||
required_device<timer_device> m_reg_timer;
|
||||
optional_device<timer_device> m_sport0_timer;
|
||||
required_device<timer_device> m_internal_timer;
|
||||
|
||||
optional_device<address_map_bank_device> m_ram_map;
|
||||
|
||||
optional_region_ptr<uint16_t> m_bootrom;
|
||||
optional_shared_ptr<uint32_t> m_internal_program_ram;
|
||||
optional_shared_ptr<uint32_t> m_external_program_ram;
|
||||
optional_shared_ptr<uint32_t> m_internal_data_ram;
|
||||
optional_shared_ptr<uint16_t> m_iram;
|
||||
|
||||
optional_memory_bank m_data_bank;
|
||||
memory_bank_creator m_rom_page;
|
||||
memory_bank_creator m_dram_page;
|
||||
|
||||
adsp21xx_device *m_cpu;
|
||||
address_space *m_program;
|
||||
address_space *m_data;
|
||||
uint8_t m_rev;
|
||||
offs_t m_polling_offset;
|
||||
uint32_t m_polling_count;
|
||||
// sound output
|
||||
uint8_t m_channels;
|
||||
uint16_t m_size;
|
||||
uint16_t m_incs;
|
||||
dmadac_sound_device *m_dmadac[6];
|
||||
int32_t m_ireg;
|
||||
uint16_t m_ireg_base;
|
||||
uint16_t m_control_regs[32];
|
||||
|
||||
// memory access
|
||||
uint16_t * m_sounddata;
|
||||
std::unique_ptr<uint16_t[]> m_sounddata_ptr;
|
||||
uint32_t m_sounddata_words;
|
||||
uint32_t m_sounddata_banks;
|
||||
uint16_t m_sounddata_bank;
|
||||
|
||||
// I/O with the host
|
||||
uint8_t m_auto_ack;
|
||||
uint16_t m_latch_control;
|
||||
uint16_t m_input_data;
|
||||
uint16_t m_output_data;
|
||||
uint16_t m_pre_output_data;
|
||||
uint16_t m_output_control;
|
||||
uint64_t m_output_control_cycles;
|
||||
uint8_t m_last_output_full;
|
||||
uint8_t m_last_input_empty;
|
||||
uint16_t m_progflags;
|
||||
emu_timer * m_s1_ack_timer;
|
||||
emu_timer * m_s1_ack2_timer;
|
||||
emu_timer * m_s2_ack_timer;
|
||||
|
||||
write_line_delegate m_output_full_cb;
|
||||
write_line_delegate m_input_empty_cb;
|
||||
|
||||
read16smo_delegate m_fifo_data_r;
|
||||
read16mo_delegate m_fifo_status_r;
|
||||
write_line_delegate m_fifo_reset_w;
|
||||
|
||||
/* timers */
|
||||
uint8_t m_timer_enable;
|
||||
bool m_timer_ignore;
|
||||
uint64_t m_timer_start_cycles;
|
||||
uint32_t m_timer_start_count;
|
||||
uint32_t m_timer_scale;
|
||||
uint32_t m_timer_period;
|
||||
uint32_t m_timers_fired;
|
||||
|
||||
std::unique_ptr<uint16_t[]> m_sram;
|
||||
uint16_t m_polling_value;
|
||||
uint32_t m_polling32_value;
|
||||
|
||||
int32_t m_dmovlay_val;
|
||||
|
||||
sdrc_state m_sdrc;
|
||||
dsio_state m_dsio;
|
||||
hle_transfer_state m_transfer;
|
||||
|
||||
int m_dram_in_mb;
|
||||
|
||||
// non public
|
||||
void dcs_boot();
|
||||
TIMER_CALLBACK_MEMBER( dcs_reset );
|
||||
@ -104,152 +233,24 @@ public:
|
||||
int preprocess_stage_2(uint16_t data);
|
||||
int preprocess_write(uint16_t data);
|
||||
|
||||
void dcs2_2104_data_map(address_map &map);
|
||||
void dcs2_2104_program_map(address_map &map);
|
||||
void dcs2_2115_data_map(address_map &map);
|
||||
void dcs2_2115_program_map(address_map &map);
|
||||
void dcs_2k_data_map(address_map &map);
|
||||
void dcs_2k_program_map(address_map &map);
|
||||
void dcs_2k_uart_data_map(address_map &map);
|
||||
void dcs_8k_data_map(address_map &map);
|
||||
void dcs_8k_program_map(address_map &map);
|
||||
void dcs_wpc_program_map(address_map &map);
|
||||
void denver_data_map(address_map &map);
|
||||
void denver_io_map(address_map &map);
|
||||
void denver_program_map(address_map &map);
|
||||
void denver_rambank_map(address_map &map);
|
||||
void dsio_data_map(address_map &map);
|
||||
void dsio_io_map(address_map &map);
|
||||
void dsio_program_map(address_map &map);
|
||||
void dsio_rambank_map(address_map &map);
|
||||
|
||||
uint8_t get_rev() { return m_rev; } // TODO(RH): This can be done better, and shouldn't be necessary.
|
||||
cpu_device *get_cpu() { return m_cpu; } // TODO(RH): Same.
|
||||
|
||||
enum { REV_DCS1, REV_DCS1P5, REV_DCS2, REV_DSIO, REV_DENV };
|
||||
|
||||
protected:
|
||||
// construction/destruction
|
||||
dcs_audio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int rev);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
void add_mconfig_dcs(machine_config &config);
|
||||
|
||||
static constexpr const char *const denver_regname[4] =
|
||||
{ "SDRC_ROM", "SDRC_IO", "RAM_PAGE", "VER/FIFO_RESET" };
|
||||
|
||||
struct sdrc_state
|
||||
{
|
||||
uint16_t reg[4];
|
||||
uint8_t seed;
|
||||
};
|
||||
|
||||
|
||||
struct dsio_state
|
||||
{
|
||||
uint16_t reg[4];
|
||||
uint8_t start_on_next_write;
|
||||
uint16_t channelbits;
|
||||
};
|
||||
|
||||
|
||||
struct hle_transfer_state
|
||||
{
|
||||
uint8_t hle_enabled;
|
||||
int32_t dcs_state;
|
||||
int32_t state;
|
||||
int32_t start;
|
||||
int32_t stop;
|
||||
int32_t type;
|
||||
int32_t temp;
|
||||
int32_t writes_left;
|
||||
uint16_t sum;
|
||||
int32_t fifo_entries;
|
||||
timer_device *watchdog;
|
||||
};
|
||||
|
||||
adsp21xx_device *m_cpu;
|
||||
address_space *m_program;
|
||||
address_space *m_data;
|
||||
uint8_t m_rev;
|
||||
offs_t m_polling_offset;
|
||||
uint32_t m_polling_count;
|
||||
/* sound output */
|
||||
uint8_t m_channels;
|
||||
uint16_t m_size;
|
||||
uint16_t m_incs;
|
||||
dmadac_sound_device *m_dmadac[6];
|
||||
required_device<timer_device> m_reg_timer;
|
||||
optional_device<timer_device> m_sport0_timer;
|
||||
required_device<timer_device> m_internal_timer;
|
||||
int32_t m_ireg;
|
||||
uint16_t m_ireg_base;
|
||||
uint16_t m_control_regs[32];
|
||||
|
||||
/* memory access/booting */
|
||||
uint16_t * m_bootrom;
|
||||
uint32_t m_bootrom_words;
|
||||
uint16_t * m_sounddata;
|
||||
std::unique_ptr<uint16_t[]> m_sounddata_ptr;
|
||||
uint32_t m_sounddata_words;
|
||||
uint32_t m_sounddata_banks;
|
||||
uint16_t m_sounddata_bank;
|
||||
|
||||
optional_device<address_map_bank_device> m_ram_map;
|
||||
optional_memory_bank m_data_bank;
|
||||
memory_bank_creator m_rom_page;
|
||||
memory_bank_creator m_dram_page;
|
||||
|
||||
/* I/O with the host */
|
||||
uint8_t m_auto_ack;
|
||||
uint16_t m_latch_control;
|
||||
uint16_t m_input_data;
|
||||
uint16_t m_output_data;
|
||||
uint16_t m_pre_output_data;
|
||||
uint16_t m_output_control;
|
||||
uint64_t m_output_control_cycles;
|
||||
uint8_t m_last_output_full;
|
||||
uint8_t m_last_input_empty;
|
||||
uint16_t m_progflags;
|
||||
emu_timer * m_s1_ack_timer;
|
||||
emu_timer * m_s1_ack2_timer;
|
||||
emu_timer * m_s2_ack_timer;
|
||||
|
||||
write_line_delegate m_output_full_cb;
|
||||
write_line_delegate m_input_empty_cb;
|
||||
|
||||
read16smo_delegate m_fifo_data_r;
|
||||
read16mo_delegate m_fifo_status_r;
|
||||
write_line_delegate m_fifo_reset_w;
|
||||
|
||||
/* timers */
|
||||
uint8_t m_timer_enable;
|
||||
bool m_timer_ignore;
|
||||
uint64_t m_timer_start_cycles;
|
||||
uint32_t m_timer_start_count;
|
||||
uint32_t m_timer_scale;
|
||||
uint32_t m_timer_period;
|
||||
uint32_t m_timers_fired;
|
||||
|
||||
std::unique_ptr<uint16_t[]> m_sram;
|
||||
uint16_t m_polling_value;
|
||||
uint32_t m_polling32_value;
|
||||
uint32_t *m_internal_program_ram;
|
||||
uint32_t *m_external_program_ram;
|
||||
uint32_t *m_internal_data_ram;
|
||||
|
||||
int m_dmovlay_val;
|
||||
|
||||
sdrc_state m_sdrc;
|
||||
dsio_state m_dsio;
|
||||
hle_transfer_state m_transfer;
|
||||
|
||||
int m_dram_in_mb;
|
||||
|
||||
optional_shared_ptr<uint16_t> m_iram;
|
||||
optional_device<device_execute_interface> m_maincpu;
|
||||
void dcs2_2104_data_map(address_map &map) ATTR_COLD;
|
||||
void dcs2_2104_program_map(address_map &map) ATTR_COLD;
|
||||
void dcs2_2115_data_map(address_map &map) ATTR_COLD;
|
||||
void dcs2_2115_program_map(address_map &map) ATTR_COLD;
|
||||
void dcs_2k_data_map(address_map &map) ATTR_COLD;
|
||||
void dcs_2k_program_map(address_map &map) ATTR_COLD;
|
||||
void dcs_2k_uart_data_map(address_map &map) ATTR_COLD;
|
||||
void dcs_8k_data_map(address_map &map) ATTR_COLD;
|
||||
void dcs_8k_program_map(address_map &map) ATTR_COLD;
|
||||
void dcs_wpc_program_map(address_map &map) ATTR_COLD;
|
||||
void denver_data_map(address_map &map) ATTR_COLD;
|
||||
void denver_io_map(address_map &map) ATTR_COLD;
|
||||
void denver_program_map(address_map &map) ATTR_COLD;
|
||||
void denver_rambank_map(address_map &map) ATTR_COLD;
|
||||
void dsio_data_map(address_map &map) ATTR_COLD;
|
||||
void dsio_io_map(address_map &map) ATTR_COLD;
|
||||
void dsio_program_map(address_map &map) ATTR_COLD;
|
||||
void dsio_rambank_map(address_map &map) ATTR_COLD;
|
||||
};
|
||||
|
||||
|
||||
@ -262,13 +263,10 @@ public:
|
||||
dcs_audio_2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// device_t implementation
|
||||
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(DCS_AUDIO_2K, dcs_audio_2k_device)
|
||||
|
||||
// dcs_audio_2k_uart_device
|
||||
|
||||
@ -279,12 +277,10 @@ public:
|
||||
dcs_audio_2k_uart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
// device_t implementation
|
||||
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(DCS_AUDIO_2K_UART, dcs_audio_2k_uart_device)
|
||||
|
||||
// dcs_audio_8k_device
|
||||
|
||||
@ -295,12 +291,10 @@ public:
|
||||
dcs_audio_8k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
// device_t implementation
|
||||
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(DCS_AUDIO_8K, dcs_audio_8k_device)
|
||||
|
||||
// dcs_audio_wpc_device
|
||||
|
||||
@ -310,14 +304,12 @@ public:
|
||||
// construction/destruction
|
||||
dcs_audio_wpc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
void dcs_wpc_data_map(address_map &map);
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
// device_t implementation
|
||||
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(DCS_AUDIO_WPC, dcs_audio_wpc_device)
|
||||
void dcs_wpc_data_map(address_map &map) ATTR_COLD;
|
||||
};
|
||||
|
||||
|
||||
// dcs2_audio_device
|
||||
@ -326,13 +318,15 @@ class dcs2_audio_device : public dcs_audio_device
|
||||
{
|
||||
protected:
|
||||
// construction/destruction
|
||||
dcs2_audio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
dcs2_audio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int outputs);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
void add_mconfig_dcs2(machine_config &config);
|
||||
// device_t implementation
|
||||
virtual void device_start() override ATTR_COLD;
|
||||
|
||||
void add_mconfig_dcs2(machine_config &config) ATTR_COLD;
|
||||
};
|
||||
|
||||
|
||||
// dcs2_audio_2115_device
|
||||
|
||||
class dcs2_audio_2115_device : public dcs2_audio_device
|
||||
@ -342,12 +336,10 @@ public:
|
||||
dcs2_audio_2115_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
// device_t implementation
|
||||
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(DCS2_AUDIO_2115, dcs2_audio_2115_device)
|
||||
|
||||
// dcs2_audio_2104_device
|
||||
|
||||
@ -358,12 +350,10 @@ public:
|
||||
dcs2_audio_2104_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
// device_t implementation
|
||||
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(DCS2_AUDIO_2104, dcs2_audio_2104_device)
|
||||
|
||||
// dcs2_audio_dsio_device
|
||||
|
||||
@ -374,22 +364,21 @@ public:
|
||||
dcs2_audio_dsio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
// device_t implementation
|
||||
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(DCS2_AUDIO_DSIO, dcs2_audio_dsio_device)
|
||||
|
||||
// dcs2_audio_denver_device types
|
||||
|
||||
class dcs2_audio_denver_device : public dcs2_audio_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
dcs2_audio_denver_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
// construction/destruction
|
||||
dcs2_audio_denver_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int outputs);
|
||||
|
||||
// device_t implementation
|
||||
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
|
||||
};
|
||||
|
||||
class dcs2_audio_denver_5ch_device : public dcs2_audio_denver_device
|
||||
@ -397,9 +386,10 @@ class dcs2_audio_denver_5ch_device : public dcs2_audio_denver_device
|
||||
public:
|
||||
// construction/destruction
|
||||
dcs2_audio_denver_5ch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
// device_t implementation
|
||||
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
|
||||
};
|
||||
|
||||
class dcs2_audio_denver_2ch_device : public dcs2_audio_denver_device
|
||||
@ -407,14 +397,22 @@ class dcs2_audio_denver_2ch_device : public dcs2_audio_denver_device
|
||||
public:
|
||||
// construction/destruction
|
||||
dcs2_audio_denver_2ch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
// device_t implementation
|
||||
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(DCS2_AUDIO_DENVER_5CH, dcs2_audio_denver_5ch_device)
|
||||
|
||||
// device type declarations
|
||||
DECLARE_DEVICE_TYPE(DCS_AUDIO_2K, dcs_audio_2k_device)
|
||||
DECLARE_DEVICE_TYPE(DCS_AUDIO_2K_UART, dcs_audio_2k_uart_device)
|
||||
DECLARE_DEVICE_TYPE(DCS_AUDIO_8K, dcs_audio_8k_device)
|
||||
DECLARE_DEVICE_TYPE(DCS_AUDIO_WPC, dcs_audio_wpc_device)
|
||||
DECLARE_DEVICE_TYPE(DCS2_AUDIO_2115, dcs2_audio_2115_device)
|
||||
DECLARE_DEVICE_TYPE(DCS2_AUDIO_2104, dcs2_audio_2104_device)
|
||||
DECLARE_DEVICE_TYPE(DCS2_AUDIO_DSIO, dcs2_audio_dsio_device)
|
||||
DECLARE_DEVICE_TYPE(DCS2_AUDIO_DENVER_5CH, dcs2_audio_denver_5ch_device)
|
||||
DECLARE_DEVICE_TYPE(DCS2_AUDIO_DENVER_2CH, dcs2_audio_denver_2ch_device)
|
||||
|
||||
#endif // MAME_SHARED_DCS_H
|
||||
|
Loading…
Reference in New Issue
Block a user