summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/adamnet/spi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/adamnet/spi.cpp')
-rw-r--r--src/devices/bus/adamnet/spi.cpp35
1 files changed, 15 insertions, 20 deletions
diff --git a/src/devices/bus/adamnet/spi.cpp b/src/devices/bus/adamnet/spi.cpp
index 6ad84bbed7c..34cbcb7f5ab 100644
--- a/src/devices/bus/adamnet/spi.cpp
+++ b/src/devices/bus/adamnet/spi.cpp
@@ -12,16 +12,6 @@
//**************************************************************************
-// MACROS / CONSTANTS
-//**************************************************************************
-
-#define M6801_TAG "m6801"
-#define MC2661_TAG "mc2661"
-#define RS232_TAG "rs232"
-
-
-
-//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
@@ -33,7 +23,7 @@ DEFINE_DEVICE_TYPE(ADAM_SPI, adam_spi_device, "adam_spi", "Adam SPI")
//-------------------------------------------------
ROM_START( adam_spi )
- ROM_REGION( 0x800, M6801_TAG, 0 )
+ ROM_REGION( 0x800, "m6801", 0 )
ROM_LOAD( "spi.bin", 0x000, 0x800, CRC(4ba30352) SHA1(99fe5aebd505a208bea6beec5d7322b15426e9c1) )
ROM_END
@@ -54,9 +44,8 @@ const tiny_rom_entry *adam_spi_device::device_rom_region() const
void adam_spi_device::adam_spi_mem(address_map &map)
{
- map(0x0000, 0x001f).rw(M6801_TAG, FUNC(m6801_cpu_device::m6801_io_r), FUNC(m6801_cpu_device::m6801_io_w));
- map(0x0080, 0x00ff).ram();
- map(0xf800, 0xffff).rom().region(M6801_TAG, 0);
+ map(0x0100, 0x0103).rw("epci", FUNC(scn2661a_device::read), FUNC(scn2661a_device::write));
+ map(0x0104, 0x01ff).ram();
}
@@ -70,11 +59,17 @@ void adam_spi_device::device_add_mconfig(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &adam_spi_device::adam_spi_mem);
m_maincpu->in_p2_cb().set(FUNC(adam_spi_device::p2_r));
m_maincpu->out_p2_cb().set(FUNC(adam_spi_device::p2_w));
- m_maincpu->set_disable();
- MC2661(config, MC2661_TAG, XTAL(4'915'200));
+ scn2661a_device &epci(SCN2661A(config, "epci", XTAL(4'915'200)));
+ epci.txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
+ epci.rts_handler().set("rs232", FUNC(rs232_port_device::write_rts));
+ epci.dtr_handler().set("rs232", FUNC(rs232_port_device::write_dtr));
- RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr);
+ rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr));
+ rs232.rxd_handler().set("epci", FUNC(scn2661a_device::rxd_w));
+ rs232.cts_handler().set("epci", FUNC(scn2661a_device::cts_w));
+ rs232.dsr_handler().set("epci", FUNC(scn2661a_device::dsr_w));
+ rs232.dcd_handler().set("epci", FUNC(scn2661a_device::dcd_w));
centronics_device &centronics(CENTRONICS(config, "centronics", centronics_devices, "printer"));
centronics.set_data_input_buffer("cent_data_in");
@@ -96,7 +91,7 @@ void adam_spi_device::device_add_mconfig(machine_config &config)
adam_spi_device::adam_spi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, ADAM_SPI, tag, owner, clock)
, device_adamnet_card_interface(mconfig, *this)
- , m_maincpu(*this, M6801_TAG)
+ , m_maincpu(*this, "m6801")
{
}
@@ -124,7 +119,7 @@ void adam_spi_device::adamnet_reset_w(int state)
// p2_r -
//-------------------------------------------------
-READ8_MEMBER( adam_spi_device::p2_r )
+uint8_t adam_spi_device::p2_r()
{
/*
@@ -151,7 +146,7 @@ READ8_MEMBER( adam_spi_device::p2_r )
// p2_w -
//-------------------------------------------------
-WRITE8_MEMBER( adam_spi_device::p2_w )
+void adam_spi_device::p2_w(uint8_t data)
{
/*