summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/a2600.cpp2
-rw-r--r--src/mame/drivers/a5105.cpp13
-rw-r--r--src/mame/drivers/abc80.cpp2
-rw-r--r--src/mame/drivers/abc80x.cpp4
-rw-r--r--src/mame/drivers/ac1.cpp3
-rw-r--r--src/mame/drivers/acrnsys1.cpp3
-rw-r--r--src/mame/drivers/agat.cpp5
-rw-r--r--src/mame/drivers/apogee.cpp4
-rw-r--r--src/mame/drivers/applix.cpp4
-rw-r--r--src/mame/drivers/aquarius.cpp4
-rw-r--r--src/mame/drivers/atom.cpp4
-rw-r--r--src/mame/drivers/bcs3.cpp2
-rw-r--r--src/mame/drivers/binbug.cpp3
-rw-r--r--src/mame/drivers/bk.cpp4
-rw-r--r--src/mame/drivers/bml3.cpp3
-rw-r--r--src/mame/drivers/bob85.cpp9
-rw-r--r--src/mame/drivers/c80.cpp2
-rw-r--r--src/mame/drivers/cgenie.cpp2
-rw-r--r--src/mame/drivers/compis.cpp2
-rw-r--r--src/mame/drivers/comx35.cpp2
-rw-r--r--src/mame/drivers/cosmicos.cpp5
-rw-r--r--src/mame/drivers/cp1.cpp5
-rw-r--r--src/mame/drivers/crvision.cpp6
-rw-r--r--src/mame/drivers/ep64.cpp4
-rw-r--r--src/mame/drivers/exp85.cpp2
-rw-r--r--src/mame/drivers/h8.cpp2
-rw-r--r--src/mame/drivers/jr100.cpp2
-rw-r--r--src/mame/drivers/kyocera.cpp8
-rw-r--r--src/mame/drivers/newbrain.cpp4
-rw-r--r--src/mame/drivers/oric.cpp2
-rw-r--r--src/mame/drivers/pmd85.cpp2
-rw-r--r--src/mame/drivers/ptcsol.cpp4
-rw-r--r--src/mame/drivers/rc759.cpp2
-rw-r--r--src/mame/drivers/samcoupe.cpp2
-rw-r--r--src/mame/drivers/super80.cpp4
-rw-r--r--src/mame/drivers/vector06.cpp2
36 files changed, 80 insertions, 53 deletions
diff --git a/src/mame/drivers/a2600.cpp b/src/mame/drivers/a2600.cpp
index f61101aa8a5..5bb1bd347df 100644
--- a/src/mame/drivers/a2600.cpp
+++ b/src/mame/drivers/a2600.cpp
@@ -126,7 +126,7 @@ WRITE8_MEMBER(a2600_base_state::switch_A_w)
// switch( ioport("CONTROLLERS")->read() % CATEGORY_SELECT )
// {
// case 0x0a: /* KidVid voice module */
-// m_cassette->change_state(( data & 0x02 ) ? (cassette_state)CASSETTE_MOTOR_DISABLED : (cassette_state)(CASSETTE_MOTOR_ENABLED | CASSETTE_PLAY), (cassette_state)CASSETTE_MOTOR_DISABLED );
+// m_cassette->change_state(( data & 0x02 ) ? CASSETTE_MOTOR_DISABLED : (CASSETTE_MOTOR_ENABLED | CASSETTE_PLAY), CASSETTE_MOTOR_DISABLED );
// break;
// }
}
diff --git a/src/mame/drivers/a5105.cpp b/src/mame/drivers/a5105.cpp
index 880d15c55c3..aebc4e32193 100644
--- a/src/mame/drivers/a5105.cpp
+++ b/src/mame/drivers/a5105.cpp
@@ -173,11 +173,11 @@ READ8_MEMBER( a5105_state::pio_pb_r )
PIO Channel B
- 0 W PAR12
- 1 ? SER1
- 2 ? SER2
- 3 ? SER3
- 4 ? SER4
+ 0 R PAR12
+ 1 W SER1
+ 2 W SER2
+ 3 R SER3
+ 4 R SER4
5 W JOY2
6 W /JOYEN
7 R Cassette Data
@@ -608,7 +608,7 @@ void a5105_state::a5105(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);
BEEP(config, "beeper", 500).add_route(ALL_OUTPUTS, "mono", 0.50);
/* Devices */
@@ -627,6 +627,7 @@ void a5105_state::a5105(machine_config &config)
pio.out_int_callback().set_inputline(m_maincpu, 0);
CASSETTE(config, m_cass);
+ m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
UPD765A(config, m_fdc, 8'000'000, true, true);
FLOPPY_CONNECTOR(config, "upd765a:0", a5105_floppies, "525qd", a5105_state::floppy_formats);
diff --git a/src/mame/drivers/abc80.cpp b/src/mame/drivers/abc80.cpp
index e6fde30f2aa..147f3df258d 100644
--- a/src/mame/drivers/abc80.cpp
+++ b/src/mame/drivers/abc80.cpp
@@ -515,7 +515,7 @@ MACHINE_CONFIG_START(abc80_state::abc80)
m_csg->set_oneshot_params(CAP_U(0.1), RES_K(330));
m_csg->add_route(ALL_OUTPUTS, "mono", 0.25);
- 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
Z80PIO(config, m_pio, XTAL(11'980'800)/2/2);
diff --git a/src/mame/drivers/abc80x.cpp b/src/mame/drivers/abc80x.cpp
index 581c5ee516c..98b34c55ced 100644
--- a/src/mame/drivers/abc80x.cpp
+++ b/src/mame/drivers/abc80x.cpp
@@ -150,6 +150,7 @@ Notes:
#include "emu.h"
#include "includes/abc80x.h"
+#include "sound/wave.h"
#define LOG 0
@@ -1084,7 +1085,7 @@ MACHINE_CONFIG_START(abc800_state::common)
m_dart->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
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, TIMER_CASSETTE_TAG).configure_periodic(FUNC(abc800_state::cassette_input_tick), attotime::from_hz(44100));
rs232_port_device &rs232a(RS232_PORT(config, RS232_A_TAG, default_rs232_devices, nullptr));
@@ -1107,6 +1108,7 @@ MACHINE_CONFIG_START(abc800_state::common)
// sound hardware
SPEAKER(config, "mono").front_center();
DISCRETE(config, m_discrete, abc800_discrete).add_route(ALL_OUTPUTS, "mono", 0.80);
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
// software list
SOFTWARE_LIST(config, "flop_list").set_original("abc800");
diff --git a/src/mame/drivers/ac1.cpp b/src/mame/drivers/ac1.cpp
index c1e75686566..0adcedff17a 100644
--- a/src/mame/drivers/ac1.cpp
+++ b/src/mame/drivers/ac1.cpp
@@ -156,9 +156,10 @@ void ac1_state::ac1(machine_config &config)
PALETTE(config, m_palette, palette_device::MONOCHROME);
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);
CASSETTE(config, m_cassette);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
}
void ac1_state::ac1_32(machine_config &config)
diff --git a/src/mame/drivers/acrnsys1.cpp b/src/mame/drivers/acrnsys1.cpp
index be8fc27e3bc..726a4e26cab 100644
--- a/src/mame/drivers/acrnsys1.cpp
+++ b/src/mame/drivers/acrnsys1.cpp
@@ -274,7 +274,7 @@ void acrnsys1_state::acrnsys1(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "mono", 0.25);
+ WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "mono", 0.05);
/* devices */
ins8154_device &b1(INS8154(config, "b1"));
@@ -285,6 +285,7 @@ void acrnsys1_state::acrnsys1(machine_config &config)
TTL74145(config, m_ttl74145, 0);
CASSETTE(config, m_cass);
+ m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
TIMER(config, "kansas_w").configure_periodic(FUNC(acrnsys1_state::kansas_w), attotime::from_hz(4800));
TIMER(config, "kansas_r").configure_periodic(FUNC(acrnsys1_state::kansas_r), attotime::from_hz(40000));
diff --git a/src/mame/drivers/agat.cpp b/src/mame/drivers/agat.cpp
index b0d8cb1b2f8..53f6011c7ce 100644
--- a/src/mame/drivers/agat.cpp
+++ b/src/mame/drivers/agat.cpp
@@ -60,7 +60,7 @@
#include "machine/bankdev.h"
#include "machine/kb3600.h"
#include "machine/timer.h"
-
+#include "sound/wave.h"
#include "sound/spkrdev.h"
#include "bus/a2bus/a2diskii.h"
@@ -1091,6 +1091,7 @@ void agat7_state::agat7(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, m_upperbank).set_map(&agat7_state::inhbank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x3000);
@@ -1131,7 +1132,7 @@ void agat7_state::agat7(machine_config &config)
A2BUS_SLOT(config, "sl6", m_a2bus, agat7_cards, "a7ram");
CASSETTE(config,m_cassette);
- m_cassette->set_default_state(CASSETTE_STOPPED);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
}
diff --git a/src/mame/drivers/apogee.cpp b/src/mame/drivers/apogee.cpp
index c8aea01fc8d..745e450de88 100644
--- a/src/mame/drivers/apogee.cpp
+++ b/src/mame/drivers/apogee.cpp
@@ -253,7 +253,7 @@ void apogee_state::apogee(machine_config &config)
PALETTE(config, m_palette, FUNC(apogee_state::radio86_palette), 3);
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, m_speaker);
m_speaker->set_levels(4, speaker_levels);
m_speaker->add_route(ALL_OUTPUTS, "mono", 0.75);
@@ -267,7 +267,7 @@ void apogee_state::apogee(machine_config &config)
CASSETTE(config, m_cassette);
m_cassette->set_formats(rka_cassette_formats);
- m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED));
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
m_cassette->set_interface("apogee_cass");
SOFTWARE_LIST(config, "cass_list").set_original("apogee");
diff --git a/src/mame/drivers/applix.cpp b/src/mame/drivers/applix.cpp
index da61d451f63..6fc1928317b 100644
--- a/src/mame/drivers/applix.cpp
+++ b/src/mame/drivers/applix.cpp
@@ -892,7 +892,7 @@ void applix_state::applix(machine_config &config)
vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT).add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT);
vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT).add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT);
- WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "lspeaker", 0.50);
+ WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "lspeaker", 0.10);
/* Devices */
MC6845(config, m_crtc, 30_MHz_XTAL / 16); // MC6545 @ 1.875 MHz
@@ -920,7 +920,7 @@ void applix_state::applix(machine_config &config)
m_centronics->set_output_latch(*m_cent_data_out);
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);
WD1772(config, m_fdc, 16_MHz_XTAL / 2); //connected to Z80H clock pin
FLOPPY_CONNECTOR(config, "fdc:0", applix_floppies, "35dd", applix_state::floppy_formats).enable_sound(true);
diff --git a/src/mame/drivers/aquarius.cpp b/src/mame/drivers/aquarius.cpp
index de6c264c083..a9183807c1b 100644
--- a/src/mame/drivers/aquarius.cpp
+++ b/src/mame/drivers/aquarius.cpp
@@ -24,6 +24,7 @@
#include "emu.h"
#include "includes/aquarius.h"
+#include "sound/wave.h"
#include "softlist.h"
#include "speaker.h"
@@ -373,6 +374,7 @@ void aquarius_state::aquarius(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
ay8910_device &ay8910(AY8910(config, "ay8910", XTAL(3'579'545)/2)); // ??? AY-3-8914
ay8910.port_a_read_callback().set_ioport("RIGHT");
@@ -381,7 +383,7 @@ void aquarius_state::aquarius(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);
/* cartridge */
GENERIC_CARTSLOT(config, m_cart, generic_linear_slot, "aquarius_cart");
diff --git a/src/mame/drivers/atom.cpp b/src/mame/drivers/atom.cpp
index 5a46cf62aaa..bbe9cc57e4f 100644
--- a/src/mame/drivers/atom.cpp
+++ b/src/mame/drivers/atom.cpp
@@ -115,6 +115,7 @@ Hardware: PPIA 8255
#include "emu.h"
#include "includes/atom.h"
#include "formats/imageutl.h"
+#include "sound/wave.h"
#include "screen.h"
#include "softlist.h"
#include "speaker.h"
@@ -723,6 +724,7 @@ MACHINE_CONFIG_START(atom_state::atom)
/* 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);
/* devices */
TIMER(config, "hz2400").configure_periodic(FUNC(atom_state::cassette_output_tick), attotime::from_hz(4806));
@@ -753,7 +755,7 @@ MACHINE_CONFIG_START(atom_state::atom)
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");
MCFG_QUICKLOAD_ADD("quickload", atom_state, atom_atm, "atm")
diff --git a/src/mame/drivers/bcs3.cpp b/src/mame/drivers/bcs3.cpp
index bf29e01903f..dcfecd744a8 100644
--- a/src/mame/drivers/bcs3.cpp
+++ b/src/mame/drivers/bcs3.cpp
@@ -456,6 +456,7 @@ void bcs3_state::bcs3a(machine_config &config)
m_screen->set_screen_update(FUNC(bcs3_state::screen_update_bcs3a));
CASSETTE(config, m_cass);
+ m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -487,6 +488,7 @@ void bcs3_state::bcs3b(machine_config &config)
m_ctc->zc_callback<1>().set(FUNC(bcs3_state::ctc_z1_w));
CASSETTE(config, m_cass);
+ m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/binbug.cpp b/src/mame/drivers/binbug.cpp
index 4996932999b..dc09b165202 100644
--- a/src/mame/drivers/binbug.cpp
+++ b/src/mame/drivers/binbug.cpp
@@ -317,8 +317,9 @@ void binbug_state::binbug_base(machine_config &config)
/* Cassette */
CASSETTE(config, m_cass);
+ m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
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);
}
void binbug_state::binbug(machine_config &config)
diff --git a/src/mame/drivers/bk.cpp b/src/mame/drivers/bk.cpp
index 5094b821dde..822ad184c8d 100644
--- a/src/mame/drivers/bk.cpp
+++ b/src/mame/drivers/bk.cpp
@@ -184,10 +184,10 @@ void bk_state::bk0010(machine_config &config)
PALETTE(config, "palette", palette_device::MONOCHROME);
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);
CASSETTE(config, m_cassette);
- m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED));
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
m_cassette->set_interface("bk0010_cass");
SOFTWARE_LIST(config, "cass_list").set_original("bk0010");
diff --git a/src/mame/drivers/bml3.cpp b/src/mame/drivers/bml3.cpp
index 705b0cc94c0..dd82b412622 100644
--- a/src/mame/drivers/bml3.cpp
+++ b/src/mame/drivers/bml3.cpp
@@ -958,10 +958,11 @@ void bml3_state::bml3_common(machine_config &config)
acia_clock.signal_handler().append(m_acia, FUNC(acia6850_device::write_rxc));
CASSETTE(config, m_cass);
+ m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
/* Audio */
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);
SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.50);
/* slot devices */
diff --git a/src/mame/drivers/bob85.cpp b/src/mame/drivers/bob85.cpp
index 3af251994e2..7ab322a8c07 100644
--- a/src/mame/drivers/bob85.cpp
+++ b/src/mame/drivers/bob85.cpp
@@ -24,6 +24,8 @@ Test Paste:
#include "emu.h"
#include "cpu/i8085/i8085.h"
#include "imagedev/cassette.h"
+#include "sound/wave.h"
+#include "speaker.h"
#include "bob85.lh"
@@ -196,7 +198,7 @@ WRITE_LINE_MEMBER( bob85_state::sod_w )
READ_LINE_MEMBER( bob85_state::sid_r )
{
- return m_cass->input() > 0.0;
+ return (m_cass->input() > 0.04) ? 1 : 0;
}
void bob85_state::bob85(machine_config &config)
@@ -212,7 +214,10 @@ void bob85_state::bob85(machine_config &config)
config.set_default_layout(layout_bob85);
// devices
- CASSETTE(config, m_cass).set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED));
+ CASSETTE(config, m_cass).set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
+
+ SPEAKER(config, "mono").front_center();
+ WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "mono", 0.05);
}
/* ROM definition */
diff --git a/src/mame/drivers/c80.cpp b/src/mame/drivers/c80.cpp
index 44cd3b761fe..db470acd0b3 100644
--- a/src/mame/drivers/c80.cpp
+++ b/src/mame/drivers/c80.cpp
@@ -280,7 +280,7 @@ void c80_state::c80(machine_config &config)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
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);
/* internal ram */
RAM(config, RAM_TAG).set_default_size("1K");
diff --git a/src/mame/drivers/cgenie.cpp b/src/mame/drivers/cgenie.cpp
index 47d8c1afbd3..dc37b65cb54 100644
--- a/src/mame/drivers/cgenie.cpp
+++ b/src/mame/drivers/cgenie.cpp
@@ -17,6 +17,7 @@
#include "machine/ram.h"
#include "video/mc6845.h"
#include "sound/ay8910.h"
+#include "sound/wave.h"
#include "imagedev/cassette.h"
#include "formats/cgen_cas.h"
#include "bus/rs232/rs232.h"
@@ -461,6 +462,7 @@ void cgenie_state::cgenie(machine_config &config)
ay8910.port_b_read_callback().set("par", FUNC(cg_parallel_slot_device::pb_r));
ay8910.port_b_write_callback().set("par", FUNC(cg_parallel_slot_device::pb_w));
ay8910.add_route(ALL_OUTPUTS, "mono", 0.75);
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
CASSETTE(config, m_cassette);
m_cassette->set_formats(cgenie_cassette_formats);
diff --git a/src/mame/drivers/compis.cpp b/src/mame/drivers/compis.cpp
index 8883140629e..224590101a3 100644
--- a/src/mame/drivers/compis.cpp
+++ b/src/mame/drivers/compis.cpp
@@ -788,7 +788,7 @@ void compis_state::compis(machine_config &config)
m_rtc->set_day1(1); // monday
CASSETTE(config, m_cassette);
- m_cassette->set_default_state((cassette_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(compis_state::tape_tick), attotime::from_hz(44100));
diff --git a/src/mame/drivers/comx35.cpp b/src/mame/drivers/comx35.cpp
index 90a471f5193..20a22c67c93 100644
--- a/src/mame/drivers/comx35.cpp
+++ b/src/mame/drivers/comx35.cpp
@@ -633,7 +633,7 @@ void comx35_state::base(machine_config &config, const XTAL clock)
quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
quickload.set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(comx35_state, comx), this), "comx");
- CASSETTE(config, m_cassette).set_default_state((cassette_state) (CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED));
+ CASSETTE(config, m_cassette).set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
// expansion bus
COMX_EXPANSION_SLOT(config, m_exp, 0, comx_expansion_cards, "eb").irq_callback().set(FUNC(comx35_state::irq_w));
diff --git a/src/mame/drivers/cosmicos.cpp b/src/mame/drivers/cosmicos.cpp
index c62da73d957..9f03936e5e1 100644
--- a/src/mame/drivers/cosmicos.cpp
+++ b/src/mame/drivers/cosmicos.cpp
@@ -42,6 +42,7 @@
#include "screen.h"
#include "speaker.h"
+#include "sound/wave.h"
#include "cosmicos.lh"
@@ -534,8 +535,8 @@ MACHINE_CONFIG_START(cosmicos_state::cosmicos)
/* sound hardware */
SPEAKER(config, "mono").front_center();
-
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
+ 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);
@@ -551,7 +552,7 @@ MACHINE_CONFIG_START(cosmicos_state::cosmicos)
/* devices */
MCFG_QUICKLOAD_ADD("quickload", cosmicos_state, cosmicos, "bin")
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("256").set_extra_options("4K,48K");
diff --git a/src/mame/drivers/cp1.cpp b/src/mame/drivers/cp1.cpp
index a329130a81e..eb011c8d0e0 100644
--- a/src/mame/drivers/cp1.cpp
+++ b/src/mame/drivers/cp1.cpp
@@ -17,6 +17,8 @@
#include "machine/i8155.h"
#include "imagedev/cassette.h"
#include "imagedev/snapquik.h"
+#include "sound/wave.h"
+#include "speaker.h"
#include "cp1.lh"
class cp1_state : public driver_device
@@ -288,6 +290,9 @@ void cp1_state::cp1(machine_config &config)
config.set_default_layout(layout_cp1);
CASSETTE(config, m_cassette);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
+ SPEAKER(config, "mono").front_center();
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
QUICKLOAD(config, "quickload").set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(cp1_state, quickload), this), "obj", attotime::from_seconds(1));
}
diff --git a/src/mame/drivers/crvision.cpp b/src/mame/drivers/crvision.cpp
index 081d886b9fb..91fea7e666c 100644
--- a/src/mame/drivers/crvision.cpp
+++ b/src/mame/drivers/crvision.cpp
@@ -747,7 +747,7 @@ void crvision_state::creativision(machine_config &config)
m_pia->writepb_handler().set(SN76489_TAG, FUNC(sn76496_base_device::write));
CASSETTE(config, m_cassette);
- m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit7));
@@ -765,7 +765,7 @@ void crvision_state::creativision(machine_config &config)
m_psg->ready_cb().set(m_pia, FUNC(pia6821_device::cb1_w));
m_psg->add_route(ALL_OUTPUTS, "mono", 1.00);
- WAVE(config, "wave", m_cassette).add_route(1, "mono", 0.25);
+ WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.05);
// cartridge
CRVISION_CART_SLOT(config, m_cart, crvision_cart, nullptr);
@@ -830,7 +830,7 @@ void laser2001_state::lasr2001(machine_config &config)
m_pia->cb2_handler().set(FUNC(laser2001_state::pia_cb2_w));
CASSETTE(config, m_cassette);
- m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->busy_handler().set(FUNC(laser2001_state::write_centronics_busy));
diff --git a/src/mame/drivers/ep64.cpp b/src/mame/drivers/ep64.cpp
index a5c271c6833..8b78bf07ae4 100644
--- a/src/mame/drivers/ep64.cpp
+++ b/src/mame/drivers/ep64.cpp
@@ -618,11 +618,11 @@ void ep64_state::ep64(machine_config &config)
m_rs232->rxd_handler().set(m_dave, FUNC(dave_device::int2_w));
CASSETTE(config, m_cassette1);
- m_cassette1->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED));
+ m_cassette1->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette1->set_interface("ep64_cass");
CASSETTE(config, m_cassette2);
- m_cassette2->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED));
+ m_cassette2->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette2->set_interface("ep64_cass");
// internal RAM
diff --git a/src/mame/drivers/exp85.cpp b/src/mame/drivers/exp85.cpp
index 000f5bc76f9..e71a10dec34 100644
--- a/src/mame/drivers/exp85.cpp
+++ b/src/mame/drivers/exp85.cpp
@@ -200,7 +200,7 @@ void exp85_state::exp85(machine_config &config)
i8355.out_pa().set(FUNC(exp85_state::i8355_a_w));
CASSETTE(config, m_cassette);
- m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED));
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
RS232_PORT(config, "rs232", default_rs232_devices, "terminal").set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal));
diff --git a/src/mame/drivers/h8.cpp b/src/mame/drivers/h8.cpp
index 29b2bc24281..fea772c2db2 100644
--- a/src/mame/drivers/h8.cpp
+++ b/src/mame/drivers/h8.cpp
@@ -345,7 +345,7 @@ void h8_state::h8(machine_config &config)
cassette_clock.signal_handler().append(m_uart, FUNC(i8251_device::write_rxc));
CASSETTE(config, m_cass);
- m_cass->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cass->set_interface("h8_cass");
TIMER(config, "kansas_w").configure_periodic(FUNC(h8_state::kansas_w), attotime::from_hz(4800));
diff --git a/src/mame/drivers/jr100.cpp b/src/mame/drivers/jr100.cpp
index f79b15a6c4e..9ac27c88829 100644
--- a/src/mame/drivers/jr100.cpp
+++ b/src/mame/drivers/jr100.cpp
@@ -400,7 +400,7 @@ void jr100_state::jr100(machine_config &config)
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 1.00);
CASSETTE(config, m_cassette, 0);
- m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED));
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
/* quickload */
quickload_image_device &quickload(QUICKLOAD(config, "quickload"));
diff --git a/src/mame/drivers/kyocera.cpp b/src/mame/drivers/kyocera.cpp
index af123167f84..d3a2c540585 100644
--- a/src/mame/drivers/kyocera.cpp
+++ b/src/mame/drivers/kyocera.cpp
@@ -1352,7 +1352,7 @@ void kc85_state::kc85(machine_config &config)
m_centronics->select_handler().set(FUNC(kc85_state::write_centronics_select));
CASSETTE(config, m_cassette);
- m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
/* option ROM cartridge */
GENERIC_CARTSLOT(config, m_opt_cart, generic_linear_slot, "trsm100_cart", "bin,rom");
@@ -1401,7 +1401,7 @@ void pc8201_state::pc8201(machine_config &config)
m_centronics->select_handler().set(FUNC(kc85_state::write_centronics_select));
CASSETTE(config, m_cassette);
- m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
/* option ROM cartridge */
GENERIC_CARTSLOT(config, m_opt_cart, generic_linear_slot, "pc8201_cart", "bin,rom");
@@ -1457,7 +1457,7 @@ void trsm100_state::trsm100(machine_config &config)
CENTRONICS(config, m_centronics, centronics_devices, "printer");
CASSETTE(config, m_cassette);
- m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
// MCFG_MC14412_ADD(MC14412_TAG, XTAL(1'000'000))
@@ -1526,7 +1526,7 @@ void tandy200_state::tandy200(machine_config &config)
m_centronics->set_output_latch(cent_data_out);
CASSETTE(config, m_cassette);
- m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
/* option ROM cartridge */
GENERIC_CARTSLOT(config, m_opt_cart, generic_linear_slot, "tandy200_cart", "bin,rom");
diff --git a/src/mame/drivers/newbrain.cpp b/src/mame/drivers/newbrain.cpp
index 0303904df33..fc49e19f3bb 100644
--- a/src/mame/drivers/newbrain.cpp
+++ b/src/mame/drivers/newbrain.cpp
@@ -838,10 +838,10 @@ void newbrain_state::newbrain(machine_config &config)
NEWBRAIN_EXPANSION_SLOT(config, m_exp, XTAL(16'000'000)/4, newbrain_expansion_cards, "eim");
CASSETTE(config, m_cassette1);
- m_cassette1->set_default_state(cassette_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cassette1->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
CASSETTE(config, m_cassette2);
- m_cassette2->set_default_state(cassette_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cassette2->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
RS232_PORT(config, RS232_V24_TAG, default_rs232_devices, nullptr);
RS232_PORT(config, RS232_PRN_TAG, default_rs232_devices, nullptr);
diff --git a/src/mame/drivers/oric.cpp b/src/mame/drivers/oric.cpp
index 9bfc30dae4d..538149d85ab 100644
--- a/src/mame/drivers/oric.cpp
+++ b/src/mame/drivers/oric.cpp
@@ -820,7 +820,7 @@ void oric_state::oric(machine_config &config, bool add_ext)
/* cassette */
CASSETTE(config, m_cassette, 0);
m_cassette->set_formats(oric_cassette_formats);
- m_cassette->set_default_state((cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED));
+ m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED);
/* via */
VIA6522(config, m_via, 12_MHz_XTAL / 12);
diff --git a/src/mame/drivers/pmd85.cpp b/src/mame/drivers/pmd85.cpp
index 2ffd4d5113b..0364e54e46f 100644
--- a/src/mame/drivers/pmd85.cpp
+++ b/src/mame/drivers/pmd85.cpp
@@ -634,7 +634,7 @@ void pmd85_state::pmd85(machine_config &config, bool with_uart)
CASSETTE(config, m_cassette);
m_cassette->set_formats(pmd85_cassette_formats);
m_cassette->set_create_opts(&pmd85_cassette_options);
- m_cassette->set_default_state((cassette_state) (CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED));
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("pmd85_cass");
/* software lists */
diff --git a/src/mame/drivers/ptcsol.cpp b/src/mame/drivers/ptcsol.cpp
index c1050066872..3d8027685ce 100644
--- a/src/mame/drivers/ptcsol.cpp
+++ b/src/mame/drivers/ptcsol.cpp
@@ -764,11 +764,11 @@ void sol20_state::sol20(machine_config &config)
// devices
CASSETTE(config, m_cass1).set_formats(sol20_cassette_formats);
- m_cass1->set_default_state((cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cass1->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cass1->set_interface("sol20_cass");
CASSETTE(config, m_cass2).set_formats(sol20_cassette_formats);
- m_cass2->set_default_state((cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cass2->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cass2->set_interface("sol20_cass");
AY51013(config, m_uart); // TMS6011NC
diff --git a/src/mame/drivers/rc759.cpp b/src/mame/drivers/rc759.cpp
index e5db39cbf0a..a39303a15c6 100644
--- a/src/mame/drivers/rc759.cpp
+++ b/src/mame/drivers/rc759.cpp
@@ -573,7 +573,7 @@ void rc759_state::rc759(machine_config &config)
// cassette
CASSETTE(config, m_cas);
- m_cas->set_default_state((cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED));
+ m_cas->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
// sound
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/samcoupe.cpp b/src/mame/drivers/samcoupe.cpp
index 516f431c12a..720119e9f85 100644
--- a/src/mame/drivers/samcoupe.cpp
+++ b/src/mame/drivers/samcoupe.cpp
@@ -532,7 +532,7 @@ void samcoupe_state::samcoupe(machine_config &config)
CASSETTE(config, m_cassette);
m_cassette->set_formats(tzx_cassette_formats);
- m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED));
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
m_cassette->set_interface("samcoupe_cass");
SOFTWARE_LIST(config, "cass_list").set_original("samcoupe_cass");
diff --git a/src/mame/drivers/super80.cpp b/src/mame/drivers/super80.cpp
index aa4cb9aefe2..ca32b7da608 100644
--- a/src/mame/drivers/super80.cpp
+++ b/src/mame/drivers/super80.cpp
@@ -756,7 +756,7 @@ void super80_state::super80(machine_config &config)
/* cassette */
CASSETTE(config, m_cassette);
- m_cassette->set_default_state((cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("super80_cass");
TIMER(config, "kansas_r").configure_periodic(FUNC(super80_state::kansas_r), attotime::from_hz(40000)); // cass read
@@ -850,7 +850,7 @@ void super80_state::super80v(machine_config &config)
/* cassette */
CASSETTE(config, m_cassette);
- m_cassette->set_default_state((cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("super80_cass");
TIMER(config, "kansas_r").configure_periodic(FUNC(super80_state::kansas_r), attotime::from_hz(40000)); // cass read
diff --git a/src/mame/drivers/vector06.cpp b/src/mame/drivers/vector06.cpp
index 4a63e427f33..a79e4838ebc 100644
--- a/src/mame/drivers/vector06.cpp
+++ b/src/mame/drivers/vector06.cpp
@@ -197,7 +197,7 @@ void vector06_state::vector06(machine_config &config)
m_ppi8255_2->out_pc_callback().set(FUNC(vector06_state::vector06_romdisk_portc_w));
CASSETTE(config, m_cassette);
- m_cassette->set_default_state((cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED));
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
KR1818VG93(config, m_fdc, 1_MHz_XTAL);