summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2019-07-01 03:01:22 +1000
committer Robbbert <Robbbert@users.noreply.github.com>2019-07-01 03:01:22 +1000
commit2826bee8c9011704dee07e0a1d18d1e06d7e9a32 (patch)
treea8f8abc9a904fdc521e92a83416786f5113046b6 /src/mame
parent5edd49b910a133b1ed833ea5c7d599733dbc84e7 (diff)
(nw) cassette: last lot of wave changes
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/atom.cpp2
-rw-r--r--src/mame/drivers/coco12.cpp2
-rw-r--r--src/mame/drivers/coco3.cpp2
-rw-r--r--src/mame/drivers/d6800.cpp2
-rw-r--r--src/mame/drivers/lc80.cpp4
-rw-r--r--src/mame/drivers/mtx.cpp2
-rw-r--r--src/mame/drivers/pc8001.cpp6
-rw-r--r--src/mame/drivers/pc8801.cpp2
-rw-r--r--src/mame/drivers/spc1500.cpp6
-rw-r--r--src/mame/drivers/svi318.cpp6
-rw-r--r--src/mame/drivers/tiki100.cpp4
-rw-r--r--src/mame/drivers/tk2000.cpp2
-rw-r--r--src/mame/drivers/tmc1800.cpp14
-rw-r--r--src/mame/drivers/tmc2000e.cpp4
-rw-r--r--src/mame/drivers/tmc600.cpp2
-rw-r--r--src/mame/drivers/tvc.cpp3
-rw-r--r--src/mame/drivers/ut88.cpp4
-rw-r--r--src/mame/drivers/vector06.cpp2
-rw-r--r--src/mame/drivers/vg5k.cpp5
-rw-r--r--src/mame/drivers/vip.cpp3
-rw-r--r--src/mame/drivers/vtech2.cpp2
-rw-r--r--src/mame/drivers/x07.cpp2
-rw-r--r--src/mame/drivers/z1013.cpp2
-rw-r--r--src/mame/drivers/z80ne.cpp14
-rw-r--r--src/mame/drivers/z9001.cpp2
-rw-r--r--src/mame/drivers/zx.cpp5
26 files changed, 65 insertions, 39 deletions
diff --git a/src/mame/drivers/atom.cpp b/src/mame/drivers/atom.cpp
index ce13ffd7964..d3d8fccb1b5 100644
--- a/src/mame/drivers/atom.cpp
+++ b/src/mame/drivers/atom.cpp
@@ -853,7 +853,7 @@ void atom_state::atombb(machine_config &config)
CASSETTE(config, m_cassette);
m_cassette->set_formats(atom_cassette_formats);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("atom_cass");
/* internal ram */
diff --git a/src/mame/drivers/coco12.cpp b/src/mame/drivers/coco12.cpp
index 45e0049cbef..c7580481ae4 100644
--- a/src/mame/drivers/coco12.cpp
+++ b/src/mame/drivers/coco12.cpp
@@ -466,7 +466,7 @@ void coco12_state::coco(machine_config &config)
CASSETTE(config, m_cassette);
m_cassette->set_formats(coco_cassette_formats);
- m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, "printer"));
rs232.dcd_handler().set(PIA1_TAG, FUNC(pia6821_device::ca1_w));
diff --git a/src/mame/drivers/coco3.cpp b/src/mame/drivers/coco3.cpp
index 9c985218e0b..300fe14c83e 100644
--- a/src/mame/drivers/coco3.cpp
+++ b/src/mame/drivers/coco3.cpp
@@ -275,7 +275,7 @@ void coco3_state::coco3(machine_config &config)
CASSETTE(config, m_cassette);
m_cassette->set_formats(coco_cassette_formats);
- m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, "printer"));
rs232.dcd_handler().set(PIA1_TAG, FUNC(pia6821_device::ca1_w));
diff --git a/src/mame/drivers/d6800.cpp b/src/mame/drivers/d6800.cpp
index 25c41796498..cc13bce5314 100644
--- a/src/mame/drivers/d6800.cpp
+++ b/src/mame/drivers/d6800.cpp
@@ -440,7 +440,7 @@ void d6800_state::d6800(machine_config &config)
m_pia->irqb_handler().set_inputline("maincpu", M6800_IRQ_LINE);
CASSETTE(config, m_cass);
- m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
TIMER(config, "kansas_w").configure_periodic(FUNC(d6800_state::kansas_w), attotime::from_hz(4800));
TIMER(config, "kansas_r").configure_periodic(FUNC(d6800_state::kansas_r), attotime::from_hz(40000));
diff --git a/src/mame/drivers/lc80.cpp b/src/mame/drivers/lc80.cpp
index a785258401f..6d5841f8323 100644
--- a/src/mame/drivers/lc80.cpp
+++ b/src/mame/drivers/lc80.cpp
@@ -362,7 +362,7 @@ void lc80_state::lc80(machine_config &config)
m_pio2->in_pb_callback().set(FUNC(lc80_state::pio2_pb_r));
CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
RAM(config, RAM_TAG).set_default_size("1K").set_extra_options("2K,3K,4K");
}
@@ -399,7 +399,7 @@ void lc80_state::lc80_2(machine_config &config)
m_pio2->in_pb_callback().set(FUNC(lc80_state::pio2_pb_r));
CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
/* internal ram */
RAM(config, RAM_TAG).set_default_size("4K");
diff --git a/src/mame/drivers/mtx.cpp b/src/mame/drivers/mtx.cpp
index 7b00c749d33..efdf393227b 100644
--- a/src/mame/drivers/mtx.cpp
+++ b/src/mame/drivers/mtx.cpp
@@ -326,7 +326,7 @@ void mtx_state::mtx512(machine_config &config)
QUICKLOAD(config, "quickload", "run", attotime::from_seconds(1)).set_load_callback(FUNC(mtx_state::quickload_cb), this);
CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("mtx_cass");
TIMER(config, "cassette_timer").configure_periodic(FUNC(mtx_state::cassette_tick), attotime::from_hz(44100));
diff --git a/src/mame/drivers/pc8001.cpp b/src/mame/drivers/pc8001.cpp
index c13e1f13755..68b6f0713d1 100644
--- a/src/mame/drivers/pc8001.cpp
+++ b/src/mame/drivers/pc8001.cpp
@@ -523,7 +523,8 @@ void pc8001_state::pc8001(machine_config &config)
m_centronics->set_output_latch(*m_cent_data_out);
CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
+ m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
RAM(config, RAM_TAG).set_default_size("16K").set_extra_options("32K,64K");
}
@@ -570,7 +571,8 @@ void pc8001mk2_state::pc8001mk2(machine_config &config)
m_centronics->set_output_latch(*m_cent_data_out);
CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
+ m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
RAM(config, RAM_TAG).set_default_size("64K");
}
diff --git a/src/mame/drivers/pc8801.cpp b/src/mame/drivers/pc8801.cpp
index 55d44c5e0a4..75c80ce858b 100644
--- a/src/mame/drivers/pc8801.cpp
+++ b/src/mame/drivers/pc8801.cpp
@@ -2378,7 +2378,7 @@ void pc8801_state::pc8801(machine_config &config)
UPD1990A(config, m_rtc);
//CENTRONICS(config, "centronics", centronics_devices, "printer");
CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
SOFTWARE_LIST(config, "tape_list").set_original("pc8801_cass");
diff --git a/src/mame/drivers/spc1500.cpp b/src/mame/drivers/spc1500.cpp
index 7b9c5a41734..c5f593e51f6 100644
--- a/src/mame/drivers/spc1500.cpp
+++ b/src/mame/drivers/spc1500.cpp
@@ -375,7 +375,7 @@ WRITE8_MEMBER( spc1500_state::psgb_w)
m_ipl = ((data>>1)&1);
membank("bank1")->set_entry(m_ipl ? 0 : 1);
}
- m_cass->set_state(BIT(data, 6) ? CASSETTE_SPEAKER_ENABLED : CASSETTE_SPEAKER_MUTED);
+ //m_cass->change_state(BIT(data, 6) ? CASSETTE_SPEAKER_ENABLED : CASSETTE_SPEAKER_MUTED, CASSETTE_MASK_SPEAKER);
if (m_motor && !BIT(data, 7) && (elapsed_time > 100))
{
m_cass->change_state((m_cass->get_state() & CASSETTE_MASK_MOTOR) == CASSETTE_MOTOR_DISABLED ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
@@ -916,11 +916,11 @@ void spc1500_state::spc1500(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
+ WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "mono", 0.05);
AY8910(config, m_sound, XTAL(4'000'000) / 2);
m_sound->port_a_read_callback().set(FUNC(spc1500_state::psga_r));
m_sound->port_b_write_callback().set(FUNC(spc1500_state::psgb_w));
m_sound->add_route(ALL_OUTPUTS, "mono", 1.00);
- WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "mono", 0.05);
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->busy_handler().set(FUNC(spc1500_state::centronics_busy_w));
@@ -932,7 +932,7 @@ void spc1500_state::spc1500(machine_config &config)
CASSETTE(config, m_cass);
m_cass->set_formats(spc1000_cassette_formats);
- m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_MUTED | CASSETTE_MOTOR_DISABLED);
+ m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_DISABLED);
m_cass->set_interface("spc1500_cass");
SOFTWARE_LIST(config, "cass_list").set_original("spc1500_cass");
diff --git a/src/mame/drivers/svi318.cpp b/src/mame/drivers/svi318.cpp
index b9f430de548..b8ffee2ba81 100644
--- a/src/mame/drivers/svi318.cpp
+++ b/src/mame/drivers/svi318.cpp
@@ -459,7 +459,7 @@ void svi3x8_state::ppi_port_c_w(uint8_t data)
// bit 4-6, cassette
m_cassette->change_state(BIT(data, 4) ? CASSETTE_MOTOR_DISABLED : CASSETTE_MOTOR_ENABLED, CASSETTE_MASK_MOTOR);
m_cassette->output(BIT(data, 5) ? -1.0 : +1.0);
- m_cassette->change_state(BIT(data, 6) ? CASSETTE_SPEAKER_ENABLED : CASSETTE_SPEAKER_MUTED, CASSETTE_MASK_SPEAKER);
+ //m_cassette->change_state(BIT(data, 6) ? CASSETTE_SPEAKER_ENABLED : CASSETTE_SPEAKER_MUTED, CASSETTE_MASK_SPEAKER);
// bit 7, mix psg sound (keyboard click)
m_speaker->level_w(BIT(data, 7));
@@ -531,8 +531,8 @@ void svi3x8_state::svi318(machine_config &config)
// sound hardware
SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.25);
- WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.25);
+ SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.50);
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
ay8910_device &psg(AY8910(config, "psg", XTAL(10'738'635) / 6));
psg.port_a_read_callback().set_ioport("JOY");
psg.port_b_write_callback().set(FUNC(svi3x8_state::bank_w));
diff --git a/src/mame/drivers/tiki100.cpp b/src/mame/drivers/tiki100.cpp
index 6cbe8d5df2e..f170f241a1b 100644
--- a/src/mame/drivers/tiki100.cpp
+++ b/src/mame/drivers/tiki100.cpp
@@ -24,6 +24,7 @@
#include "emu.h"
#include "includes/tiki100.h"
+#include "sound/wave.h"
#include "screen.h"
#include "softlist.h"
@@ -771,12 +772,13 @@ void tiki100_state::tiki100(machine_config &config)
m_centronics->set_output_latch(cent_data_out);
CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
TIMER(config, "tape").configure_periodic(FUNC(tiki100_state::tape_tick), attotime::from_hz(44100));
/* sound hardware */
SPEAKER(config, "mono").front_center();
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
AY8912(config, m_psg, 8_MHz_XTAL / 4);
m_psg->set_flags(AY8910_SINGLE_OUTPUT);
m_psg->port_a_write_callback().set(FUNC(tiki100_state::video_scroll_w));
diff --git a/src/mame/drivers/tk2000.cpp b/src/mame/drivers/tk2000.cpp
index 4329255f52d..9fa38f11b1e 100644
--- a/src/mame/drivers/tk2000.cpp
+++ b/src/mame/drivers/tk2000.cpp
@@ -27,6 +27,7 @@
#include "machine/ram.h"
#include "machine/timer.h"
#include "sound/spkrdev.h"
+#include "sound/wave.h"
#include "emupal.h"
#include "screen.h"
@@ -597,6 +598,7 @@ void tk2000_state::tk2000(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 1.00);
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
/* /INH banking */
ADDRESS_MAP_BANK(config, A2_UPPERBANK_TAG).set_map(&tk2000_state::inhbank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x4000);
diff --git a/src/mame/drivers/tmc1800.cpp b/src/mame/drivers/tmc1800.cpp
index e4ed0b987b4..bea8a3a837c 100644
--- a/src/mame/drivers/tmc1800.cpp
+++ b/src/mame/drivers/tmc1800.cpp
@@ -797,13 +797,13 @@ void tmc1800_state::tmc1800(machine_config &config)
// sound hardware
SPEAKER(config, "mono").front_center();
-
BEEP(config, m_beeper, 0).add_route(ALL_OUTPUTS, "mono", 0.25);
// devices
QUICKLOAD(config, "quickload", "bin").set_load_callback(FUNC(tmc1800_base_state::quickload_cb), this);
CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
+ m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
// internal ram
RAM(config, RAM_TAG).set_default_size("2K").set_extra_options("4K");
@@ -826,13 +826,13 @@ void osc1000b_state::osc1000b(machine_config &config)
// sound hardware
SPEAKER(config, "mono").front_center();
-
BEEP(config, m_beeper, 0).add_route(ALL_OUTPUTS, "mono", 0.25);
// devices
QUICKLOAD(config, "quickload", "bin").set_load_callback(FUNC(tmc1800_base_state::quickload_cb), this);
CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
+ m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
// internal ram
RAM(config, RAM_TAG).set_default_size("2K").set_extra_options("4K");
@@ -857,7 +857,8 @@ void tmc2000_state::tmc2000(machine_config &config)
// devices
QUICKLOAD(config, "quickload", "bin").set_load_callback(FUNC(tmc1800_base_state::quickload_cb), this);
CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
+ m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
// internal ram
RAM(config, RAM_TAG).set_default_size("4K").set_extra_options("16K,32K");
@@ -882,7 +883,8 @@ void nano_state::nano(machine_config &config)
// devices
QUICKLOAD(config, "quickload", "bin").set_load_callback(FUNC(tmc1800_base_state::quickload_cb), this);
CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
+ m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
// internal ram
RAM(config, RAM_TAG).set_default_size("4K");
diff --git a/src/mame/drivers/tmc2000e.cpp b/src/mame/drivers/tmc2000e.cpp
index 315f398479d..2f07627f99c 100644
--- a/src/mame/drivers/tmc2000e.cpp
+++ b/src/mame/drivers/tmc2000e.cpp
@@ -34,6 +34,7 @@
#include "emu.h"
#include "includes/tmc2000e.h"
+#include "sound/wave.h"
#include "screen.h"
#include "speaker.h"
@@ -299,6 +300,7 @@ void tmc2000e_state::tmc2000e(machine_config &config)
// sound hardware
SPEAKER(config, "mono").front_center();
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
CDP1864(config, m_cti, 1.75_MHz_XTAL).set_screen(SCREEN_TAG);
m_cti->inlace_cb().set_constant(0);
m_cti->int_cb().set_inputline(m_maincpu, COSMAC_INPUT_LINE_INT);
@@ -311,7 +313,7 @@ void tmc2000e_state::tmc2000e(machine_config &config)
m_cti->add_route(ALL_OUTPUTS, "mono", 0.25);
/* devices */
- CASSETTE(config, m_cassette).set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ CASSETTE(config, m_cassette).set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
/* internal ram */
RAM(config, RAM_TAG).set_default_size("8K").set_extra_options("40K");
diff --git a/src/mame/drivers/tmc600.cpp b/src/mame/drivers/tmc600.cpp
index fa19ba6851e..05c204d8b5f 100644
--- a/src/mame/drivers/tmc600.cpp
+++ b/src/mame/drivers/tmc600.cpp
@@ -295,7 +295,7 @@ void tmc600_state::tmc600(machine_config &config)
// cassette
CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
// expansion bus connector
TMC600_EURO_BUS_SLOT(config, m_bus, tmc600_euro_bus_cards, nullptr);
diff --git a/src/mame/drivers/tvc.cpp b/src/mame/drivers/tvc.cpp
index 1c9ce01e734..85124c69a80 100644
--- a/src/mame/drivers/tvc.cpp
+++ b/src/mame/drivers/tvc.cpp
@@ -825,8 +825,9 @@ void tvc_state::tvc(machine_config &config)
/* cassette */
CASSETTE(config, m_cassette);
m_cassette->set_formats(tvc64_cassette_formats);
- m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED);
+ m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("tvc_cass");
+ m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
/* quickload */
QUICKLOAD(config, "quickload", "cas", attotime::from_seconds(6)).set_load_callback(FUNC(tvc_state::quickload_cb), this);
diff --git a/src/mame/drivers/ut88.cpp b/src/mame/drivers/ut88.cpp
index 125ceb65ca6..1ee9d5ca6b8 100644
--- a/src/mame/drivers/ut88.cpp
+++ b/src/mame/drivers/ut88.cpp
@@ -215,7 +215,7 @@ void ut88_state::ut88(machine_config &config)
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
- WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "speaker", 0.25);
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "speaker", 0.05);
/* Devices */
I8255A(config, m_ppi);
@@ -245,7 +245,7 @@ void ut88_state::ut88mini(machine_config &config)
/* Cassette */
SPEAKER(config, "speaker").front_center();
- WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "speaker", 0.25);
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "speaker", 0.05);
CASSETTE(config, m_cassette);
m_cassette->set_formats(rku_cassette_formats);
diff --git a/src/mame/drivers/vector06.cpp b/src/mame/drivers/vector06.cpp
index a79e4838ebc..7fdc1b6a917 100644
--- a/src/mame/drivers/vector06.cpp
+++ b/src/mame/drivers/vector06.cpp
@@ -181,7 +181,7 @@ void vector06_state::vector06(machine_config &config)
PALETTE(config, m_palette, palette_device::BLACK, 16);
SPEAKER(config, "mono").front_center();
- WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.25);
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
/* devices */
I8255(config, m_ppi8255);
diff --git a/src/mame/drivers/vg5k.cpp b/src/mame/drivers/vg5k.cpp
index b6a45e97834..05f69a3da03 100644
--- a/src/mame/drivers/vg5k.cpp
+++ b/src/mame/drivers/vg5k.cpp
@@ -393,16 +393,15 @@ void vg5k_state::vg5k(machine_config &config)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
+ WAVE(config, "wave", m_cassette).add_route(0, "speaker", 0.05);
DAC_1BIT(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.125);
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
/* cassette */
- WAVE(config, "wave", m_cassette).add_route(0, "speaker", 0.25);
-
CASSETTE(config, m_cassette);
m_cassette->set_formats(vg5k_cassette_formats);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MASK_SPEAKER);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("vg5k_cass");
/* printer */
diff --git a/src/mame/drivers/vip.cpp b/src/mame/drivers/vip.cpp
index 78cd0761a3d..720dfddb824 100644
--- a/src/mame/drivers/vip.cpp
+++ b/src/mame/drivers/vip.cpp
@@ -754,8 +754,9 @@ void vip_state::vip(machine_config &config)
// devices
QUICKLOAD(config, "quickload", "bin,c8,c8x").set_load_callback(FUNC(vip_state::quickload_cb), this);
CASSETTE(config, m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("vip_cass");
+ m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05);
// software lists
SOFTWARE_LIST(config, "cass_list").set_original("vip");
diff --git a/src/mame/drivers/vtech2.cpp b/src/mame/drivers/vtech2.cpp
index 304d4875cd5..b0df97e13eb 100644
--- a/src/mame/drivers/vtech2.cpp
+++ b/src/mame/drivers/vtech2.cpp
@@ -512,7 +512,7 @@ void vtech2_state::laser350(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.25);
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.75);
CASSETTE(config, m_cassette);
diff --git a/src/mame/drivers/x07.cpp b/src/mame/drivers/x07.cpp
index 5c63df1f68e..e4be0977726 100644
--- a/src/mame/drivers/x07.cpp
+++ b/src/mame/drivers/x07.cpp
@@ -1501,7 +1501,7 @@ void x07_state::x07(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
BEEP(config, "beeper", 0).add_route(ALL_OUTPUTS, "mono", 0.50);
- WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.25);
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
/* printer */
PRINTER(config, m_printer, 0);
diff --git a/src/mame/drivers/z1013.cpp b/src/mame/drivers/z1013.cpp
index b14b5fd19b9..ca5d744cb30 100644
--- a/src/mame/drivers/z1013.cpp
+++ b/src/mame/drivers/z1013.cpp
@@ -392,7 +392,7 @@ void z1013_state::z1013(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
+ WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.05);
/* devices */
z80pio_device& pio(Z80PIO(config, "z80pio", XTAL(1'000'000)));
diff --git a/src/mame/drivers/z80ne.cpp b/src/mame/drivers/z80ne.cpp
index 89e92492566..9ed29aae555 100644
--- a/src/mame/drivers/z80ne.cpp
+++ b/src/mame/drivers/z80ne.cpp
@@ -97,6 +97,8 @@
#include "formats/dmk_dsk.h"
#include "machine/ram.h"
#include "softlist.h"
+#include "sound/wave.h"
+#include "speaker.h"
/* Layout */
#include "z80ne.lh"
@@ -438,6 +440,10 @@ void z80ne_state::z80ne(machine_config &config)
m_cassette2->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette2->set_interface("z80ne_cass");
+ SPEAKER(config, "mono").front_center();
+ WAVE(config, "wave1", m_cassette1).add_route(ALL_OUTPUTS, "mono", 0.05);
+ WAVE(config, "wave2", m_cassette2).add_route(ALL_OUTPUTS, "mono", 0.05);
+
config.set_default_layout(layout_z80ne);
/* internal ram */
@@ -515,6 +521,10 @@ void z80ne_state::z80netb(machine_config &config)
m_cassette2->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette2->set_interface("z80ne_cass");
+ SPEAKER(config, "mono").front_center();
+ WAVE(config, "wave1", m_cassette1).add_route(ALL_OUTPUTS, "mono", 0.05);
+ WAVE(config, "wave2", m_cassette2).add_route(ALL_OUTPUTS, "mono", 0.05);
+
lx387(config);
/* video hardware */
@@ -558,6 +568,10 @@ void z80netf_state::z80netf(machine_config &config)
m_cassette2->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette2->set_interface("z80ne_cass");
+ SPEAKER(config, "mono").front_center();
+ WAVE(config, "wave1", m_cassette1).add_route(ALL_OUTPUTS, "mono", 0.05);
+ WAVE(config, "wave2", m_cassette2).add_route(ALL_OUTPUTS, "mono", 0.05);
+
lx387(config);
/* video hardware */
diff --git a/src/mame/drivers/z9001.cpp b/src/mame/drivers/z9001.cpp
index 59a4f7d55d4..18de37d924e 100644
--- a/src/mame/drivers/z9001.cpp
+++ b/src/mame/drivers/z9001.cpp
@@ -237,7 +237,7 @@ void z9001_state::z9001(machine_config &config)
/* Sound */
SPEAKER(config, "mono").front_center();
- WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
+ WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.05);
BEEP(config, "beeper", 800).add_route(ALL_OUTPUTS, "mono", 0.50);
/* Devices */
diff --git a/src/mame/drivers/zx.cpp b/src/mame/drivers/zx.cpp
index 92ff4c17467..5d0c284d25a 100644
--- a/src/mame/drivers/zx.cpp
+++ b/src/mame/drivers/zx.cpp
@@ -339,6 +339,9 @@ void zx_state::zx80(machine_config &config)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("zx80_cass");
+ SPEAKER(config, "mono").front_center();
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
+
/* software lists */
SOFTWARE_LIST(config, m_softlist).set_original("zx80_cass");
@@ -367,9 +370,7 @@ void zx_state::zx81_spk(machine_config &config)
zx81(config);
/* sound hardware */
/* Used by pc8300/lambda/pow3000 */
- SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.75);
- WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
}
void zx_state::ts1000(machine_config &config)