summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Curt Coder <curtcoder@mail.com>2013-02-06 20:39:31 +0000
committer Curt Coder <curtcoder@mail.com>2013-02-06 20:39:31 +0000
commit31257a208a36f85532a35789b0335e6520c543f5 (patch)
treedb2aecefe62a21588fe97d5fd9b4eebf2046f8cb
parent871d4c7ac6dd7066e1f4cbc6303d92ce415c3a19 (diff)
(MESS) Refactored all drivers to use the new MOS6551 and removed the old implementation. (nw)
-rw-r--r--.gitattributes2
-rw-r--r--src/emu/emu.mak1
-rw-r--r--src/emu/machine/6551acia.c505
-rw-r--r--src/emu/machine/6551acia.h65
-rw-r--r--src/mame/drivers/cops.c10
-rw-r--r--src/mess/drivers/aim65_40.c6
-rw-r--r--src/mess/drivers/apple3.c4
-rw-r--r--src/mess/drivers/clcd.c6
-rw-r--r--src/mess/drivers/concept.c4
-rw-r--r--src/mess/drivers/dgn_beta.c2
-rw-r--r--src/mess/drivers/digel804.c12
-rw-r--r--src/mess/drivers/dragon.c6
-rw-r--r--src/mess/drivers/ec65.c6
-rw-r--r--src/mess/drivers/microtan.c6
-rw-r--r--src/mess/drivers/mits680b.c4
-rw-r--r--src/mess/drivers/mmodular.c6
-rw-r--r--src/mess/drivers/oric.c4
-rw-r--r--src/mess/drivers/rvoice.c6
-rw-r--r--src/mess/drivers/thomson.c18
-rw-r--r--src/mess/formats/m65_snqk.c2
-rw-r--r--src/mess/includes/concept.h6
-rw-r--r--src/mess/includes/dragon.h4
-rw-r--r--src/mess/includes/oric.h2
-rw-r--r--src/mess/includes/plus4.h2
-rw-r--r--src/mess/includes/thomson.h2
-rw-r--r--src/mess/machine/a2ssc.c2
-rw-r--r--src/mess/machine/a2ssc.h4
-rw-r--r--src/mess/machine/apple3.c6
-rw-r--r--src/mess/machine/coco_232.c2
-rw-r--r--src/mess/machine/coco_232.h4
-rw-r--r--src/mess/machine/dgn_beta.c2
-rw-r--r--src/mess/machine/microtan.c2
32 files changed, 70 insertions, 643 deletions
diff --git a/.gitattributes b/.gitattributes
index f429cd2dcd3..9cc7df0aa91 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1114,8 +1114,6 @@ src/emu/machine/6526cia.c svneol=native#text/plain
src/emu/machine/6526cia.h svneol=native#text/plain
src/emu/machine/6532riot.c svneol=native#text/plain
src/emu/machine/6532riot.h svneol=native#text/plain
-src/emu/machine/6551acia.c svneol=native#text/plain
-src/emu/machine/6551acia.h svneol=native#text/plain
src/emu/machine/6821pia.c svneol=native#text/plain
src/emu/machine/6821pia.h svneol=native#text/plain
src/emu/machine/6840ptm.c svneol=native#text/plain
diff --git a/src/emu/emu.mak b/src/emu/emu.mak
index 3e62d08b914..f776f2fbe0a 100644
--- a/src/emu/emu.mak
+++ b/src/emu/emu.mak
@@ -147,7 +147,6 @@ EMUMACHINEOBJS = \
$(EMUMACHINE)/6525tpi.o \
$(EMUMACHINE)/6526cia.o \
$(EMUMACHINE)/6532riot.o \
- $(EMUMACHINE)/6551acia.o \
$(EMUMACHINE)/6821pia.o \
$(EMUMACHINE)/6840ptm.o \
$(EMUMACHINE)/6850acia.o \
diff --git a/src/emu/machine/6551acia.c b/src/emu/machine/6551acia.c
deleted file mode 100644
index 80771f0356c..00000000000
--- a/src/emu/machine/6551acia.c
+++ /dev/null
@@ -1,505 +0,0 @@
-/*********************************************************************
-
- 6551.h
-
- MOS Technology 6551 Asynchronous Communications Interface Adapter
-
- A1 A0 Write Read
- 0 0 Transmit Data Register Receiver Data Register
- 0 1 Programmed Reset Status Register
- 1 0 Command Register
- 1 1 Control Register
-
-*********************************************************************/
-
-#include "emu.h"
-#include "6551acia.h"
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-const device_type ACIA6551 = &device_creator<acia6551_device>;
-
-//-------------------------------------------------
-// acia6551_device - constructor
-//-------------------------------------------------
-
-acia6551_device::acia6551_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, ACIA6551, "MOS Technology 6551 ACIA", tag, owner, clock),
- device_serial_interface(mconfig, *this)
-{
-}
-
-/***************************************************************************
- IMPLEMENTATION
-***************************************************************************/
-
-/*-------------------------------------------------
- input_callback - called when other side
- has updated state
--------------------------------------------------*/
-void acia6551_device::input_callback(UINT8 state)
-{
- m_input_state = state;
-}
-
-/*-------------------------------------------------
- timer_callback
--------------------------------------------------*/
-void acia6551_device::timer_callback()
-{
- /* get bit received from other side and update receive register */
- receive_register_update_bit(get_in_data_bit());
-
- if (is_receive_register_full())
- {
- receive_register_extract();
- receive_character(get_received_char());
- }
-
- /* transmit register full? */
- if ((m_status_register & (1<<4))==0)
- {
- /* if transmit reg is empty */
- if (is_transmit_register_empty())
- {
- /* set it up */
- transmit_register_setup(m_transmit_data_register);
- /* acia transmit reg now empty */
- m_status_register |=(1<<4);
- /* and refresh ints */
- refresh_ints();
- }
- }
-
- /* if transmit is not empty... transmit data */
- if (!is_transmit_register_empty())
- {
- // logerror("UART6551\n");
- transmit_register_send_bit();
- }
-}
-
-static TIMER_CALLBACK(acia_6551_timer_callback)
-{
- reinterpret_cast<acia6551_device *>(ptr)->timer_callback();
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void acia6551_device::device_start()
-{
- /* transmit data reg is empty */
- m_status_register = (1<<4);
- m_timer = machine().scheduler().timer_alloc(FUNC(acia_6551_timer_callback), (void *) this);
-
- transmit_register_reset();
- receive_register_reset();
-}
-
-
-
-/*-------------------------------------------------
- refresh_ints - update interrupt output
--------------------------------------------------*/
-
-void acia6551_device::refresh_ints()
-{
- int interrupt_state;
-
- interrupt_state = 0;
-
- /* receive interrupts */
-
- /* receive data register full? */
- if (m_status_register & (1<<3))
- {
- /* receiver interrupt enable? */
- if ((m_command_register & (1<<1))==0)
- {
- /* trigger a interrupt */
- interrupt_state = 1;
- }
- }
-
- /* set state of irq bit in status register */
- m_status_register &= ~(1<<7);
-
- if (interrupt_state)
- {
- m_status_register |=(1<<7);
- }
-
- //if (m_irq_callback != NULL)
- //(*m_irq_callback)(interrupt_state);
-}
-
-
-
-/*-------------------------------------------------
- receive_character
--------------------------------------------------*/
-
-void acia6551_device::receive_character(UINT8 ch)
-{
- /* receive register full? */
- if (m_status_register & (1<<3))
- {
- /* set overrun error */
- m_status_register |= (1<<2);
- return;
- }
-
- /* set new byte */
- m_receive_data_register = ch;
- /* receive register is full */
- m_status_register |= (1<<3);
- /* update ints */
- refresh_ints();
-}
-
-
-
-/*-------------------------------------------------
- read
--------------------------------------------------*/
-
-READ8_MEMBER(acia6551_device::read)
-{
- unsigned char data;
-
- data = 0x0ff;
- switch (offset & 0x03)
- {
- case 0:
- {
- /* clear parity error, framing error and overrun error */
- /* when read of data reigster is done */
- m_status_register &=~((1<<0) | (1<<1) | (1<<2));
- /* clear receive data register full flag */
- m_status_register &=~(1<<3);
- /* return data */
- data = m_receive_data_register;
- }
- break;
-
- /*
- Status cleared by
- b0 Parity error * (1: error) self clearing **
- b1 Framing error * (1: error) self clearing **
- b2 Overrun * (1: error) self clearing **
- b3 Receive Data Register Full (1: full) Read Receive Data Register
- b4 Transmit Data Reg Empty (1: empty) Write Transmit Data Register
- b5 DCD (0: DCD low, 1: DCD high) Not resettable, reflects DCD state
- b6 DSR (0: DSR low, 1: DCD high) Not resettable, reflects DSR state
- b7 IRQ (0: no int., 1: interrupt) Read Status Register
- */
- case 1:
- {
- data = m_status_register;
- /* clear interrupt */
- m_status_register &= ~(1<<7);
- }
- break;
-
- case 2:
- data = m_command_register;
- break;
-
- case 3:
- data = m_control_register;
- break;
-
- default:
- break;
- }
-
- //logerror("6551 R %04x %02x\n",offset & 0x03,data);
-
- return data;
-}
-
-
-
-/*-------------------------------------------------
- update_data_form
--------------------------------------------------*/
-
-void acia6551_device::update_data_form()
-{
- int word_length = 8-((m_control_register>>5) & 0x03);
- int stop_bit_count = (m_control_register>>7)+1;
- int parity = 0;
- if (m_command_register & (1<<5))
- {
- parity = SERIAL_PARITY_ODD;
- }
- else
- {
- parity = SERIAL_PARITY_NONE;
- }
-
- set_data_frame(word_length, stop_bit_count, parity);
-}
-
-
-
-/*-------------------------------------------------
- write
--------------------------------------------------*/
-
-WRITE8_MEMBER(acia6551_device::write)
-{
- //logerror("6551 W %04x %02x\n",offset & 0x03, data);
-
- switch (offset & 0x03)
- {
- case 0:
- {
- /* clear transmit data register empty */
- m_status_register &= ~(1<<4);
- /* store byte */
- m_transmit_data_register = data;
-
- }
- break;
-
- case 1:
- {
- /* telstrat writes 0x07f! */
- }
- break;
-
-
- /*
- Command Register:
-
- b0 Data Terminal Ready
- 0 : disable receiver and all interrupts (DTR high)
- 1 : enable receiver and all interrupts (DTR low)
- b1 Receiver Interrupt Enable
- 0 : IRQ interrupt enabled from bit 3 of status register
- 1 : IRQ interrupt disabled
- b3,b2 Transmitter Control
- Transmit Interrupt RTS level Transmitter
- 00 disabled high off
- 01 enabled low on
- 10 disabled low on
- 11 disabled low Transmit BRK
- b4 Normal/Echo Mode for Receiver
- 0 : normal
- 1 : echo (bits 2 and 3 must be 0)
- b5 Parity Enable
- 0 : parity disabled, no parity bit generated or received
- 1 : parity enabled
- b7,b6 Parity
- 00 : odd parity receiver and transmitter
- 01 : even parity receiver and transmitter
- 10 : mark parity bit transmitted, parity check disabled
- 11 : space parity bit transmitted, parity check disabled
- */
-
- case 2:
- {
- m_command_register = data;
-
- /* update state of dtr */
- m_connection_state &=~SERIAL_STATE_DTR;
- if (m_command_register & (1<<0))
- {
- m_connection_state |=SERIAL_STATE_DTR;
- }
-
- /* update state of rts */
- switch ((m_command_register>>2) & 0x03)
- {
- case 0:
- {
- m_connection_state &=~SERIAL_STATE_RTS;
- }
- break;
-
- case 1:
- case 2:
- case 3:
- {
- m_connection_state |=SERIAL_STATE_RTS;
- }
- break;
- }
-
- serial_connection_out();
- update_data_form();
- }
- break;
-
- /*
- Control register:
-
- b3-b0 baud rate generator:
- 0000 : 16x external clock
- 0001 : 50 baud
- 0010 : 75 25
- 0011 : 110 35
- 0100 : 134.5
- 0101 : 150
- 0110 : 300 150
- 0111 : 600 300
- 1000 : 1200 600
- 1001 : 1800 600
- 1010 : 2400 600
- 1011 : 3600 1200
- 1100 : 4800 1200
- 1101 : 7200 2400
- 1110 : 9600 2400
- 1111 : 19,200 9600
- b4 receiver clock source
- 0 : external receiver clock
- 1 : baud rate generator
- b6,b5 word length
- 00 : 8 bits
- 01 : 7
- 10 : 6
- 11 : 5
- b7 stop bits
- 0 : 1 stop bit
- 1 : 2 stop bits
- (1 stop bit if parity and word length = 8)
- (1 1/2 stop bits if word length = 5 and no parity)
- */
- case 3:
- {
- unsigned char previous_control_register;
-
- previous_control_register = m_control_register;
-
- if (((previous_control_register^data) & 0x07)!=0)
- {
- int rate;
-
- rate = data & 0x07;
-
- /* baud rate changed? */
- m_timer->reset();
-
- if (rate==0)
- {
- /* 16x external clock */
- logerror("6551: external clock not supported!\n");
- }
- else
- {
- int baud_rate;
-
- switch (rate)
- {
- default:
- case 1:
- {
- baud_rate = 50;
- }
- break;
-
- case 2:
- {
- baud_rate = 75;
- }
- break;
-
- case 3:
- {
- baud_rate = 110;
- }
- break;
-
- case 4:
- {
- baud_rate = 135;
- }
- break;
-
- case 5:
- {
- baud_rate = 150;
- }
- break;
-
- case 6:
- {
- baud_rate = 300;
- }
- break;
-
- case 7:
- {
- baud_rate = 600;
- }
- break;
-
- case 8:
- {
- baud_rate = 1200;
- }
- break;
-
- case 9:
- {
- baud_rate = 1800;
- }
- break;
-
- case 10:
- {
- baud_rate = 2400;
- }
- break;
-
- case 11:
- {
- baud_rate = 3600;
- }
- break;
-
- case 12:
- {
- baud_rate = 4800;
- }
- break;
-
- case 13:
- {
- baud_rate = 7200;
- }
- break;
-
- case 14:
- {
- baud_rate = 9600;
- }
- break;
-
- case 15:
- {
- baud_rate = 19200;
- }
- break;
- }
-
- m_timer->adjust(attotime::zero, 0, attotime::from_hz(baud_rate));
- }
- }
-
- m_control_register = data;
- update_data_form();
- }
- break;
-
- default:
- break;
- }
-
-}
diff --git a/src/emu/machine/6551acia.h b/src/emu/machine/6551acia.h
deleted file mode 100644
index 3c8e324f1a5..00000000000
--- a/src/emu/machine/6551acia.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*********************************************************************
-
- 6551.h
-
- MOS Technology 6551 Asynchronous Communications Interface Adapter
-
-*********************************************************************/
-
-#ifndef __6551_H__
-#define __6551_H__
-
-//**************************************************************************
-// INTERFACE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_ACIA6551_ADD(_tag) \
- MCFG_DEVICE_ADD((_tag), ACIA6551, 0)
-
-
-/***************************************************************************
- TYPE DEFINITIONS
-***************************************************************************/
-
-// ======================> acia6551_device
-
-class acia6551_device : public device_t,
- public device_serial_interface
-{
-public:
- // construction/destruction
- acia6551_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
- /* read data register */
- DECLARE_READ8_MEMBER(read);
-
- /* write data register */
- DECLARE_WRITE8_MEMBER(write);
-
- void receive_character(UINT8 ch);
-
- void timer_callback();
-
- virtual void input_callback(UINT8 state);
-protected:
- // device-level overrides
- virtual void device_start();
-
- void refresh_ints();
- void update_data_form();
-
-private:
- UINT8 m_transmit_data_register;
- UINT8 m_receive_data_register;
- UINT8 m_status_register;
- UINT8 m_command_register;
- UINT8 m_control_register;
-
- /* internal baud rate timer */
- emu_timer *m_timer;
-};
-
-// device type definition
-extern const device_type ACIA6551;
-
-#endif /* __6551_H__ */
diff --git a/src/mame/drivers/cops.c b/src/mame/drivers/cops.c
index 602b1ef122f..c476f2b2143 100644
--- a/src/mame/drivers/cops.c
+++ b/src/mame/drivers/cops.c
@@ -11,7 +11,7 @@
#include "emu.h"
#include "cpu/m6502/m6502.h"
#include "machine/6522via.h"
-//#include "machine/6551acia.h"
+//#include "machine/mos6551.h"
#include "cops.lh"
@@ -564,8 +564,8 @@ static ADDRESS_MAP_START( cops_map, AS_PROGRAM, 8, cops_state )
AM_RANGE(0xb000, 0xb00f) AM_DEVREADWRITE("via6522_1", via6522_device, read, write) /* VIA 1 */
AM_RANGE(0xb800, 0xb80f) AM_DEVREADWRITE("via6522_2", via6522_device, read, write) /* VIA 2 */
AM_RANGE(0xc000, 0xcfff) AM_READWRITE(io2_r, io2_w)
-// AM_RANGE(0xd000, 0xd003) AM_DEVREADWRITE("acia6551_1", acia6551_device, read, write )
-// AM_RANGE(0xd004, 0xd007) AM_DEVREADWRITE("acia6551_2", acia6551_device, read, write )
+// AM_RANGE(0xd000, 0xd003) AM_DEVREADWRITE("acia6551_1", mos6551_device, read, write )
+// AM_RANGE(0xd004, 0xd007) AM_DEVREADWRITE("acia6551_2", mos6551_device, read, write )
AM_RANGE(0xd000, 0xd007) AM_READWRITE(dacia_r, dacia_w)
AM_RANGE(0xd800, 0xd80f) AM_DEVREADWRITE("via6522_3", via6522_device, read, write) /* VIA 3 */
AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("system", 0)
@@ -644,8 +644,8 @@ static MACHINE_CONFIG_START( cops, cops_state )
MCFG_VIA6522_ADD("via6522_3", 0, via_3_interface)
/* acia */
-// MCFG_ACIA6551_ADD("acia6551_1")
-// MCFG_ACIA6551_ADD("acia6551_2")
+// MCFG_MOS6551_ADD("acia6551_1", XTAL_1_8432MHz, NULL)
+// MCFG_MOS6551_ADD("acia6551_2", XTAL_1_8432MHz, NULL)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/aim65_40.c b/src/mess/drivers/aim65_40.c
index 4d6b0fdaa87..4bd3affd2c0 100644
--- a/src/mess/drivers/aim65_40.c
+++ b/src/mess/drivers/aim65_40.c
@@ -48,7 +48,7 @@ The source code there implies that *maybe* ff7e and ff7f are also open bus.
#include "includes/aim65_40.h"
#include "cpu/m6502/m6502.h"
#include "machine/6522via.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "aim65_40.lh"
/***************************************************************************
@@ -61,7 +61,7 @@ static ADDRESS_MAP_START( aim65_40_mem, AS_PROGRAM, 8, aim65_40_state )
AM_RANGE(0xffa0, 0xffaf) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write)
AM_RANGE(0xffb0, 0xffbf) AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write)
AM_RANGE(0xffc0, 0xffcf) AM_DEVREADWRITE(M6522_2_TAG, via6522_device, read, write)
- AM_RANGE(0xffd0, 0xffd3) AM_DEVREADWRITE(M6551_TAG, acia6551_device, read, write)
+ AM_RANGE(0xffd0, 0xffd3) AM_DEVREADWRITE(M6551_TAG, mos6551_device, read, write)
AM_RANGE(0xffe0, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -145,7 +145,7 @@ static MACHINE_CONFIG_START( aim65_40, aim65_40_state )
MCFG_VIA6522_ADD(M6522_0_TAG, 0, user_via_intf)
MCFG_VIA6522_ADD(M6522_1_TAG, 0, system_via_intf)
MCFG_VIA6522_ADD(M6522_2_TAG, 0, kb_via_intf)
- MCFG_ACIA6551_ADD(M6551_TAG)
+ MCFG_MOS6551_ADD(M6551_TAG, XTAL_1_8432MHz, NULL)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mess/drivers/apple3.c b/src/mess/drivers/apple3.c
index 0d68d2d6779..ecd2e0128bb 100644
--- a/src/mess/drivers/apple3.c
+++ b/src/mess/drivers/apple3.c
@@ -16,7 +16,7 @@
#include "includes/apple2.h"
#include "imagedev/flopdrv.h"
#include "formats/ap2_dsk.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "machine/6522via.h"
#include "machine/a2bus.h"
#include "machine/ram.h"
@@ -98,7 +98,7 @@ static MACHINE_CONFIG_START( apple3, apple3_state )
MCFG_APPLEFDC_ADD("fdc", apple3_fdc_interface)
MCFG_LEGACY_FLOPPY_APPLE_4_DRIVES_ADD(apple3_floppy_interface,1,4)
/* acia */
- MCFG_ACIA6551_ADD("acia")
+ MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
/* via */
MCFG_VIA6522_ADD("via6522_0", 1000000, apple3_via_0_intf)
diff --git a/src/mess/drivers/clcd.c b/src/mess/drivers/clcd.c
index 1ef5b52d69c..1bbf5101d44 100644
--- a/src/mess/drivers/clcd.c
+++ b/src/mess/drivers/clcd.c
@@ -12,7 +12,7 @@
#include "emu.h"
#include "cpu/m6502/m65c02.h"
#include "machine/6522via.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "rendlay.h"
class clcd_state : public driver_device
@@ -178,7 +178,7 @@ private:
static ADDRESS_MAP_START( clcd_mem, AS_PROGRAM, 8, clcd_state )
AM_RANGE(0xf800, 0xf80f) AM_DEVREADWRITE("via0", via6522_device, read, write)
AM_RANGE(0xf880, 0xf88f) AM_DEVREADWRITE("via1", via6522_device, read, write)
- AM_RANGE(0xf980, 0xf981) AM_DEVREADWRITE("acia", acia6551_device, read, write)
+ AM_RANGE(0xf980, 0xf981) AM_DEVREADWRITE("acia", mos6551_device, read, write)
AM_RANGE(0xff00, 0xff00) AM_WRITE(rombank_w)
AM_RANGE(0xff80, 0xff83) AM_WRITE(rambank_w)
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("ram")
@@ -345,7 +345,7 @@ static MACHINE_CONFIG_START( clcd, clcd_state )
MCFG_VIA6522_ADD("via0", 0, via0_intf)
MCFG_VIA6522_ADD("via1", 0, via1_intf)
- MCFG_ACIA6551_ADD("acia")
+ MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
diff --git a/src/mess/drivers/concept.c b/src/mess/drivers/concept.c
index 06406b2b48e..47d831a6d33 100644
--- a/src/mess/drivers/concept.c
+++ b/src/mess/drivers/concept.c
@@ -146,8 +146,8 @@ static MACHINE_CONFIG_START( concept, concept_state )
MCFG_VIA6522_ADD("via6522_0", 1022750, concept_via6522_intf)
/* ACIAs */
- MCFG_ACIA6551_ADD(ACIA_0_TAG)
- MCFG_ACIA6551_ADD(ACIA_1_TAG)
+ MCFG_MOS6551_ADD(ACIA_0_TAG, XTAL_1_8432MHz, NULL)
+ MCFG_MOS6551_ADD(ACIA_1_TAG, XTAL_1_8432MHz, NULL)
MCFG_FD1793_ADD("wd179x", concept_wd17xx_interface )
diff --git a/src/mess/drivers/dgn_beta.c b/src/mess/drivers/dgn_beta.c
index 942759adab9..88eeb746d38 100644
--- a/src/mess/drivers/dgn_beta.c
+++ b/src/mess/drivers/dgn_beta.c
@@ -42,7 +42,7 @@ documentation still exists.
#include "cpu/m6809/m6809.h"
#include "machine/6821pia.h"
#include "includes/dgn_beta.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "formats/coco_dsk.h"
#include "imagedev/flopdrv.h"
#include "machine/ram.h"
diff --git a/src/mess/drivers/digel804.c b/src/mess/drivers/digel804.c
index 290cd70aea2..0ace9a678fe 100644
--- a/src/mess/drivers/digel804.c
+++ b/src/mess/drivers/digel804.c
@@ -60,7 +60,7 @@
#include "machine/terminal.h"
#include "sound/speaker.h"
#include "machine/roc10937.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "machine/mm74c922.h"
#include "machine/ram.h"
#include "digel804.lh"
@@ -84,7 +84,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<generic_terminal_device> m_terminal;
required_device<speaker_sound_device> m_speaker;
- required_device<acia6551_device> m_acia;
+ required_device<mos6551_device> m_acia;
required_device<roc10937_t> m_vfd;
required_device<mm74c922_device> m_kb;
required_device<ram_device> m_ram;
@@ -480,7 +480,7 @@ static ADDRESS_MAP_START(z80_io_1_4, AS_IO, 8, digel804_state)
AM_RANGE(0x85, 0x85) AM_MIRROR(0x38) AM_READ(acia_command_r) // (ACIA command reg)
AM_RANGE(0x86, 0x86) AM_MIRROR(0x38) AM_WRITE(acia_control_w) // (ACIA control reg)
AM_RANGE(0x87, 0x87) AM_MIRROR(0x38) AM_READ(acia_control_r) // (ACIA control reg)
- //AM_RANGE(0x80,0x87) AM_MIRROR(0x38) AM_SHIFT(-1) AM_DEVREADWRITE("acia", acia6551_device, read, write) // this doesn't work since we lack an AM_SHIFT command
+ //AM_RANGE(0x80,0x87) AM_MIRROR(0x38) AM_SHIFT(-1) AM_DEVREADWRITE("acia", mos6551_device, read, write) // this doesn't work since we lack an AM_SHIFT command
ADDRESS_MAP_END
@@ -507,7 +507,7 @@ static ADDRESS_MAP_START(z80_io_1_2, AS_IO, 8, digel804_state)
AM_RANGE(0x85, 0x85) AM_MIRROR(0x38) AM_READ(acia_command_r) // (ACIA command reg)
AM_RANGE(0x86, 0x86) AM_MIRROR(0x38) AM_WRITE(acia_control_w) // (ACIA control reg)
AM_RANGE(0x87, 0x87) AM_MIRROR(0x38) AM_READ(acia_control_r) // (ACIA control reg)
- //AM_RANGE(0x80,0x87) AM_MIRROR(0x38) AM_SHIFT(-1) AM_DEVREADWRITE("acia", acia6551_device, read, write) // this doesn't work since we lack an AM_SHIFT command
+ //AM_RANGE(0x80,0x87) AM_MIRROR(0x38) AM_SHIFT(-1) AM_DEVREADWRITE("acia", mos6551_device, read, write) // this doesn't work since we lack an AM_SHIFT command
ADDRESS_MAP_END
@@ -561,7 +561,7 @@ INPUT_PORTS_END
******************************************************************************/
WRITE8_MEMBER(digel804_state::digel804_serial_put)
{
- m_acia->receive_character(data);
+ //m_acia->receive_character(data);
}
static GENERIC_TERMINAL_INTERFACE( digel804_terminal_intf )
@@ -603,7 +603,7 @@ static MACHINE_CONFIG_START( digel804, digel804_state )
MCFG_MM74C923_ADD("74c923", digel804_keypad_intf)
/* acia */
- MCFG_ACIA6551_ADD("acia")
+ MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("256K")
diff --git a/src/mess/drivers/dragon.c b/src/mess/drivers/dragon.c
index 0563c607154..82cf7382d1e 100644
--- a/src/mess/drivers/dragon.c
+++ b/src/mess/drivers/dragon.c
@@ -174,7 +174,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( dragon64, dragon_base, dragon64_state )
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_state::cartridge_config, dragon_cart, "dragon_fdc", NULL)
// acia
- MCFG_ACIA6551_ADD("acia")
+ MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED_CLASS( d64plus, dragon_base, dragon64_state )
@@ -186,7 +186,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( d64plus, dragon_base, dragon64_state )
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_state::cartridge_config, dragon_cart, "dragon_fdc", NULL)
// acia
- MCFG_ACIA6551_ADD("acia")
+ MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED_CLASS( dgnalpha, dragon_base, dragon_alpha_state )
@@ -198,7 +198,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( dgnalpha, dragon_base, dragon_alpha_state )
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_alpha_state::cartridge_config, dragon_cart, NULL, NULL)
// acia
- MCFG_ACIA6551_ADD("acia")
+ MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
// floppy
MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(coco_floppy_interface)
diff --git a/src/mess/drivers/ec65.c b/src/mess/drivers/ec65.c
index c0530ed56be..de69fe8e043 100644
--- a/src/mess/drivers/ec65.c
+++ b/src/mess/drivers/ec65.c
@@ -12,7 +12,7 @@
#include "video/mc6845.h"
#include "machine/6821pia.h"
#include "machine/6522via.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "machine/6850acia.h"
#include "machine/keyboard.h"
@@ -53,7 +53,7 @@ static ADDRESS_MAP_START(ec65_mem, AS_PROGRAM, 8, ec65_state)
AM_RANGE(0xe011, 0xe011) AM_DEVREADWRITE(ACIA6850_TAG, acia6850_device, data_read, data_write)
AM_RANGE(0xe100, 0xe10f) AM_DEVREADWRITE(VIA6522_0_TAG, via6522_device, read, write)
AM_RANGE(0xe110, 0xe11f) AM_DEVREADWRITE(VIA6522_1_TAG, via6522_device, read, write)
- AM_RANGE(0xe130, 0xe133) AM_DEVREADWRITE(ACIA6551_TAG, acia6551_device, read, write)
+ AM_RANGE(0xe130, 0xe133) AM_DEVREADWRITE(ACIA6551_TAG, mos6551_device, read, write)
AM_RANGE(0xe140, 0xe140) AM_DEVWRITE(MC6845_TAG, mc6845_device, address_w)
AM_RANGE(0xe141, 0xe141) AM_DEVREADWRITE(MC6845_TAG, mc6845_device, register_r , register_w)
AM_RANGE(0xe400, 0xe7ff) AM_RAM // 1KB on-board RAM
@@ -273,7 +273,7 @@ static MACHINE_CONFIG_START( ec65, ec65_state )
MCFG_ACIA6850_ADD(ACIA6850_TAG, ec65_acia_intf)
MCFG_VIA6522_ADD(VIA6522_0_TAG, XTAL_4MHz / 4, ec65_via_0_intf)
MCFG_VIA6522_ADD(VIA6522_1_TAG, XTAL_4MHz / 4, ec65_via_1_intf)
- MCFG_ACIA6551_ADD(ACIA6551_TAG) // have XTAL of 1.8432MHz connected
+ MCFG_MOS6551_ADD(ACIA6551_TAG, XTAL_1_8432MHz, NULL)
MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/microtan.c b/src/mess/drivers/microtan.c
index 5afc73b01de..fdcacb024c2 100644
--- a/src/mess/drivers/microtan.c
+++ b/src/mess/drivers/microtan.c
@@ -45,7 +45,7 @@
#include "sound/dac.h"
#include "sound/wave.h"
#include "machine/6522via.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
/* Devices */
#include "imagedev/cassette.h"
@@ -60,7 +60,7 @@ static ADDRESS_MAP_START( microtan_map, AS_PROGRAM, 8, microtan_state )
AM_RANGE(0xbc02, 0xbc02) AM_DEVWRITE_LEGACY("ay8910.2", ay8910_address_w)
AM_RANGE(0xbc03, 0xbc03) AM_DEVREADWRITE_LEGACY("ay8910.2", ay8910_r, ay8910_data_w)
AM_RANGE(0xbfc0, 0xbfcf) AM_DEVREADWRITE("via6522_0", via6522_device, read, write)
- AM_RANGE(0xbfd0, 0xbfd3) AM_DEVREADWRITE("acia", acia6551_device, read, write)
+ AM_RANGE(0xbfd0, 0xbfd3) AM_DEVREADWRITE("acia", mos6551_device, read, write)
AM_RANGE(0xbfe0, 0xbfef) AM_DEVREADWRITE("via6522_1", via6522_device, read, write)
AM_RANGE(0xbff0, 0xbfff) AM_READWRITE(microtan_bffx_r, microtan_bffx_w)
AM_RANGE(0xc000, 0xe7ff) AM_ROM
@@ -256,7 +256,7 @@ static MACHINE_CONFIG_START( microtan, microtan_state )
MCFG_CASSETTE_ADD( CASSETTE_TAG, default_cassette_interface )
/* acia */
- MCFG_ACIA6551_ADD("acia")
+ MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
/* via */
MCFG_VIA6522_ADD("via6522_0", 0, microtan_via6522_0)
diff --git a/src/mess/drivers/mits680b.c b/src/mess/drivers/mits680b.c
index 104da27658e..e153a60421a 100644
--- a/src/mess/drivers/mits680b.c
+++ b/src/mess/drivers/mits680b.c
@@ -22,7 +22,7 @@ ToDo:
#include "emu.h"
#include "cpu/m6800/m6800.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "machine/terminal.h"
@@ -66,7 +66,7 @@ READ8_MEMBER( mits680b_state::terminal_r )
static ADDRESS_MAP_START(mits680b_mem, AS_PROGRAM, 8, mits680b_state)
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE( 0x0000, 0x03ff ) AM_RAM // 1024 bytes RAM
- //AM_RANGE( 0xf000, 0xf003 ) AM_DEVREADWRITE("acia", acia6551_device, read, write )
+ //AM_RANGE( 0xf000, 0xf003 ) AM_DEVREADWRITE("acia", mos6551_device, read, write )
AM_RANGE( 0xf000, 0xf000 ) AM_READ(terminal_status_r)
AM_RANGE( 0xf001, 0xf001 ) AM_READ(terminal_r) AM_DEVWRITE(TERMINAL_TAG, generic_terminal_device, write)
AM_RANGE( 0xf002, 0xf002 ) AM_READ(status_check_r)
diff --git a/src/mess/drivers/mmodular.c b/src/mess/drivers/mmodular.c
index e5f96883601..d7bed0e25cf 100644
--- a/src/mess/drivers/mmodular.c
+++ b/src/mess/drivers/mmodular.c
@@ -90,7 +90,7 @@ Bit 5+6 LED 1-8 enable
#include "cpu/m6502/m65c02.h"
#include "cpu/arm/arm.h"
#include "sound/beep.h"
-//#include "machine/6551acia.h"
+//#include "machine/mos6551.h"
#include "video/hd44780.h"
#include "rendlay.h"
@@ -1538,7 +1538,7 @@ static MACHINE_CONFIG_START( sfortea, polgar_state )
MCFG_FRAGMENT_ADD( chess_common )
/* acia */
-// MCFG_ACIA6551_ADD("acia65c51")
+// MCFG_MOS6551_ADD("acia65c51", XTAL_1_8432MHz, NULL)
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_timer", polgar_state, cause_M6502_irq, attotime::from_hz(600))
MCFG_TIMER_START_DELAY(attotime::from_hz(60))
@@ -1601,7 +1601,7 @@ static MACHINE_CONFIG_START( diablo68, polgar_state )
MCFG_FRAGMENT_ADD( chess_common )
/* acia */
-// MCFG_ACIA6551_ADD("acia65c51")
+// MCFG_MOS6551_ADD("acia65c51", XTAL_1_8432MHz, NULL)
MCFG_TIMER_DRIVER_ADD_PERIODIC("int_timer", polgar_state, timer_update_irq2, attotime::from_hz(60))
MCFG_TIMER_START_DELAY(attotime::from_hz(30))
diff --git a/src/mess/drivers/oric.c b/src/mess/drivers/oric.c
index 08278968c17..ef684b7fc73 100644
--- a/src/mess/drivers/oric.c
+++ b/src/mess/drivers/oric.c
@@ -57,7 +57,7 @@ static ADDRESS_MAP_START(telestrat_mem, AS_PROGRAM, 8, oric_state )
AM_RANGE( 0x0000, 0x02ff) AM_RAM
AM_RANGE( 0x0300, 0x030f) AM_DEVREADWRITE("via6522_0", via6522_device, read, write)
AM_RANGE( 0x0310, 0x031b) AM_READWRITE(oric_microdisc_r, oric_microdisc_w )
- AM_RANGE( 0x031c, 0x031f) AM_DEVREADWRITE("acia", acia6551_device, read, write)
+ AM_RANGE( 0x031c, 0x031f) AM_DEVREADWRITE("acia", mos6551_device, read, write)
AM_RANGE( 0x0320, 0x032f) AM_DEVREADWRITE("via6522_1", via6522_device, read, write)
AM_RANGE( 0x0400, 0xbfff) AM_RAM
AM_RANGE( 0xc000, 0xffff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2")
@@ -425,7 +425,7 @@ static MACHINE_CONFIG_DERIVED( telstrat, oric )
MCFG_MACHINE_START_OVERRIDE(oric_state, telestrat )
/* acia */
- MCFG_ACIA6551_ADD("acia")
+ MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
/* via */
MCFG_VIA6522_ADD( "via6522_1", 1000000, telestrat_via2_interface )
diff --git a/src/mess/drivers/rvoice.c b/src/mess/drivers/rvoice.c
index b863c023576..71eef931bb3 100644
--- a/src/mess/drivers/rvoice.c
+++ b/src/mess/drivers/rvoice.c
@@ -10,7 +10,7 @@
/* Core includes */
#include "emu.h"
#include "cpu/m6800/m6800.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
//#include "dectalk.lh" // hack to avoid screenless system crash
#include "machine/terminal.h"
@@ -329,7 +329,7 @@ static ADDRESS_MAP_START(hd63701_main_mem, AS_PROGRAM, 8, rvoice_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0027) AM_READWRITE(main_hd63701_internal_registers_r, main_hd63701_internal_registers_w) // INTERNAL REGS
AM_RANGE(0x0040, 0x013f) AM_RAM // INTERNAL RAM (overlaps acia)
- AM_RANGE(0x0060, 0x007f) AM_DEVREADWRITE("acia65c51", acia6551_device, read, write) // ACIA 65C51
+ AM_RANGE(0x0060, 0x007f) AM_DEVREADWRITE("acia65c51", mos6551_device, read, write) // ACIA 65C51
AM_RANGE(0x2000, 0x7fff) AM_RAM // EXTERNAL SRAM
AM_RANGE(0x8000, 0xffff) AM_ROM // 27512 EPROM
ADDRESS_MAP_END
@@ -368,7 +368,7 @@ static MACHINE_CONFIG_START( rvoicepc, rvoice_state )
//MCFG_CPU_IO_MAP(hd63701_slave_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_ACIA6551_ADD("acia65c51")
+ MCFG_MOS6551_ADD("acia65c51", XTAL_1_8432MHz, NULL)
/* video hardware */
//MCFG_DEFAULT_LAYOUT(layout_dectalk) // hack to avoid screenless system crash
diff --git a/src/mess/drivers/thomson.c b/src/mess/drivers/thomson.c
index 4fd02bd9929..447d5e0ba73 100644
--- a/src/mess/drivers/thomson.c
+++ b/src/mess/drivers/thomson.c
@@ -308,7 +308,7 @@ static ADDRESS_MAP_START ( to7, AS_PROGRAM, 8, thomson_state )
AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", mos6551_device, read, write )
AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt )
AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
@@ -672,7 +672,7 @@ static MACHINE_CONFIG_START( to7, thomson_state )
MCFG_PIA6821_ADD( THOM_PIA_MODEM, to7_pia6821_modem )
/* acia */
- MCFG_ACIA6551_ADD("acia")
+ MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
/* to7 serial io line */
MCFG_TO7_IO_LINE_ADD("to7_io")
@@ -769,7 +769,7 @@ static ADDRESS_MAP_START ( to770, AS_PROGRAM, 8, thomson_state )
AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to770_gatearray_r, to770_gatearray_w )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", mos6551_device, read, write )
AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt )
AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
@@ -960,7 +960,7 @@ static ADDRESS_MAP_START ( mo5, AS_PROGRAM, 8, thomson_state )
AM_RANGE ( 0xa7d0, 0xa7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
AM_RANGE ( 0xa7e0, 0xa7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo5_gatearray_r, mo5_gatearray_w )
- AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", mos6551_device, read, write )
AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo5_cartridge_w )
@@ -1165,7 +1165,7 @@ static ADDRESS_MAP_START ( to9, AS_PROGRAM, 8, thomson_state )
AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to9_vreg_r, to9_vreg_w )
AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w )
AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to9_gatearray_r, to9_gatearray_w )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", mos6551_device, read, write )
/* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
@@ -1489,7 +1489,7 @@ static ADDRESS_MAP_START ( to8, AS_PROGRAM, 8, thomson_state )
AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w )
AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w )
AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", mos6551_device, read, write )
/* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
@@ -1685,7 +1685,7 @@ static ADDRESS_MAP_START ( to9p, AS_PROGRAM, 8, thomson_state )
AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w )
AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w )
AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", mos6551_device, read, write )
/* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
@@ -1845,7 +1845,7 @@ static ADDRESS_MAP_START ( mo6, AS_PROGRAM, 8, thomson_state )
AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w )
AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w )
- AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", mos6551_device, read, write )
/* AM_RANGE ( 0xa7f0, 0xa7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w )*/
AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
@@ -2160,7 +2160,7 @@ static ADDRESS_MAP_START ( mo5nr, AS_PROGRAM, 8, thomson_state )
AM_RANGE ( 0xa7e1, 0xa7e1 ) AM_DEVREADWRITE("centronics", centronics_device, read, write)
AM_RANGE ( 0xa7e3, 0xa7e3 ) AM_READWRITE_LEGACY(mo5nr_prn_r, mo5nr_prn_w )
AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w )
- AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", mos6551_device, read, write )
/* AM_RANGE ( 0xa7f0, 0xa7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
AM_RANGE ( 0xa7f8, 0xa7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
diff --git a/src/mess/formats/m65_snqk.c b/src/mess/formats/m65_snqk.c
index a9885f9ff68..04a611d1e58 100644
--- a/src/mess/formats/m65_snqk.c
+++ b/src/mess/formats/m65_snqk.c
@@ -15,7 +15,7 @@
#include "cpu/m6502/m6502.h"
#include "includes/microtan.h"
#include "machine/6522via.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "sound/ay8910.h"
#include "formats/m65_snqk.h"
diff --git a/src/mess/includes/concept.h b/src/mess/includes/concept.h
index aae1e76a91c..1f99adace3d 100644
--- a/src/mess/includes/concept.h
+++ b/src/mess/includes/concept.h
@@ -13,7 +13,7 @@
#include "machine/6522via.h"
#include "machine/wd17xx.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#define ACIA_0_TAG "acia0"
#define ACIA_1_TAG "acia1"
@@ -43,8 +43,8 @@ public:
m_acia1(*this, ACIA_1_TAG),
m_videoram(*this,"videoram") { }
- required_device<acia6551_device> m_acia0;
- required_device<acia6551_device> m_acia1;
+ required_device<mos6551_device> m_acia0;
+ required_device<mos6551_device> m_acia1;
required_shared_ptr<UINT16> m_videoram;
UINT8 m_pending_interrupts;
char m_clock_enable;
diff --git a/src/mess/includes/dragon.h b/src/mess/includes/dragon.h
index 23f93a0034e..00fe7b006a1 100644
--- a/src/mess/includes/dragon.h
+++ b/src/mess/includes/dragon.h
@@ -14,7 +14,7 @@
#include "includes/coco12.h"
#include "imagedev/printer.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
@@ -57,7 +57,7 @@ public:
{
}
- required_device<acia6551_device> m_acia;
+ required_device<mos6551_device> m_acia;
protected:
virtual DECLARE_READ8_MEMBER( ff00_read );
diff --git a/src/mess/includes/oric.h b/src/mess/includes/oric.h
index 9a586cae0a6..16ed7bcd188 100644
--- a/src/mess/includes/oric.h
+++ b/src/mess/includes/oric.h
@@ -12,7 +12,7 @@
#include "sound/ay8910.h"
#include "sound/wave.h"
#include "machine/6522via.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "machine/ctronics.h"
#include "machine/wd17xx.h"
//#include <stdio.h>
diff --git a/src/mess/includes/plus4.h b/src/mess/includes/plus4.h
index 5b1e15d54f9..c04344a0784 100644
--- a/src/mess/includes/plus4.h
+++ b/src/mess/includes/plus4.h
@@ -8,7 +8,7 @@
#include "formats/cbm_snqk.h"
#include "audio/t6721.h"
#include "audio/mos7360.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "machine/plus4exp.h"
#include "machine/plus4user.h"
#include "machine/cbmiec.h"
diff --git a/src/mess/includes/thomson.h b/src/mess/includes/thomson.h
index 02b5f090ec0..dfea602a1b9 100644
--- a/src/mess/includes/thomson.h
+++ b/src/mess/includes/thomson.h
@@ -14,7 +14,7 @@
#include "machine/6821pia.h"
#include "machine/mc6846.h"
#include "machine/6850acia.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "sound/dac.h"
#include "audio/mea8000.h"
#include "machine/ctronics.h"
diff --git a/src/mess/machine/a2ssc.c b/src/mess/machine/a2ssc.c
index 212ef13e1e4..e9c93b92f06 100644
--- a/src/mess/machine/a2ssc.c
+++ b/src/mess/machine/a2ssc.c
@@ -26,7 +26,7 @@ const device_type A2BUS_SSC = &device_creator<a2bus_ssc_device>;
MACHINE_CONFIG_FRAGMENT( ssc )
- MCFG_ACIA6551_ADD(SSC_ACIA_TAG)
+ MCFG_MOS6551_ADD(SSC_ACIA_TAG, XTAL_1_8432MHz, NULL)
MACHINE_CONFIG_END
ROM_START( ssc )
diff --git a/src/mess/machine/a2ssc.h b/src/mess/machine/a2ssc.h
index 49b2ec4d8a7..2ff165fde0d 100644
--- a/src/mess/machine/a2ssc.h
+++ b/src/mess/machine/a2ssc.h
@@ -11,7 +11,7 @@
#include "emu.h"
#include "machine/a2bus.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
//**************************************************************************
// TYPE DEFINITIONS
@@ -40,7 +40,7 @@ protected:
virtual UINT8 read_cnxx(address_space &space, UINT8 offset);
virtual UINT8 read_c800(address_space &space, UINT16 offset);
- required_device<acia6551_device> m_acia;
+ required_device<mos6551_device> m_acia;
private:
UINT8 *m_rom;
diff --git a/src/mess/machine/apple3.c b/src/mess/machine/apple3.c
index 50eb3febd8a..55ec3a6f90b 100644
--- a/src/mess/machine/apple3.c
+++ b/src/mess/machine/apple3.c
@@ -21,7 +21,7 @@
#include "machine/ay3600.h"
#include "machine/applefdc.h"
#include "devices/appldriv.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "machine/ram.h"
@@ -103,7 +103,7 @@ void apple3_state::apple3_profile_w(offs_t offset, UINT8 data)
READ8_MEMBER(apple3_state::apple3_c0xx_r)
{
- acia6551_device *acia = machine().device<acia6551_device>("acia");
+ mos6551_device *acia = machine().device<mos6551_device>("acia");
applefdc_base_device *fdc = machine().device<applefdc_base_device>("fdc");
UINT8 result = 0xFF;
@@ -188,7 +188,7 @@ READ8_MEMBER(apple3_state::apple3_c0xx_r)
WRITE8_MEMBER(apple3_state::apple3_c0xx_w)
{
- acia6551_device *acia = machine().device<acia6551_device>("acia");
+ mos6551_device *acia = machine().device<mos6551_device>("acia");
applefdc_base_device *fdc = machine().device<applefdc_base_device>("fdc");
switch(offset)
diff --git a/src/mess/machine/coco_232.c b/src/mess/machine/coco_232.c
index e4d0a7a176d..296e2c80f89 100644
--- a/src/mess/machine/coco_232.c
+++ b/src/mess/machine/coco_232.c
@@ -21,7 +21,7 @@
***************************************************************************/
static MACHINE_CONFIG_FRAGMENT(coco_rs232)
- MCFG_ACIA6551_ADD(UART_TAG)
+ MCFG_MOS6551_ADD(UART_TAG, XTAL_1_8432MHz, NULL)
MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/mess/machine/coco_232.h b/src/mess/machine/coco_232.h
index 9ab32e84413..b787c099c80 100644
--- a/src/mess/machine/coco_232.h
+++ b/src/mess/machine/coco_232.h
@@ -5,7 +5,7 @@
#include "emu.h"
#include "machine/cococart.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
//**************************************************************************
// TYPE DEFINITIONS
@@ -31,7 +31,7 @@ protected:
virtual DECLARE_WRITE8_MEMBER(write);
private:
// internal state
- required_device<acia6551_device> m_uart;
+ required_device<mos6551_device> m_uart;
};
diff --git a/src/mess/machine/dgn_beta.c b/src/mess/machine/dgn_beta.c
index 2258b46bf42..b9fd833e968 100644
--- a/src/mess/machine/dgn_beta.c
+++ b/src/mess/machine/dgn_beta.c
@@ -63,7 +63,7 @@
#include "cpu/m6809/m6809.h"
#include "machine/6821pia.h"
#include "includes/dgn_beta.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "machine/wd17xx.h"
#include "imagedev/flopdrv.h"
diff --git a/src/mess/machine/microtan.c b/src/mess/machine/microtan.c
index d38c1919880..cf1cc127356 100644
--- a/src/mess/machine/microtan.c
+++ b/src/mess/machine/microtan.c
@@ -19,7 +19,7 @@
/* Components */
#include "cpu/m6502/m6502.h"
#include "machine/6522via.h"
-#include "machine/6551acia.h"
+#include "machine/mos6551.h"
#include "sound/ay8910.h"
/* Devices */