summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ti99/peb/ti_rs232.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ti99/peb/ti_rs232.cpp')
-rw-r--r--src/devices/bus/ti99/peb/ti_rs232.cpp27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/devices/bus/ti99/peb/ti_rs232.cpp b/src/devices/bus/ti99/peb/ti_rs232.cpp
index 8f2ed3f4c45..cbc164bbcb2 100644
--- a/src/devices/bus/ti99/peb/ti_rs232.cpp
+++ b/src/devices/bus/ti99/peb/ti_rs232.cpp
@@ -254,17 +254,17 @@ READ8Z_MEMBER(ti_rs232_pio_device::crureadz)
if ((m_signals[0] & tms9902_device::CTS)!=0) reply |= 0x20;
if ((m_signals[1] & tms9902_device::CTS)!=0) reply |= 0x40;
if (m_led) reply |= 0x80;
- *value = reply;
+ *value = BIT(reply, (offset>>1) & 7);
return;
}
if ((offset & 0x00c0)==0x0040)
{
- *value = m_uart0->cruread(space, offset>>4, 0xff);
+ *value = m_uart0->cruread(offset>>1);
return;
}
if ((offset & 0x00c0)==0x0080)
{
- *value = m_uart1->cruread(space, offset>>4, 0xff);
+ *value = m_uart1->cruread(offset>>1);
return;
}
}
@@ -273,18 +273,18 @@ READ8Z_MEMBER(ti_rs232_pio_device::crureadz)
/*
CRU write
*/
-WRITE8_MEMBER(ti_rs232_pio_device::cruwrite)
+void ti_rs232_pio_device::cruwrite(offs_t offset, uint8_t data)
{
if ((offset & 0xff00)==m_cru_base)
{
if ((offset & 0x00c0)==0x0040)
{
- m_uart0->cruwrite(space, offset>>1, data, 0xff);
+ m_uart0->cruwrite(offset>>1, data);
return;
}
if ((offset & 0x00c0)==0x0080)
{
- m_uart1->cruwrite(space, offset>>1, data, 0xff);
+ m_uart1->cruwrite(offset>>1, data);
return;
}
@@ -403,7 +403,7 @@ READ8Z_MEMBER( ti_rs232_pio_device::readz )
/*
Memory write
*/
-WRITE8_MEMBER( ti_rs232_pio_device::write )
+void ti_rs232_pio_device::write(offs_t offset, uint8_t data)
{
if (((offset & m_select_mask)==m_select_value) && m_selected)
{
@@ -967,12 +967,12 @@ WRITE_LINE_MEMBER( ti_rs232_pio_device::rcv1_callback )
receive_data_or_line_state(1);
}
-WRITE8_MEMBER( ti_rs232_pio_device::xmit0_callback )
+void ti_rs232_pio_device::xmit0_callback(uint8_t data)
{
transmit_data(0, data);
}
-WRITE8_MEMBER( ti_rs232_pio_device::xmit1_callback )
+void ti_rs232_pio_device::xmit1_callback(uint8_t data)
{
transmit_data(1, data);
}
@@ -998,12 +998,12 @@ void ti_rs232_pio_device::ctrl_callback(int uartind, int offset, uint8_t data)
}
}
-WRITE8_MEMBER( ti_rs232_pio_device::ctrl0_callback )
+void ti_rs232_pio_device::ctrl0_callback(offs_t offset, uint8_t data)
{
ctrl_callback(0, offset, data);
}
-WRITE8_MEMBER( ti_rs232_pio_device::ctrl1_callback )
+void ti_rs232_pio_device::ctrl1_callback(offs_t offset, uint8_t data)
{
ctrl_callback(1, offset, data);
}
@@ -1101,7 +1101,8 @@ INPUT_PORTS_START( ti_rs232 )
PORT_CONFSETTING( 0x02, "5-20" )
INPUT_PORTS_END
-MACHINE_CONFIG_START(ti_rs232_pio_device::device_add_mconfig)
+void ti_rs232_pio_device::device_add_mconfig(machine_config &config)
+{
TMS9902(config, m_uart0, 3000000);
m_uart0->int_cb().set(FUNC(ti_rs232_pio_device::int0_callback));
m_uart0->rcv_cb().set(FUNC(ti_rs232_pio_device::rcv0_callback));
@@ -1128,7 +1129,7 @@ MACHINE_CONFIG_START(ti_rs232_pio_device::device_add_mconfig)
m_crulatch->q_out_cb<5>().set(FUNC(ti_rs232_pio_device::cts0_w));
m_crulatch->q_out_cb<6>().set(FUNC(ti_rs232_pio_device::cts1_w));
m_crulatch->q_out_cb<7>().set(FUNC(ti_rs232_pio_device::led_w));
-MACHINE_CONFIG_END
+}
const tiny_rom_entry *ti_rs232_pio_device::device_rom_region() const
{