summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/machine
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2013-04-17 08:30:36 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2013-04-17 08:30:36 +0000
commit5d8cdfb2e55fe1f6d5fa50af34226b1b0d73a9ca (patch)
tree258368d589d6cca18b52607c0c7b7a9f90a259f4 /src/mess/machine
parent521b0c7c86836dcb844412bc173b8030e0be4905 (diff)
(MESS) cassette cleanup (nw)
Diffstat (limited to 'src/mess/machine')
-rw-r--r--src/mess/machine/ac1.c1
-rw-r--r--src/mess/machine/adam_ddp.c8
-rw-r--r--src/mess/machine/aim65.c14
-rw-r--r--src/mess/machine/apple1.c9
-rw-r--r--src/mess/machine/apple2.c11
-rw-r--r--src/mess/machine/bbc.c7
-rw-r--r--src/mess/machine/bk.c2
-rw-r--r--src/mess/machine/c2n.c13
-rw-r--r--src/mess/machine/cgenie.c4
-rw-r--r--src/mess/machine/coco.c2
-rw-r--r--src/mess/machine/dai.c6
-rw-r--r--src/mess/machine/electron.c10
-rw-r--r--src/mess/machine/genpc.c4
-rw-r--r--src/mess/machine/hec2hrp.c26
-rw-r--r--src/mess/machine/lviv.c4
-rw-r--r--src/mess/machine/mbee.c4
-rw-r--r--src/mess/machine/microtan.c9
-rw-r--r--src/mess/machine/msx.c6
-rw-r--r--src/mess/machine/mtx.c3
-rw-r--r--src/mess/machine/mz700.c11
-rw-r--r--src/mess/machine/mz80.c4
-rw-r--r--src/mess/machine/nascom1.c2
-rw-r--r--src/mess/machine/orao.c2
-rw-r--r--src/mess/machine/pc.c6
-rw-r--r--src/mess/machine/primo.c8
-rw-r--r--src/mess/machine/sorcerer.c28
-rw-r--r--src/mess/machine/special.c4
-rw-r--r--src/mess/machine/super80.c14
-rw-r--r--src/mess/machine/trs80.c10
-rw-r--r--src/mess/machine/ut88.c4
-rw-r--r--src/mess/machine/vector06.c2
-rw-r--r--src/mess/machine/vtech2.c7
32 files changed, 91 insertions, 154 deletions
diff --git a/src/mess/machine/ac1.c b/src/mess/machine/ac1.c
index ab7bcb95f23..9f0cc450353 100644
--- a/src/mess/machine/ac1.c
+++ b/src/mess/machine/ac1.c
@@ -114,5 +114,4 @@ DRIVER_INIT_MEMBER(ac1_state,ac1)
void ac1_state::machine_reset()
{
- m_cassette = machine().device<cassette_image_device>(CASSETTE_TAG);
}
diff --git a/src/mess/machine/adam_ddp.c b/src/mess/machine/adam_ddp.c
index a2352b74aa7..3a3db705b49 100644
--- a/src/mess/machine/adam_ddp.c
+++ b/src/mess/machine/adam_ddp.c
@@ -100,8 +100,8 @@ static MACHINE_CONFIG_FRAGMENT( adam_ddp )
MCFG_CPU_PROGRAM_MAP(adam_ddp_mem)
MCFG_CPU_IO_MAP(adam_ddp_io)
- MCFG_CASSETTE_ADD(CASSETTE_TAG, adam_cassette_interface)
- MCFG_CASSETTE_ADD(CASSETTE2_TAG, adam_cassette_interface)
+ MCFG_CASSETTE_ADD("cassette", adam_cassette_interface)
+ MCFG_CASSETTE_ADD("cassette2", adam_cassette_interface)
MACHINE_CONFIG_END
@@ -129,8 +129,8 @@ adam_digital_data_pack_device::adam_digital_data_pack_device(const machine_confi
: device_t(mconfig, ADAM_DDP, "Adam DDP", tag, owner, clock, "adam_ddp", __FILE__),
device_adamnet_card_interface(mconfig, *this),
m_maincpu(*this, M6801_TAG),
- m_ddp0(*this, CASSETTE_TAG),
- m_ddp1(*this, CASSETTE2_TAG)
+ m_ddp0(*this, "cassette"),
+ m_ddp1(*this, "cassette2")
{
}
diff --git a/src/mess/machine/aim65.c b/src/mess/machine/aim65.c
index 22c6d7e33b6..257a049a8d3 100644
--- a/src/mess/machine/aim65.c
+++ b/src/mess/machine/aim65.c
@@ -181,24 +181,24 @@ WRITE8_MEMBER( aim65_state::aim65_pb_w )
if (BIT(bits, 7))
{
- m_cass1->output(BIT(data, 7) ? -1.0 : +1.0);
- m_cass2->output(BIT(data, 7) ? -1.0 : +1.0);
+ m_cassette1->output(BIT(data, 7) ? -1.0 : +1.0);
+ m_cassette2->output(BIT(data, 7) ? -1.0 : +1.0);
}
if (BIT(bits, 5))
{
if (BIT(data, 5))
- m_cass2->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR);
+ m_cassette2->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR);
else
- m_cass2->change_state(CASSETTE_MOTOR_ENABLED,CASSETTE_MASK_MOTOR);
+ m_cassette2->change_state(CASSETTE_MOTOR_ENABLED,CASSETTE_MASK_MOTOR);
}
if (BIT(bits, 4))
{
if (BIT(data, 4))
- m_cass1->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR);
+ m_cassette1->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR);
else
- m_cass1->change_state(CASSETTE_MOTOR_ENABLED,CASSETTE_MASK_MOTOR);
+ m_cassette1->change_state(CASSETTE_MOTOR_ENABLED,CASSETTE_MASK_MOTOR);
}
}
@@ -212,7 +212,7 @@ READ8_MEMBER( aim65_state::aim65_pb_r )
*/
UINT8 data = ioport("switches")->read();
- data |= (m_cass1->input() > +0.03) ? 0x80 : 0;
+ data |= (m_cassette1->input() > +0.03) ? 0x80 : 0;
data |= 0x40; // TTY must be H if not used.
data |= m_pb_save & 0x37;
return data;
diff --git a/src/mess/machine/apple1.c b/src/mess/machine/apple1.c
index 81b3b786caf..4612d96037f 100644
--- a/src/mess/machine/apple1.c
+++ b/src/mess/machine/apple1.c
@@ -480,11 +480,6 @@ TIMER_CALLBACK_MEMBER(apple1_state::apple1_dsp_ready_end)
** could be placed on a single tape.
*****************************************************************************/
-static cassette_image_device *cassette_device_image(running_machine &machine)
-{
- return machine.device<cassette_image_device>(CASSETTE_TAG);
-}
-
/* The cassette output signal for writing tapes is generated by a
flip-flop which is toggled to produce the output waveform. Any
access to the cassette I/O range, whether a read or a write,
@@ -493,7 +488,7 @@ static void cassette_toggle_output(running_machine &machine)
{
apple1_state *state = machine.driver_data<apple1_state>();
state->m_cassette_output_flipflop = !state->m_cassette_output_flipflop;
- cassette_device_image(machine)->output(state->m_cassette_output_flipflop ? 1.0 : -1.0);
+ state->m_cassette->output(state->m_cassette_output_flipflop ? 1.0 : -1.0);
}
READ8_MEMBER(apple1_state::apple1_cassette_r)
@@ -524,7 +519,7 @@ READ8_MEMBER(apple1_state::apple1_cassette_r)
/* (Don't try putting a non-zero "noise threshhold" here,
because it can cause tape header bits on real cassette
images to be misread as data bits.) */
- if (cassette_device_image(machine())->input() > 0.0)
+ if (m_cassette->input() > 0.0)
return space.read_byte(0xc100 + (offset & ~1));
else
return space.read_byte(0xc100 + offset);
diff --git a/src/mess/machine/apple2.c b/src/mess/machine/apple2.c
index 1971bef1a8e..a0503949c4b 100644
--- a/src/mess/machine/apple2.c
+++ b/src/mess/machine/apple2.c
@@ -1812,11 +1812,6 @@ WRITE8_MEMBER ( apple2_state::apple2_c05x_w )
apple2_c06x_r
***************************************************************************/
-static cassette_image_device *cassette_device_image(running_machine &machine)
-{
- return machine.device<cassette_image_device>(CASSETTE_TAG);
-}
-
READ8_MEMBER ( apple2_state::apple2_c06x_r )
{
int result = 0;
@@ -1827,11 +1822,9 @@ READ8_MEMBER ( apple2_state::apple2_c06x_r )
case 0x00:
/* Cassette input */
{
- cassette_image_device *dev = cassette_device_image(space.machine());
-
- if (dev)
+ if (m_cassette)
{
- result = dev->input() > 0.0 ? 0x80 : 0;
+ result = m_cassette->input() > 0.0 ? 0x80 : 0;
}
else
{
diff --git a/src/mess/machine/bbc.c b/src/mess/machine/bbc.c
index f7d01aa2038..95cbf7f5090 100644
--- a/src/mess/machine/bbc.c
+++ b/src/mess/machine/bbc.c
@@ -1310,8 +1310,7 @@ static void MC6850_Receive_Clock(running_machine &machine, int new_clock)
TIMER_CALLBACK_MEMBER(bbc_state::bbc_tape_timer_cb)
{
- double dev_val;
- dev_val=machine().device<cassette_image_device>(CASSETTE_TAG)->input();
+ double dev_val = m_cassette->input();
// look for rising edges on the cassette wave
if (((dev_val>=0.0) && (m_last_dev_val<0.0)) || ((dev_val<0.0) && (m_last_dev_val>=0.0)))
@@ -1371,12 +1370,12 @@ static void BBC_Cassette_motor(running_machine &machine, unsigned char status)
bbc_state *state = machine.driver_data<bbc_state>();
if (status)
{
- machine.device<cassette_image_device>(CASSETTE_TAG)->change_state(CASSETTE_MOTOR_ENABLED, CASSETTE_MASK_MOTOR);
+ state->m_cassette->change_state(CASSETTE_MOTOR_ENABLED, CASSETTE_MASK_MOTOR);
state->m_tape_timer->adjust(attotime::zero, 0, attotime::from_hz(44100));
}
else
{
- machine.device<cassette_image_device>(CASSETTE_TAG)->change_state(CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
+ state->m_cassette->change_state(CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
state->m_tape_timer->reset();
state->m_len0 = 0;
state->m_len1 = 0;
diff --git a/src/mess/machine/bk.c b/src/mess/machine/bk.c
index 6536e84a268..6a040116e3f 100644
--- a/src/mess/machine/bk.c
+++ b/src/mess/machine/bk.c
@@ -101,7 +101,7 @@ READ16_MEMBER(bk_state::bk_vid_scrool_r)
READ16_MEMBER(bk_state::bk_key_press_r)
{
- double level = (machine().device<cassette_image_device>(CASSETTE_TAG)->input());
+ double level = m_cassette->input();
UINT16 cas;
if (level < 0)
{
diff --git a/src/mess/machine/c2n.c b/src/mess/machine/c2n.c
index 1692ae590cb..a6b8c1ca75d 100644
--- a/src/mess/machine/c2n.c
+++ b/src/mess/machine/c2n.c
@@ -11,13 +11,6 @@
-//**************************************************************************
-// MACROS / CONSTANTS
-//**************************************************************************
-
-#define CASSETTE_TAG "cassette"
-
-
//**************************************************************************
// DEVICE DEFINITIONS
@@ -47,7 +40,7 @@ const cassette_interface cbm_cassette_interface =
//-------------------------------------------------
static MACHINE_CONFIG_FRAGMENT( c2n )
- MCFG_CASSETTE_ADD(CASSETTE_TAG, cbm_cassette_interface )
+ MCFG_CASSETTE_ADD("cassette", cbm_cassette_interface )
MACHINE_CONFIG_END
@@ -74,14 +67,14 @@ machine_config_constructor c2n_device::device_mconfig_additions() const
c2n_device::c2n_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
: device_t(mconfig, type, name, tag, owner, clock, shortname, source),
device_pet_datassette_port_interface(mconfig, *this),
- m_cassette(*this, CASSETTE_TAG)
+ m_cassette(*this, "cassette")
{
}
c2n_device::c2n_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, C2N, "C2N", tag, owner, clock, "c2n", __FILE__),
device_pet_datassette_port_interface(mconfig, *this),
- m_cassette(*this, CASSETTE_TAG)
+ m_cassette(*this, "cassette")
{
}
diff --git a/src/mess/machine/cgenie.c b/src/mess/machine/cgenie.c
index 0584b9e1f55..81ca866cd03 100644
--- a/src/mess/machine/cgenie.c
+++ b/src/mess/machine/cgenie.c
@@ -34,7 +34,7 @@
TIMER_CALLBACK_MEMBER(cgenie_state::handle_cassette_input)
{
- UINT8 new_level = ( (machine().device<cassette_image_device>(CASSETTE_TAG)->input()) > 0.0 ) ? 1 : 0;
+ UINT8 new_level = ( (m_cassette->input()) > 0.0 ) ? 1 : 0;
if ( new_level != m_cass_level )
{
@@ -175,7 +175,7 @@ WRITE8_HANDLER( cgenie_port_ff_w )
cgenie_state *state = space.machine().driver_data<cgenie_state>();
int port_ff_changed = state->m_port_ff ^ data;
- space.machine().device<cassette_image_device>(CASSETTE_TAG)->output(data & 0x01 ? -1.0 : 1.0 );
+ state->m_cassette->output(data & 0x01 ? -1.0 : 1.0 );
/* background bits changed ? */
if( port_ff_changed & FF_BGD )
diff --git a/src/mess/machine/coco.c b/src/mess/machine/coco.c
index 2942a8e9916..bfd94159605 100644
--- a/src/mess/machine/coco.c
+++ b/src/mess/machine/coco.c
@@ -87,7 +87,7 @@ coco_state::coco_state(const machine_config &mconfig, device_type type, const ch
m_wave(*this, WAVE_TAG),
m_cococart(*this, CARTRIDGE_TAG),
m_ram(*this, RAM_TAG),
- m_cassette(*this, CASSETTE_TAG),
+ m_cassette(*this, "cassette"),
m_bitbanger(*this, BITBANGER_TAG),
m_vhd_0(*this, VHD0_TAG),
m_vhd_1(*this, VHD1_TAG)
diff --git a/src/mess/machine/dai.c b/src/mess/machine/dai.c
index 228984fed77..08067357dab 100644
--- a/src/mess/machine/dai.c
+++ b/src/mess/machine/dai.c
@@ -164,7 +164,7 @@ READ8_MEMBER(dai_state::dai_io_discrete_devices_r)
data |= 0x08; // serial ready
if (machine().rand()&0x01)
data |= 0x40; // random number generator
- if (machine().device<cassette_image_device>(CASSETTE_TAG)->input() > 0.01)
+ if (m_cassette->input() > 0.01)
data |= 0x80; // tape input
break;
@@ -197,8 +197,8 @@ WRITE8_MEMBER(dai_state::dai_io_discrete_devices_w)
m_paddle_enable = (data&0x08)>>3;
m_cassette_motor[0] = (data&0x10)>>4;
m_cassette_motor[1] = (data&0x20)>>5;
- machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(m_cassette_motor[0]?CASSETTE_MOTOR_DISABLED:CASSETTE_MOTOR_ENABLED, CASSETTE_MASK_MOTOR);
- machine().device<cassette_image_device>(CASSETTE_TAG)->output((data & 0x01) ? -1.0 : 1.0);
+ m_cassette->change_state(m_cassette_motor[0]?CASSETTE_MOTOR_DISABLED:CASSETTE_MOTOR_ENABLED, CASSETTE_MASK_MOTOR);
+ m_cassette->output((data & 0x01) ? -1.0 : 1.0);
dai_update_memory (machine(), (data&0xc0)>>6);
LOG_DAI_PORT_W (offset, (data&0x06)>>2, "discrete devices - paddle select");
LOG_DAI_PORT_W (offset, (data&0x08)>>3, "discrete devices - paddle enable");
diff --git a/src/mess/machine/electron.c b/src/mess/machine/electron.c
index cdf69781220..472e83134a7 100644
--- a/src/mess/machine/electron.c
+++ b/src/mess/machine/electron.c
@@ -12,12 +12,6 @@
#include "sound/beep.h"
#include "imagedev/cassette.h"
-
-static cassette_image_device *cassette_device_image( running_machine &machine )
-{
- return machine.device<cassette_image_device>(CASSETTE_TAG);
-}
-
void electron_state::electron_tape_start()
{
if (m_ula.tape_running )
@@ -46,7 +40,7 @@ TIMER_CALLBACK_MEMBER(electron_state::electron_tape_timer_handler)
if ( m_ula.cassette_motor_mode )
{
double tap_val;
- tap_val = cassette_device_image(machine())->input();
+ tap_val = m_cassette->input();
if ( tap_val < -0.5 )
{
m_ula.tape_value = ( m_ula.tape_value << 8 ) | TAPE_LOW;
@@ -267,7 +261,7 @@ WRITE8_MEMBER(electron_state::electron_ula_w)
m_ula.vram = (UINT8 *)space.get_read_ptr(m_ula.screen_base );
logerror( "ULA: screen mode set to %d\n", m_ula.screen_mode );
m_ula.cassette_motor_mode = ( data >> 6 ) & 0x01;
- cassette_device_image(machine())->change_state(m_ula.cassette_motor_mode ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED, CASSETTE_MOTOR_DISABLED );
+ m_cassette->change_state(m_ula.cassette_motor_mode ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED, CASSETTE_MOTOR_DISABLED );
m_ula.capslock_mode = ( data >> 7 ) & 0x01;
break;
case 0x08: case 0x0A: case 0x0C: case 0x0E:
diff --git a/src/mess/machine/genpc.c b/src/mess/machine/genpc.c
index 3d174ad1543..95e4e77823d 100644
--- a/src/mess/machine/genpc.c
+++ b/src/mess/machine/genpc.c
@@ -708,7 +708,7 @@ static const cassette_interface ibm5150_cassette_interface =
static MACHINE_CONFIG_FRAGMENT( ibm5150_mb_config )
MCFG_FRAGMENT_ADD(ibm5160_mb_config)
- MCFG_CASSETTE_ADD( CASSETTE_TAG, ibm5150_cassette_interface )
+ MCFG_CASSETTE_ADD( "cassette", ibm5150_cassette_interface )
MACHINE_CONFIG_END
@@ -732,7 +732,7 @@ machine_config_constructor ibm5150_mb_device::device_mconfig_additions() const
ibm5150_mb_device::ibm5150_mb_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: ibm5160_mb_device(mconfig, tag, owner, clock),
- m_cassette(*this, CASSETTE_TAG)
+ m_cassette(*this, "cassette")
{
}
diff --git a/src/mess/machine/hec2hrp.c b/src/mess/machine/hec2hrp.c
index aad95422efb..c8cfbb2e802 100644
--- a/src/mess/machine/hec2hrp.c
+++ b/src/mess/machine/hec2hrp.c
@@ -56,8 +56,6 @@
static void Mise_A_Jour_Etat(running_machine &machine, int Adresse, int Value );
static void Update_Sound(address_space &space, UINT8 data);
-static cassette_image_device *cassette_device_image(running_machine &machine);
-
/* machine List
hec2hrp
victor
@@ -334,7 +332,7 @@ READ8_MEMBER(hec2hrp_state::hector_cassette_r)
if (m_write_cassette == 0)
{
/* Accee a la cassette*/
- level = (cassette_device_image(machine())->input());
+ level = m_cassette->input();
/* Travail du 741 en trigger*/
if (level < -0.08)
@@ -375,15 +373,15 @@ WRITE8_MEMBER(hec2hrp_state::hector_color_a_w)
/* Bit 6 => motor ON/OFF => for cassette state!*/
if (m_write_cassette==0)
{
- cassette_device_image(machine())->change_state(
+ m_cassette->change_state(
CASSETTE_MOTOR_ENABLED ,
CASSETTE_MASK_MOTOR);
- // cassette_device_image(machine())->set_state((cassette_state)(CASSETTE_PLAY | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED ));
+ // m_cassette->set_state((cassette_state)(CASSETTE_PLAY | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED ));
}
}
else
{ /* stop motor*/
- cassette_device_image(machine())->set_state(CASSETTE_STOPPED);
+ m_cassette->set_state(CASSETTE_STOPPED);
m_write_cassette=0;
m_counter_write =0;
}
@@ -398,15 +396,15 @@ WRITE8_MEMBER(hec2hrp_state::hector_color_a_w)
m_counter_write = 6;
if (m_write_cassette==0)
{ /* C'est la 1er fois => record*/
- cassette_device_image(machine())->change_state(
+ m_cassette->change_state(
CASSETTE_MOTOR_ENABLED ,
CASSETTE_MASK_MOTOR);
- cassette_device_image(machine())->set_state(CASSETTE_RECORD);
+ m_cassette->set_state(CASSETTE_RECORD);
m_write_cassette=1;
}
}
/* cassette data */
- cassette_device_image(machine())->output(((data & 0x80) == 0x80) ? -1.0 : +1.0);
+ m_cassette->output(((data & 0x80) == 0x80) ? -1.0 : +1.0);
}
/* Other bit : color definition*/
@@ -430,16 +428,6 @@ WRITE8_MEMBER(hec2hrp_state::hector_color_b_w)
}
-/******************************************************************************
- Cassette Handling
-******************************************************************************/
-
-static cassette_image_device *cassette_device_image(running_machine &machine)
-{
- return machine.device<cassette_image_device>(CASSETTE_TAG);
-}
-
-
/********************************************************************************
Port Handling
********************************************************************************/
diff --git a/src/mess/machine/lviv.c b/src/mess/machine/lviv.c
index 15dff21e5a4..478be330915 100644
--- a/src/mess/machine/lviv.c
+++ b/src/mess/machine/lviv.c
@@ -66,7 +66,7 @@ READ8_MEMBER(lviv_state::lviv_ppi_0_portb_r)
READ8_MEMBER(lviv_state::lviv_ppi_0_portc_r)
{
UINT8 data = m_ppi_port_outputs[0][2] & 0x0f;
- if (machine().device<cassette_image_device>(CASSETTE_TAG)->input() > 0.038)
+ if (m_cassette->input() > 0.038)
data |= 0x10;
if (m_ppi_port_outputs[0][0] & ioport("JOY")->read())
data |= 0x80;
@@ -89,7 +89,7 @@ WRITE8_MEMBER(lviv_state::lviv_ppi_0_portc_w)/* tape in/out, video memory on/off
m_ppi_port_outputs[0][2] = data;
if (m_ppi_port_outputs[0][1]&0x80)
speaker_level_w(m_speaker, data&0x01);
- machine().device<cassette_image_device>(CASSETTE_TAG)->output((data & 0x01) ? -1.0 : 1.0);
+ m_cassette->output((data & 0x01) ? -1.0 : 1.0);
lviv_update_memory(machine());
}
diff --git a/src/mess/machine/mbee.c b/src/mess/machine/mbee.c
index bc0d224f542..e94dfbcd9f5 100644
--- a/src/mess/machine/mbee.c
+++ b/src/mess/machine/mbee.c
@@ -42,7 +42,7 @@ WRITE8_MEMBER( mbee_state::pio_port_b_w )
d1 cass out and (on 256tc) keyboard irq
d0 cass in */
- m_cass->output((data & 0x02) ? -1.0 : +1.0);
+ m_cassette->output((data & 0x02) ? -1.0 : +1.0);
speaker_level_w(m_speaker, BIT(data, 6));
};
@@ -51,7 +51,7 @@ READ8_MEMBER( mbee_state::pio_port_b_r )
{
UINT8 data = 0;
- if (m_cass->input() > 0.03) data |= 1;
+ if (m_cassette->input() > 0.03) data |= 1;
data |= m_clock_pulse;
data |= m_mbee256_key_available;
diff --git a/src/mess/machine/microtan.c b/src/mess/machine/microtan.c
index 270df945820..18e719118f7 100644
--- a/src/mess/machine/microtan.c
+++ b/src/mess/machine/microtan.c
@@ -153,11 +153,6 @@ static void microtan_set_irq_line(running_machine &machine)
state->m_maincpu->set_input_line(0, state->m_via_0_irq_line | state->m_via_1_irq_line | state->m_kbd_irq_line);
}
-static cassette_image_device *cassette_device_image(running_machine &machine)
-{
- return machine.device<cassette_image_device>(CASSETTE_TAG);
-}
-
/**************************************************************
* VIA callback functions for VIA #0
**************************************************************/
@@ -212,7 +207,7 @@ WRITE8_MEMBER(microtan_state::via_0_out_b)
{
LOG(("microtan_via_0_out_b %02X\n", data));
/* bit #7 is the cassette output signal */
- cassette_device_image(machine())->output(data & 0x80 ? +1.0 : -1.0);
+ m_cassette->output(data & 0x80 ? +1.0 : -1.0);
}
WRITE8_MEMBER(microtan_state::via_0_out_ca2)
@@ -333,7 +328,7 @@ const via6522_interface microtan_via6522_1 =
TIMER_CALLBACK_MEMBER(microtan_state::microtan_read_cassette)
{
- double level = (cassette_device_image(machine()))->input();
+ double level = m_cassette->input();
via6522_device *via_0 = machine().device<via6522_device>("via6522_0");
LOG(("microtan_read_cassette: %g\n", level));
diff --git a/src/mess/machine/msx.c b/src/mess/machine/msx.c
index a7e769fef1f..2e15237d838 100644
--- a/src/mess/machine/msx.c
+++ b/src/mess/machine/msx.c
@@ -546,7 +546,7 @@ READ8_MEMBER(msx_state::msx_psg_port_a_r)
{
UINT8 data;
- data = (m_cass->input() > 0.0038 ? 0x80 : 0);
+ data = (m_cassette->input() > 0.0038 ? 0x80 : 0);
if ( (m_psg_b ^ m_io_dsw->read() ) & 0x40)
{
@@ -770,11 +770,11 @@ WRITE8_MEMBER( msx_state::msx_ppi_port_c_w )
/* cassette motor on/off */
if ( BIT(m_port_c_old ^ data, 4) )
- m_cass->change_state(BIT(data, 4) ? CASSETTE_MOTOR_DISABLED : CASSETTE_MOTOR_ENABLED, CASSETTE_MASK_MOTOR);
+ m_cassette->change_state(BIT(data, 4) ? CASSETTE_MOTOR_DISABLED : CASSETTE_MOTOR_ENABLED, CASSETTE_MASK_MOTOR);
/* cassette signal write */
if ( BIT(m_port_c_old ^ data, 5) )
- m_cass->output(BIT(data, 5) ? -1.0 : 1.0);
+ m_cassette->output(BIT(data, 5) ? -1.0 : 1.0);
m_port_c_old = data;
}
diff --git a/src/mess/machine/mtx.c b/src/mess/machine/mtx.c
index 8a67ae69503..f06b98242e9 100644
--- a/src/mess/machine/mtx.c
+++ b/src/mess/machine/mtx.c
@@ -135,7 +135,7 @@ WRITE8_MEMBER(mtx_state::mtx_sound_latch_w)
WRITE8_MEMBER(mtx_state::mtx_cst_w)
{
- dynamic_cast<cassette_image_device *>(machine().device(CASSETTE_TAG))->output( BIT(data, 0) ? -1 : 1);
+ m_cassette->output( BIT(data, 0) ? -1 : 1);
}
/*-------------------------------------------------
@@ -372,7 +372,6 @@ MACHINE_START_MEMBER(mtx_state,mtx512)
/* find devices */
m_z80ctc = machine().device<z80ctc_device>(Z80CTC_TAG);
m_z80dart = machine().device(Z80DART_TAG);
- m_cassette = machine().device<cassette_image_device>(CASSETTE_TAG);
/* configure memory */
membank("bank1")->set_base(memregion("user1")->base());
diff --git a/src/mess/machine/mz700.c b/src/mess/machine/mz700.c
index 5ff14e8f781..65b2a86c7e9 100644
--- a/src/mess/machine/mz700.c
+++ b/src/mess/machine/mz700.c
@@ -450,14 +450,13 @@ READ8_MEMBER(mz_state::pio_port_b_r)
*/
READ8_MEMBER(mz_state::pio_port_c_r)
{
- cassette_image_device *cas = machine().device<cassette_image_device>(CASSETTE_TAG);
UINT8 data = 0;
/* note: this is actually connected to Q output of the motor-control flip-flop (see below) */
- if ((cas->get_state() & CASSETTE_MASK_UISTATE) != CASSETTE_STOPPED)
+ if ((m_cassette->get_state() & CASSETTE_MASK_UISTATE) != CASSETTE_STOPPED)
data |= 0x10;
- if ((cas)->input() > 0.0038)
+ if ((m_cassette)->input() > 0.0038)
data |= 0x20; /* set the RDATA status */
data |= m_cursor_timer << 6;
@@ -493,7 +492,7 @@ WRITE8_MEMBER(mz_state::pio_port_c_w)
* bit 0 out unused
*/
-// UINT8 state = cassette_get_state(machine().device<cassette_image_device>(CASSETTE_TAG));
+// UINT8 state = cassette_get_state(m_cassette);
// UINT8 action = ((~pio_port_c_output & 8) & (data & 8)); /* detect low-to-high transition */
/* The motor control circuit consists of a resistor, capacitor, invertor, nand-gate, and D flip-flop.
@@ -506,7 +505,7 @@ WRITE8_MEMBER(mz_state::pio_port_c_w)
If you load from the command-line or the software-picker, type in L <enter> immediately. */
#if 0
- machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(
+ m_cassette->change_state(
((data & 0x08) && mz700_motor_on) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED,
CASSETTE_MOTOR_DISABLED);
@@ -514,7 +513,7 @@ WRITE8_MEMBER(mz_state::pio_port_c_w)
LOG(2,"mz700_pio_port_c_w",("%02X\n", data),machine());
- machine().device<cassette_image_device>(CASSETTE_TAG)->output((data & 0x02) ? +1.0 : -1.0);
+ m_cassette->output((data & 0x02) ? +1.0 : -1.0);
}
diff --git a/src/mess/machine/mz80.c b/src/mess/machine/mz80.c
index 6b9a2090950..2a243c2e683 100644
--- a/src/mess/machine/mz80.c
+++ b/src/mess/machine/mz80.c
@@ -38,9 +38,9 @@ READ8_MEMBER( mz80_state::mz80k_8255_portc_r )
UINT8 val = 0;
val |= m_mz80k_vertical ? 0x80 : 0x00;
val |= ((m_mz80k_cursor_cnt & 0x3f) > 31) ? 0x40 : 0x00;
- val |= (m_cass->get_state() & CASSETTE_MASK_UISTATE)== CASSETTE_PLAY ? 0x10 : 0x00;
+ val |= (m_cassette->get_state() & CASSETTE_MASK_UISTATE)== CASSETTE_PLAY ? 0x10 : 0x00;
- if (m_cass->input() > 0.00)
+ if (m_cassette->input() > 0.00)
val |= 0x20;
return val;
diff --git a/src/mess/machine/nascom1.c b/src/mess/machine/nascom1.c
index d82efa9e50a..d13d64088d5 100644
--- a/src/mess/machine/nascom1.c
+++ b/src/mess/machine/nascom1.c
@@ -110,7 +110,7 @@ READ8_MEMBER(nascom1_state::nascom1_port_00_r)
WRITE8_MEMBER(nascom1_state::nascom1_port_00_w)
{
- machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(
+ m_cassette->change_state(
( data & 0x10 ) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR );
if (!(data & NASCOM1_KEY_RESET))
diff --git a/src/mess/machine/orao.c b/src/mess/machine/orao.c
index 7bdd8d801ff..105c9cf5986 100644
--- a/src/mess/machine/orao.c
+++ b/src/mess/machine/orao.c
@@ -56,7 +56,7 @@ READ8_MEMBER(orao_state::orao_io_r)
case 0x03FF : return ioport("LINE19")->read();
/* Tape */
case 0x07FF :
- level = (machine().device<cassette_image_device>(CASSETTE_TAG)->input());
+ level = m_cassette->input();
if (level < 0) {
return 0x00;
}
diff --git a/src/mess/machine/pc.c b/src/mess/machine/pc.c
index 36c467272fd..a89a8a4bb3d 100644
--- a/src/mess/machine/pc.c
+++ b/src/mess/machine/pc.c
@@ -983,7 +983,7 @@ READ8_MEMBER(pc_state::mc1502_ppi_portc_r)
{
int timer2_output = pit8253_get_output( machine().device("pit8253"), 2 );
int data = 0xff;
- double tap_val = (machine().device<cassette_image_device>(CASSETTE_TAG)->input());
+ double tap_val = m_cassette->input();
// 0x80 -- serial RxD
// 0x40 -- CASS IN, also loops back T2OUT (gated by CASWR)
@@ -1046,7 +1046,7 @@ WRITE8_MEMBER(pc_state::pcjr_ppi_portb_w)
pit8253_gate2_w(machine().device("pit8253"), BIT(data, 0));
pc_speaker_set_spkrdata( machine(), data & 0x02 );
- machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(( data & 0x08 ) ? CASSETTE_MOTOR_DISABLED : CASSETTE_MOTOR_ENABLED,CASSETTE_MASK_MOTOR);
+ m_cassette->change_state(( data & 0x08 ) ? CASSETTE_MOTOR_DISABLED : CASSETTE_MOTOR_ENABLED,CASSETTE_MASK_MOTOR);
}
@@ -1086,7 +1086,7 @@ READ8_MEMBER(pc_state::pcjr_ppi_portc_r)
data = ( data & ~0x01 ) | ( pcjr_keyb.latch ? 0x01: 0x00 );
if ( ! ( m_ppi_portb & 0x08 ) )
{
- double tap_val = (machine().device<cassette_image_device>(CASSETTE_TAG)->input());
+ double tap_val = m_cassette->input();
if ( tap_val < 0 )
{
diff --git a/src/mess/machine/primo.c b/src/mess/machine/primo.c
index f702b348308..74d3e6c6f41 100644
--- a/src/mess/machine/primo.c
+++ b/src/mess/machine/primo.c
@@ -90,7 +90,7 @@ READ8_MEMBER(primo_state::primo_be_1_r)
// bit 3 - I3 (external bus)
// bit 2 - cassette
- data |= ((machine().device<cassette_image_device>(CASSETTE_TAG))->input() < 0.1) ? 0x04 : 0x00;
+ data |= (m_cassette->input() < 0.1) ? 0x04 : 0x00;
// bit 1 - reset button
data |= (ioport("RESET")->read()) ? 0x02 : 0x00;
@@ -155,14 +155,14 @@ WRITE8_MEMBER(primo_state::primo_ki_1_w)
switch (data & 0x03)
{
case 0:
- machine().device<cassette_image_device>(CASSETTE_TAG)->output(-1.0);
+ m_cassette->output(-1.0);
break;
case 1:
case 2:
- machine().device<cassette_image_device>(CASSETTE_TAG)->output(0.0);
+ m_cassette->output(0.0);
break;
case 3:
- machine().device<cassette_image_device>(CASSETTE_TAG)->output(1.0);
+ m_cassette->output(1.0);
break;
}
}
diff --git a/src/mess/machine/sorcerer.c b/src/mess/machine/sorcerer.c
index aa1bf2993d0..60e1ab6a767 100644
--- a/src/mess/machine/sorcerer.c
+++ b/src/mess/machine/sorcerer.c
@@ -29,18 +29,6 @@ TIMER_CALLBACK_MEMBER(sorcerer_state::sorcerer_serial_tc)
/* timer to read cassette waveforms */
-
-static cassette_image_device *cassette_device_image(running_machine &machine)
-{
- sorcerer_state *state = machine.driver_data<sorcerer_state>();
- if (state->m_fe & 0x20)
- return machine.device<cassette_image_device>(CASSETTE2_TAG);
- else
- return machine.device<cassette_image_device>(CASSETTE_TAG);
-}
-
-
-
TIMER_CALLBACK_MEMBER(sorcerer_state::sorcerer_cassette_tc)
{
UINT8 cass_ws = 0;
@@ -53,7 +41,7 @@ TIMER_CALLBACK_MEMBER(sorcerer_state::sorcerer_cassette_tc)
m_cass_data.input.length++;
- cass_ws = ((cassette_device_image(machine()))->input() > +0.02) ? 1 : 0;
+ cass_ws = ((((m_fe & 0x20) ? m_cassette2 : m_cassette1))->input() > +0.02) ? 1 : 0;
if (cass_ws != m_cass_data.input.level)
{
@@ -82,7 +70,7 @@ TIMER_CALLBACK_MEMBER(sorcerer_state::sorcerer_cassette_tc)
if (!((m_cass_data.output.bit == 0) && (m_cass_data.output.length & 4)))
{
m_cass_data.output.level ^= 1; // toggle output this, except on 2nd half of low bit
- cassette_device_image(machine())->output(m_cass_data.output.level ? -1.0 : +1.0);
+ ((m_fe & 0x20) ? m_cassette2 : m_cassette1)->output(m_cass_data.output.level ? -1.0 : +1.0);
}
}
return;
@@ -91,7 +79,7 @@ TIMER_CALLBACK_MEMBER(sorcerer_state::sorcerer_cassette_tc)
/* loading a tape */
m_cass_data.input.length++;
- cass_ws = ((cassette_device_image(machine()))->input() > +0.02) ? 1 : 0;
+ cass_ws = ((((m_fe & 0x20) ? m_cassette2 : m_cassette1))->input() > +0.02) ? 1 : 0;
if (cass_ws != m_cass_data.input.level || m_cass_data.input.length == 10)
{
@@ -122,7 +110,7 @@ TIMER_CALLBACK_MEMBER(sorcerer_state::sorcerer_cassette_tc)
if (!((m_cass_data.output.bit == 0) && (m_cass_data.output.length & 8)))
{
m_cass_data.output.level ^= 1; // toggle output this, except on 2nd half of low bit
- cassette_device_image(machine())->output(m_cass_data.output.level ? -1.0 : +1.0);
+ ((m_fe & 0x20) ? m_cassette2 : m_cassette1)->output(m_cass_data.output.level ? -1.0 : +1.0);
}
}
return;
@@ -176,18 +164,18 @@ WRITE8_MEMBER(sorcerer_state::sorcerer_fe_w)
bool sound = BIT(m_iop_config->read(), 3);
- m_cass1->change_state(
+ m_cassette1->change_state(
(BIT(data,4) & sound) ? CASSETTE_SPEAKER_ENABLED : CASSETTE_SPEAKER_MUTED, CASSETTE_MASK_SPEAKER);
- m_cass2->change_state(
+ m_cassette2->change_state(
(BIT(data,5) & sound) ? CASSETTE_SPEAKER_ENABLED : CASSETTE_SPEAKER_MUTED, CASSETTE_MASK_SPEAKER);
/* cassette 1 motor */
- m_cass1->change_state(
+ m_cassette1->change_state(
(BIT(data,4)) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
/* cassette 2 motor */
- m_cass2->change_state(
+ m_cassette2->change_state(
(BIT(data,5)) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
if (data & 0x30)
diff --git a/src/mess/machine/special.c b/src/mess/machine/special.c
index 5e564fc3b81..821cccb95e6 100644
--- a/src/mess/machine/special.c
+++ b/src/mess/machine/special.c
@@ -56,7 +56,7 @@ READ8_MEMBER( special_state::specialist_8255_portb_r )
dat = (dat << 2) ^0xff;
if (m_io_line12->read()!=0xff) dat ^= 0x02;
- level = m_cass->input();
+ level = m_cassette->input();
if (level >= 0)
dat ^= 0x01;
@@ -86,7 +86,7 @@ WRITE8_MEMBER( special_state::specialist_8255_portc_w )
{
m_specialist_8255_portc = data;
- m_cass->output(BIT(data, 7) ? 1 : -1);
+ m_cassette->output(BIT(data, 7) ? 1 : -1);
m_dac->write_unsigned8(BIT(data, 5)); //beeper
}
diff --git a/src/mess/machine/super80.c b/src/mess/machine/super80.c
index 8f25391b1f4..73c5649985b 100644
--- a/src/mess/machine/super80.c
+++ b/src/mess/machine/super80.c
@@ -53,15 +53,15 @@ static void super80_cassette_motor( running_machine &machine, UINT8 data )
{
super80_state *state = machine.driver_data<super80_state>();
if (data)
- state->m_cass->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR);
+ state->m_cassette->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR);
else
- state->m_cass->change_state(CASSETTE_MOTOR_ENABLED,CASSETTE_MASK_MOTOR);
+ state->m_cassette->change_state(CASSETTE_MOTOR_ENABLED,CASSETTE_MASK_MOTOR);
/* does user want to hear the sound? */
if BIT(state->m_io_config->read(), 3)
- state->m_cass->change_state(CASSETTE_SPEAKER_ENABLED,CASSETTE_MASK_SPEAKER);
+ state->m_cassette->change_state(CASSETTE_SPEAKER_ENABLED,CASSETTE_MASK_SPEAKER);
else
- state->m_cass->change_state(CASSETTE_SPEAKER_MUTED,CASSETTE_MASK_SPEAKER);
+ state->m_cassette->change_state(CASSETTE_SPEAKER_MUTED,CASSETTE_MASK_SPEAKER);
}
/********************************************* TIMER ************************************************/
@@ -90,7 +90,7 @@ TIMER_CALLBACK_MEMBER(super80_state::super80_timer)
UINT8 cass_ws=0;
m_cass_data[1]++;
- cass_ws = ((m_cass)->input() > +0.03) ? 4 : 0;
+ cass_ws = ((m_cassette)->input() > +0.03) ? 4 : 0;
if (cass_ws != m_cass_data[0])
{
@@ -185,7 +185,7 @@ WRITE8_MEMBER( super80_state::super80_f0_w )
m_shared = data;
speaker_level_w(m_speaker, BIT(data, 3)); /* bit 3 - speaker */
if (BIT(bits, 1)) super80_cassette_motor(machine(), BIT(data, 1)); /* bit 1 - cassette motor */
- m_cass->output( BIT(data, 0) ? -1.0 : +1.0); /* bit 0 - cass out */
+ m_cassette->output( BIT(data, 0) ? -1.0 : +1.0); /* bit 0 - cass out */
m_last_data = data;
}
@@ -196,7 +196,7 @@ WRITE8_MEMBER( super80_state::super80r_f0_w )
m_shared = data | 0x14;
speaker_level_w(m_speaker, BIT(data, 3)); /* bit 3 - speaker */
if (BIT(bits, 1)) super80_cassette_motor(machine(), BIT(data, 1)); /* bit 1 - cassette motor */
- m_cass->output( BIT(data, 0) ? -1.0 : +1.0); /* bit 0 - cass out */
+ m_cassette->output( BIT(data, 0) ? -1.0 : +1.0); /* bit 0 - cass out */
m_last_data = data;
}
diff --git a/src/mess/machine/trs80.c b/src/mess/machine/trs80.c
index 5d14d2dcfdd..623a79a88ec 100644
--- a/src/mess/machine/trs80.c
+++ b/src/mess/machine/trs80.c
@@ -27,7 +27,7 @@ TIMER_CALLBACK_MEMBER(trs80_state::cassette_data_callback)
/* This does all baud rates. 250 baud (trs80), and 500 baud (all others) set bit 7 of "cassette_data".
1500 baud (trs80m3, trs80m4) is interrupt-driven and uses bit 0 of "cassette_data" */
- double new_val = (m_cass->input());
+ double new_val = (m_cassette->input());
/* Check for HI-LO transition */
if ( m_old_cassette_val > -0.2 && new_val < -0.2 )
@@ -483,7 +483,7 @@ WRITE8_MEMBER( trs80_state::trs80m4_ec_w )
m_mode = (m_mode & 0xde) | ((data & 4) ? 1 : 0) | ((data & 8) ? 0x20 : 0);
- m_cass->change_state(( data & 2 ) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR );
+ m_cassette->change_state(( data & 2 ) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR );
m_port_ec = data & 0x7e;
}
@@ -594,8 +594,8 @@ WRITE8_MEMBER( trs80_state::trs80_ff_w )
static const double levels[4] = { 0.0, -1.0, 0.0, 1.0 };
- m_cass->change_state(( data & 4 ) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR );
- m_cass->output(levels[data & 3]);
+ m_cassette->change_state(( data & 4 ) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR );
+ m_cassette->output(levels[data & 3]);
m_cassette_data &= ~0x80;
m_mode = (m_mode & 0xfe) | ((data & 8) >> 3);
@@ -611,7 +611,7 @@ WRITE8_MEMBER( trs80_state::trs80m4_ff_w )
d1, d0 Cassette output */
static const double levels[4] = { 0.0, -1.0, 0.0, 1.0 };
- m_cass->output(levels[data & 3]);
+ m_cassette->output(levels[data & 3]);
m_cassette_data &= ~0x80;
}
diff --git a/src/mess/machine/ut88.c b/src/mess/machine/ut88.c
index dcd2a623fa4..33fe96d9b94 100644
--- a/src/mess/machine/ut88.c
+++ b/src/mess/machine/ut88.c
@@ -96,13 +96,13 @@ WRITE8_MEMBER( ut88_state::ut88_keyboard_w )
WRITE8_MEMBER( ut88_state::ut88_sound_w )
{
m_dac->write_unsigned8(data); //beeper
- m_cass->output(BIT(data, 0) ? 1 : -1);
+ m_cassette->output(BIT(data, 0) ? 1 : -1);
}
READ8_MEMBER( ut88_state::ut88_tape_r )
{
- double level = m_cass->input();
+ double level = m_cassette->input();
return (level < 0) ? 0 : 0xff;
}
diff --git a/src/mess/machine/vector06.c b/src/mess/machine/vector06.c
index 2ac6b26ea3a..597fac60848 100644
--- a/src/mess/machine/vector06.c
+++ b/src/mess/machine/vector06.c
@@ -28,7 +28,7 @@ READ8_MEMBER( vector06_state::vector06_8255_portc_r )
{
UINT8 ret = ioport("LINE8")->read();
- if (m_cass->input() > 0)
+ if (m_cassette->input() > 0)
ret |= 0x10;
return ret;
diff --git a/src/mess/machine/vtech2.c b/src/mess/machine/vtech2.c
index c5532718c7f..45d9248c97e 100644
--- a/src/mess/machine/vtech2.c
+++ b/src/mess/machine/vtech2.c
@@ -174,11 +174,6 @@ WRITE8_MEMBER(vtech2_state::laser_bank_select_w)
}
}
-static cassette_image_device *vtech2_cassette_image(running_machine &machine)
-{
- return machine.device<cassette_image_device>(CASSETTE_TAG);
-}
-
/*************************************************
* memory mapped I/O read
* bit function
@@ -253,7 +248,7 @@ int vtech2_state::mra_bank(int bank, int offs)
}
/* what's bit 7 good for? tape input maybe? */
- level = (vtech2_cassette_image(machine()))->input() * 65536.0;
+ level = m_cassette->input() * 65536.0;
if( level < m_level_old - 511 )
m_cassette_bit = 0x00;
if( level > m_level_old + 511 )