mirror of
https://github.com/holub/mame
synced 2025-10-07 17:27:06 +03:00
(MESS) Refactored all drivers to use the new MOS6551 and removed the old implementation. (nw)
This commit is contained in:
parent
871d4c7ac6
commit
31257a208a
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -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/6526cia.h svneol=native#text/plain
|
||||||
src/emu/machine/6532riot.c 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/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.c svneol=native#text/plain
|
||||||
src/emu/machine/6821pia.h svneol=native#text/plain
|
src/emu/machine/6821pia.h svneol=native#text/plain
|
||||||
src/emu/machine/6840ptm.c svneol=native#text/plain
|
src/emu/machine/6840ptm.c svneol=native#text/plain
|
||||||
|
@ -147,7 +147,6 @@ EMUMACHINEOBJS = \
|
|||||||
$(EMUMACHINE)/6525tpi.o \
|
$(EMUMACHINE)/6525tpi.o \
|
||||||
$(EMUMACHINE)/6526cia.o \
|
$(EMUMACHINE)/6526cia.o \
|
||||||
$(EMUMACHINE)/6532riot.o \
|
$(EMUMACHINE)/6532riot.o \
|
||||||
$(EMUMACHINE)/6551acia.o \
|
|
||||||
$(EMUMACHINE)/6821pia.o \
|
$(EMUMACHINE)/6821pia.o \
|
||||||
$(EMUMACHINE)/6840ptm.o \
|
$(EMUMACHINE)/6840ptm.o \
|
||||||
$(EMUMACHINE)/6850acia.o \
|
$(EMUMACHINE)/6850acia.o \
|
||||||
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -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__ */
|
|
@ -11,7 +11,7 @@
|
|||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/m6502/m6502.h"
|
#include "cpu/m6502/m6502.h"
|
||||||
#include "machine/6522via.h"
|
#include "machine/6522via.h"
|
||||||
//#include "machine/6551acia.h"
|
//#include "machine/mos6551.h"
|
||||||
|
|
||||||
#include "cops.lh"
|
#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(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(0xb800, 0xb80f) AM_DEVREADWRITE("via6522_2", via6522_device, read, write) /* VIA 2 */
|
||||||
AM_RANGE(0xc000, 0xcfff) AM_READWRITE(io2_r, io2_w)
|
AM_RANGE(0xc000, 0xcfff) AM_READWRITE(io2_r, io2_w)
|
||||||
// AM_RANGE(0xd000, 0xd003) AM_DEVREADWRITE("acia6551_1", acia6551_device, read, write )
|
// AM_RANGE(0xd000, 0xd003) AM_DEVREADWRITE("acia6551_1", mos6551_device, read, write )
|
||||||
// AM_RANGE(0xd004, 0xd007) AM_DEVREADWRITE("acia6551_2", acia6551_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(0xd000, 0xd007) AM_READWRITE(dacia_r, dacia_w)
|
||||||
AM_RANGE(0xd800, 0xd80f) AM_DEVREADWRITE("via6522_3", via6522_device, read, write) /* VIA 3 */
|
AM_RANGE(0xd800, 0xd80f) AM_DEVREADWRITE("via6522_3", via6522_device, read, write) /* VIA 3 */
|
||||||
AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("system", 0)
|
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)
|
MCFG_VIA6522_ADD("via6522_3", 0, via_3_interface)
|
||||||
|
|
||||||
/* acia */
|
/* acia */
|
||||||
// MCFG_ACIA6551_ADD("acia6551_1")
|
// MCFG_MOS6551_ADD("acia6551_1", XTAL_1_8432MHz, NULL)
|
||||||
// MCFG_ACIA6551_ADD("acia6551_2")
|
// MCFG_MOS6551_ADD("acia6551_2", XTAL_1_8432MHz, NULL)
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
@ -48,7 +48,7 @@ The source code there implies that *maybe* ff7e and ff7f are also open bus.
|
|||||||
#include "includes/aim65_40.h"
|
#include "includes/aim65_40.h"
|
||||||
#include "cpu/m6502/m6502.h"
|
#include "cpu/m6502/m6502.h"
|
||||||
#include "machine/6522via.h"
|
#include "machine/6522via.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "aim65_40.lh"
|
#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(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(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(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
|
AM_RANGE(0xffe0, 0xffff) AM_ROM
|
||||||
ADDRESS_MAP_END
|
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_0_TAG, 0, user_via_intf)
|
||||||
MCFG_VIA6522_ADD(M6522_1_TAG, 0, system_via_intf)
|
MCFG_VIA6522_ADD(M6522_1_TAG, 0, system_via_intf)
|
||||||
MCFG_VIA6522_ADD(M6522_2_TAG, 0, kb_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
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
#include "includes/apple2.h"
|
#include "includes/apple2.h"
|
||||||
#include "imagedev/flopdrv.h"
|
#include "imagedev/flopdrv.h"
|
||||||
#include "formats/ap2_dsk.h"
|
#include "formats/ap2_dsk.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "machine/6522via.h"
|
#include "machine/6522via.h"
|
||||||
#include "machine/a2bus.h"
|
#include "machine/a2bus.h"
|
||||||
#include "machine/ram.h"
|
#include "machine/ram.h"
|
||||||
@ -98,7 +98,7 @@ static MACHINE_CONFIG_START( apple3, apple3_state )
|
|||||||
MCFG_APPLEFDC_ADD("fdc", apple3_fdc_interface)
|
MCFG_APPLEFDC_ADD("fdc", apple3_fdc_interface)
|
||||||
MCFG_LEGACY_FLOPPY_APPLE_4_DRIVES_ADD(apple3_floppy_interface,1,4)
|
MCFG_LEGACY_FLOPPY_APPLE_4_DRIVES_ADD(apple3_floppy_interface,1,4)
|
||||||
/* acia */
|
/* acia */
|
||||||
MCFG_ACIA6551_ADD("acia")
|
MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
|
||||||
|
|
||||||
/* via */
|
/* via */
|
||||||
MCFG_VIA6522_ADD("via6522_0", 1000000, apple3_via_0_intf)
|
MCFG_VIA6522_ADD("via6522_0", 1000000, apple3_via_0_intf)
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/m6502/m65c02.h"
|
#include "cpu/m6502/m65c02.h"
|
||||||
#include "machine/6522via.h"
|
#include "machine/6522via.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "rendlay.h"
|
#include "rendlay.h"
|
||||||
|
|
||||||
class clcd_state : public driver_device
|
class clcd_state : public driver_device
|
||||||
@ -178,7 +178,7 @@ private:
|
|||||||
static ADDRESS_MAP_START( clcd_mem, AS_PROGRAM, 8, clcd_state )
|
static ADDRESS_MAP_START( clcd_mem, AS_PROGRAM, 8, clcd_state )
|
||||||
AM_RANGE(0xf800, 0xf80f) AM_DEVREADWRITE("via0", via6522_device, read, write)
|
AM_RANGE(0xf800, 0xf80f) AM_DEVREADWRITE("via0", via6522_device, read, write)
|
||||||
AM_RANGE(0xf880, 0xf88f) AM_DEVREADWRITE("via1", 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(0xff00, 0xff00) AM_WRITE(rombank_w)
|
||||||
AM_RANGE(0xff80, 0xff83) AM_WRITE(rambank_w)
|
AM_RANGE(0xff80, 0xff83) AM_WRITE(rambank_w)
|
||||||
AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("ram")
|
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("via0", 0, via0_intf)
|
||||||
MCFG_VIA6522_ADD("via1", 0, via1_intf)
|
MCFG_VIA6522_ADD("via1", 0, via1_intf)
|
||||||
MCFG_ACIA6551_ADD("acia")
|
MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_SCREEN_ADD("screen", LCD)
|
MCFG_SCREEN_ADD("screen", LCD)
|
||||||
|
@ -146,8 +146,8 @@ static MACHINE_CONFIG_START( concept, concept_state )
|
|||||||
MCFG_VIA6522_ADD("via6522_0", 1022750, concept_via6522_intf)
|
MCFG_VIA6522_ADD("via6522_0", 1022750, concept_via6522_intf)
|
||||||
|
|
||||||
/* ACIAs */
|
/* ACIAs */
|
||||||
MCFG_ACIA6551_ADD(ACIA_0_TAG)
|
MCFG_MOS6551_ADD(ACIA_0_TAG, XTAL_1_8432MHz, NULL)
|
||||||
MCFG_ACIA6551_ADD(ACIA_1_TAG)
|
MCFG_MOS6551_ADD(ACIA_1_TAG, XTAL_1_8432MHz, NULL)
|
||||||
|
|
||||||
MCFG_FD1793_ADD("wd179x", concept_wd17xx_interface )
|
MCFG_FD1793_ADD("wd179x", concept_wd17xx_interface )
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ documentation still exists.
|
|||||||
#include "cpu/m6809/m6809.h"
|
#include "cpu/m6809/m6809.h"
|
||||||
#include "machine/6821pia.h"
|
#include "machine/6821pia.h"
|
||||||
#include "includes/dgn_beta.h"
|
#include "includes/dgn_beta.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "formats/coco_dsk.h"
|
#include "formats/coco_dsk.h"
|
||||||
#include "imagedev/flopdrv.h"
|
#include "imagedev/flopdrv.h"
|
||||||
#include "machine/ram.h"
|
#include "machine/ram.h"
|
||||||
|
@ -60,7 +60,7 @@
|
|||||||
#include "machine/terminal.h"
|
#include "machine/terminal.h"
|
||||||
#include "sound/speaker.h"
|
#include "sound/speaker.h"
|
||||||
#include "machine/roc10937.h"
|
#include "machine/roc10937.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "machine/mm74c922.h"
|
#include "machine/mm74c922.h"
|
||||||
#include "machine/ram.h"
|
#include "machine/ram.h"
|
||||||
#include "digel804.lh"
|
#include "digel804.lh"
|
||||||
@ -84,7 +84,7 @@ public:
|
|||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
required_device<generic_terminal_device> m_terminal;
|
required_device<generic_terminal_device> m_terminal;
|
||||||
required_device<speaker_sound_device> m_speaker;
|
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<roc10937_t> m_vfd;
|
||||||
required_device<mm74c922_device> m_kb;
|
required_device<mm74c922_device> m_kb;
|
||||||
required_device<ram_device> m_ram;
|
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(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(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(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
|
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(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(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(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
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
@ -561,7 +561,7 @@ INPUT_PORTS_END
|
|||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
WRITE8_MEMBER(digel804_state::digel804_serial_put)
|
WRITE8_MEMBER(digel804_state::digel804_serial_put)
|
||||||
{
|
{
|
||||||
m_acia->receive_character(data);
|
//m_acia->receive_character(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static GENERIC_TERMINAL_INTERFACE( digel804_terminal_intf )
|
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)
|
MCFG_MM74C923_ADD("74c923", digel804_keypad_intf)
|
||||||
|
|
||||||
/* acia */
|
/* acia */
|
||||||
MCFG_ACIA6551_ADD("acia")
|
MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
|
||||||
|
|
||||||
MCFG_RAM_ADD(RAM_TAG)
|
MCFG_RAM_ADD(RAM_TAG)
|
||||||
MCFG_RAM_DEFAULT_SIZE("256K")
|
MCFG_RAM_DEFAULT_SIZE("256K")
|
||||||
|
@ -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)
|
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_state::cartridge_config, dragon_cart, "dragon_fdc", NULL)
|
||||||
|
|
||||||
// acia
|
// acia
|
||||||
MCFG_ACIA6551_ADD("acia")
|
MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
static MACHINE_CONFIG_DERIVED_CLASS( d64plus, dragon_base, dragon64_state )
|
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)
|
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_state::cartridge_config, dragon_cart, "dragon_fdc", NULL)
|
||||||
|
|
||||||
// acia
|
// acia
|
||||||
MCFG_ACIA6551_ADD("acia")
|
MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
static MACHINE_CONFIG_DERIVED_CLASS( dgnalpha, dragon_base, dragon_alpha_state )
|
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)
|
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_alpha_state::cartridge_config, dragon_cart, NULL, NULL)
|
||||||
|
|
||||||
// acia
|
// acia
|
||||||
MCFG_ACIA6551_ADD("acia")
|
MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
|
||||||
|
|
||||||
// floppy
|
// floppy
|
||||||
MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(coco_floppy_interface)
|
MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(coco_floppy_interface)
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
#include "video/mc6845.h"
|
#include "video/mc6845.h"
|
||||||
#include "machine/6821pia.h"
|
#include "machine/6821pia.h"
|
||||||
#include "machine/6522via.h"
|
#include "machine/6522via.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "machine/6850acia.h"
|
#include "machine/6850acia.h"
|
||||||
#include "machine/keyboard.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(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(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(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(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(0xe141, 0xe141) AM_DEVREADWRITE(MC6845_TAG, mc6845_device, register_r , register_w)
|
||||||
AM_RANGE(0xe400, 0xe7ff) AM_RAM // 1KB on-board RAM
|
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_ACIA6850_ADD(ACIA6850_TAG, ec65_acia_intf)
|
||||||
MCFG_VIA6522_ADD(VIA6522_0_TAG, XTAL_4MHz / 4, ec65_via_0_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_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)
|
MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
#include "sound/dac.h"
|
#include "sound/dac.h"
|
||||||
#include "sound/wave.h"
|
#include "sound/wave.h"
|
||||||
#include "machine/6522via.h"
|
#include "machine/6522via.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
|
|
||||||
/* Devices */
|
/* Devices */
|
||||||
#include "imagedev/cassette.h"
|
#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(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(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(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(0xbfe0, 0xbfef) AM_DEVREADWRITE("via6522_1", via6522_device, read, write)
|
||||||
AM_RANGE(0xbff0, 0xbfff) AM_READWRITE(microtan_bffx_r, microtan_bffx_w)
|
AM_RANGE(0xbff0, 0xbfff) AM_READWRITE(microtan_bffx_r, microtan_bffx_w)
|
||||||
AM_RANGE(0xc000, 0xe7ff) AM_ROM
|
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 )
|
MCFG_CASSETTE_ADD( CASSETTE_TAG, default_cassette_interface )
|
||||||
|
|
||||||
/* acia */
|
/* acia */
|
||||||
MCFG_ACIA6551_ADD("acia")
|
MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
|
||||||
|
|
||||||
/* via */
|
/* via */
|
||||||
MCFG_VIA6522_ADD("via6522_0", 0, microtan_via6522_0)
|
MCFG_VIA6522_ADD("via6522_0", 0, microtan_via6522_0)
|
||||||
|
@ -22,7 +22,7 @@ ToDo:
|
|||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/m6800/m6800.h"
|
#include "cpu/m6800/m6800.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "machine/terminal.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)
|
static ADDRESS_MAP_START(mits680b_mem, AS_PROGRAM, 8, mits680b_state)
|
||||||
ADDRESS_MAP_UNMAP_HIGH
|
ADDRESS_MAP_UNMAP_HIGH
|
||||||
AM_RANGE( 0x0000, 0x03ff ) AM_RAM // 1024 bytes RAM
|
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( 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( 0xf001, 0xf001 ) AM_READ(terminal_r) AM_DEVWRITE(TERMINAL_TAG, generic_terminal_device, write)
|
||||||
AM_RANGE( 0xf002, 0xf002 ) AM_READ(status_check_r)
|
AM_RANGE( 0xf002, 0xf002 ) AM_READ(status_check_r)
|
||||||
|
@ -90,7 +90,7 @@ Bit 5+6 LED 1-8 enable
|
|||||||
#include "cpu/m6502/m65c02.h"
|
#include "cpu/m6502/m65c02.h"
|
||||||
#include "cpu/arm/arm.h"
|
#include "cpu/arm/arm.h"
|
||||||
#include "sound/beep.h"
|
#include "sound/beep.h"
|
||||||
//#include "machine/6551acia.h"
|
//#include "machine/mos6551.h"
|
||||||
#include "video/hd44780.h"
|
#include "video/hd44780.h"
|
||||||
|
|
||||||
#include "rendlay.h"
|
#include "rendlay.h"
|
||||||
@ -1538,7 +1538,7 @@ static MACHINE_CONFIG_START( sfortea, polgar_state )
|
|||||||
MCFG_FRAGMENT_ADD( chess_common )
|
MCFG_FRAGMENT_ADD( chess_common )
|
||||||
|
|
||||||
/* acia */
|
/* 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_DRIVER_ADD_PERIODIC("irq_timer", polgar_state, cause_M6502_irq, attotime::from_hz(600))
|
||||||
MCFG_TIMER_START_DELAY(attotime::from_hz(60))
|
MCFG_TIMER_START_DELAY(attotime::from_hz(60))
|
||||||
@ -1601,7 +1601,7 @@ static MACHINE_CONFIG_START( diablo68, polgar_state )
|
|||||||
MCFG_FRAGMENT_ADD( chess_common )
|
MCFG_FRAGMENT_ADD( chess_common )
|
||||||
|
|
||||||
/* acia */
|
/* 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_DRIVER_ADD_PERIODIC("int_timer", polgar_state, timer_update_irq2, attotime::from_hz(60))
|
||||||
MCFG_TIMER_START_DELAY(attotime::from_hz(30))
|
MCFG_TIMER_START_DELAY(attotime::from_hz(30))
|
||||||
|
@ -57,7 +57,7 @@ static ADDRESS_MAP_START(telestrat_mem, AS_PROGRAM, 8, oric_state )
|
|||||||
AM_RANGE( 0x0000, 0x02ff) AM_RAM
|
AM_RANGE( 0x0000, 0x02ff) AM_RAM
|
||||||
AM_RANGE( 0x0300, 0x030f) AM_DEVREADWRITE("via6522_0", via6522_device, read, write)
|
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( 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( 0x0320, 0x032f) AM_DEVREADWRITE("via6522_1", via6522_device, read, write)
|
||||||
AM_RANGE( 0x0400, 0xbfff) AM_RAM
|
AM_RANGE( 0x0400, 0xbfff) AM_RAM
|
||||||
AM_RANGE( 0xc000, 0xffff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2")
|
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 )
|
MCFG_MACHINE_START_OVERRIDE(oric_state, telestrat )
|
||||||
|
|
||||||
/* acia */
|
/* acia */
|
||||||
MCFG_ACIA6551_ADD("acia")
|
MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
|
||||||
|
|
||||||
/* via */
|
/* via */
|
||||||
MCFG_VIA6522_ADD( "via6522_1", 1000000, telestrat_via2_interface )
|
MCFG_VIA6522_ADD( "via6522_1", 1000000, telestrat_via2_interface )
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
/* Core includes */
|
/* Core includes */
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/m6800/m6800.h"
|
#include "cpu/m6800/m6800.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
//#include "dectalk.lh" // hack to avoid screenless system crash
|
//#include "dectalk.lh" // hack to avoid screenless system crash
|
||||||
#include "machine/terminal.h"
|
#include "machine/terminal.h"
|
||||||
|
|
||||||
@ -329,7 +329,7 @@ static ADDRESS_MAP_START(hd63701_main_mem, AS_PROGRAM, 8, rvoice_state )
|
|||||||
ADDRESS_MAP_UNMAP_HIGH
|
ADDRESS_MAP_UNMAP_HIGH
|
||||||
AM_RANGE(0x0000, 0x0027) AM_READWRITE(main_hd63701_internal_registers_r, main_hd63701_internal_registers_w) // INTERNAL REGS
|
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(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(0x2000, 0x7fff) AM_RAM // EXTERNAL SRAM
|
||||||
AM_RANGE(0x8000, 0xffff) AM_ROM // 27512 EPROM
|
AM_RANGE(0x8000, 0xffff) AM_ROM // 27512 EPROM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -368,7 +368,7 @@ static MACHINE_CONFIG_START( rvoicepc, rvoice_state )
|
|||||||
//MCFG_CPU_IO_MAP(hd63701_slave_io)
|
//MCFG_CPU_IO_MAP(hd63701_slave_io)
|
||||||
MCFG_QUANTUM_TIME(attotime::from_hz(60))
|
MCFG_QUANTUM_TIME(attotime::from_hz(60))
|
||||||
|
|
||||||
MCFG_ACIA6551_ADD("acia65c51")
|
MCFG_MOS6551_ADD("acia65c51", XTAL_1_8432MHz, NULL)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
//MCFG_DEFAULT_LAYOUT(layout_dectalk) // hack to avoid screenless system crash
|
//MCFG_DEFAULT_LAYOUT(layout_dectalk) // hack to avoid screenless system crash
|
||||||
|
@ -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 ( 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 ( 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 ( 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 ( 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 ( 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 )
|
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 )
|
MCFG_PIA6821_ADD( THOM_PIA_MODEM, to7_pia6821_modem )
|
||||||
|
|
||||||
/* acia */
|
/* acia */
|
||||||
MCFG_ACIA6551_ADD("acia")
|
MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
|
||||||
|
|
||||||
/* to7 serial io line */
|
/* to7 serial io line */
|
||||||
MCFG_TO7_IO_LINE_ADD("to7_io")
|
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 ( 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 ( 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 ( 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 ( 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 ( 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 )
|
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 ( 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 ( 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 ( 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 ( 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 ( 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 )
|
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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 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 ( 0xa7e1, 0xa7e1 ) AM_DEVREADWRITE("centronics", centronics_device, read, write)
|
||||||
AM_RANGE ( 0xa7e3, 0xa7e3 ) AM_READWRITE_LEGACY(mo5nr_prn_r, mo5nr_prn_w )
|
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 ( 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 ( 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 ( 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)
|
AM_RANGE ( 0xa7f8, 0xa7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#include "cpu/m6502/m6502.h"
|
#include "cpu/m6502/m6502.h"
|
||||||
#include "includes/microtan.h"
|
#include "includes/microtan.h"
|
||||||
#include "machine/6522via.h"
|
#include "machine/6522via.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "sound/ay8910.h"
|
#include "sound/ay8910.h"
|
||||||
#include "formats/m65_snqk.h"
|
#include "formats/m65_snqk.h"
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
#include "machine/6522via.h"
|
#include "machine/6522via.h"
|
||||||
#include "machine/wd17xx.h"
|
#include "machine/wd17xx.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
|
|
||||||
#define ACIA_0_TAG "acia0"
|
#define ACIA_0_TAG "acia0"
|
||||||
#define ACIA_1_TAG "acia1"
|
#define ACIA_1_TAG "acia1"
|
||||||
@ -43,8 +43,8 @@ public:
|
|||||||
m_acia1(*this, ACIA_1_TAG),
|
m_acia1(*this, ACIA_1_TAG),
|
||||||
m_videoram(*this,"videoram") { }
|
m_videoram(*this,"videoram") { }
|
||||||
|
|
||||||
required_device<acia6551_device> m_acia0;
|
required_device<mos6551_device> m_acia0;
|
||||||
required_device<acia6551_device> m_acia1;
|
required_device<mos6551_device> m_acia1;
|
||||||
required_shared_ptr<UINT16> m_videoram;
|
required_shared_ptr<UINT16> m_videoram;
|
||||||
UINT8 m_pending_interrupts;
|
UINT8 m_pending_interrupts;
|
||||||
char m_clock_enable;
|
char m_clock_enable;
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
#include "includes/coco12.h"
|
#include "includes/coco12.h"
|
||||||
#include "imagedev/printer.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:
|
protected:
|
||||||
virtual DECLARE_READ8_MEMBER( ff00_read );
|
virtual DECLARE_READ8_MEMBER( ff00_read );
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
#include "sound/ay8910.h"
|
#include "sound/ay8910.h"
|
||||||
#include "sound/wave.h"
|
#include "sound/wave.h"
|
||||||
#include "machine/6522via.h"
|
#include "machine/6522via.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "machine/ctronics.h"
|
#include "machine/ctronics.h"
|
||||||
#include "machine/wd17xx.h"
|
#include "machine/wd17xx.h"
|
||||||
//#include <stdio.h>
|
//#include <stdio.h>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include "formats/cbm_snqk.h"
|
#include "formats/cbm_snqk.h"
|
||||||
#include "audio/t6721.h"
|
#include "audio/t6721.h"
|
||||||
#include "audio/mos7360.h"
|
#include "audio/mos7360.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "machine/plus4exp.h"
|
#include "machine/plus4exp.h"
|
||||||
#include "machine/plus4user.h"
|
#include "machine/plus4user.h"
|
||||||
#include "machine/cbmiec.h"
|
#include "machine/cbmiec.h"
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#include "machine/6821pia.h"
|
#include "machine/6821pia.h"
|
||||||
#include "machine/mc6846.h"
|
#include "machine/mc6846.h"
|
||||||
#include "machine/6850acia.h"
|
#include "machine/6850acia.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "sound/dac.h"
|
#include "sound/dac.h"
|
||||||
#include "audio/mea8000.h"
|
#include "audio/mea8000.h"
|
||||||
#include "machine/ctronics.h"
|
#include "machine/ctronics.h"
|
||||||
|
@ -26,7 +26,7 @@ const device_type A2BUS_SSC = &device_creator<a2bus_ssc_device>;
|
|||||||
|
|
||||||
|
|
||||||
MACHINE_CONFIG_FRAGMENT( ssc )
|
MACHINE_CONFIG_FRAGMENT( ssc )
|
||||||
MCFG_ACIA6551_ADD(SSC_ACIA_TAG)
|
MCFG_MOS6551_ADD(SSC_ACIA_TAG, XTAL_1_8432MHz, NULL)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
ROM_START( ssc )
|
ROM_START( ssc )
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "machine/a2bus.h"
|
#include "machine/a2bus.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
@ -40,7 +40,7 @@ protected:
|
|||||||
virtual UINT8 read_cnxx(address_space &space, UINT8 offset);
|
virtual UINT8 read_cnxx(address_space &space, UINT8 offset);
|
||||||
virtual UINT8 read_c800(address_space &space, UINT16 offset);
|
virtual UINT8 read_c800(address_space &space, UINT16 offset);
|
||||||
|
|
||||||
required_device<acia6551_device> m_acia;
|
required_device<mos6551_device> m_acia;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UINT8 *m_rom;
|
UINT8 *m_rom;
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include "machine/ay3600.h"
|
#include "machine/ay3600.h"
|
||||||
#include "machine/applefdc.h"
|
#include "machine/applefdc.h"
|
||||||
#include "devices/appldriv.h"
|
#include "devices/appldriv.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "machine/ram.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)
|
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");
|
applefdc_base_device *fdc = machine().device<applefdc_base_device>("fdc");
|
||||||
UINT8 result = 0xFF;
|
UINT8 result = 0xFF;
|
||||||
|
|
||||||
@ -188,7 +188,7 @@ READ8_MEMBER(apple3_state::apple3_c0xx_r)
|
|||||||
|
|
||||||
WRITE8_MEMBER(apple3_state::apple3_c0xx_w)
|
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");
|
applefdc_base_device *fdc = machine().device<applefdc_base_device>("fdc");
|
||||||
|
|
||||||
switch(offset)
|
switch(offset)
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
static MACHINE_CONFIG_FRAGMENT(coco_rs232)
|
static MACHINE_CONFIG_FRAGMENT(coco_rs232)
|
||||||
MCFG_ACIA6551_ADD(UART_TAG)
|
MCFG_MOS6551_ADD(UART_TAG, XTAL_1_8432MHz, NULL)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "machine/cococart.h"
|
#include "machine/cococart.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
@ -31,7 +31,7 @@ protected:
|
|||||||
virtual DECLARE_WRITE8_MEMBER(write);
|
virtual DECLARE_WRITE8_MEMBER(write);
|
||||||
private:
|
private:
|
||||||
// internal state
|
// internal state
|
||||||
required_device<acia6551_device> m_uart;
|
required_device<mos6551_device> m_uart;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@
|
|||||||
#include "cpu/m6809/m6809.h"
|
#include "cpu/m6809/m6809.h"
|
||||||
#include "machine/6821pia.h"
|
#include "machine/6821pia.h"
|
||||||
#include "includes/dgn_beta.h"
|
#include "includes/dgn_beta.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "machine/wd17xx.h"
|
#include "machine/wd17xx.h"
|
||||||
#include "imagedev/flopdrv.h"
|
#include "imagedev/flopdrv.h"
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
/* Components */
|
/* Components */
|
||||||
#include "cpu/m6502/m6502.h"
|
#include "cpu/m6502/m6502.h"
|
||||||
#include "machine/6522via.h"
|
#include "machine/6522via.h"
|
||||||
#include "machine/6551acia.h"
|
#include "machine/mos6551.h"
|
||||||
#include "sound/ay8910.h"
|
#include "sound/ay8910.h"
|
||||||
|
|
||||||
/* Devices */
|
/* Devices */
|
||||||
|
Loading…
Reference in New Issue
Block a user