summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/ptcsol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/ptcsol.cpp')
-rw-r--r--src/mame/drivers/ptcsol.cpp23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/mame/drivers/ptcsol.cpp b/src/mame/drivers/ptcsol.cpp
index 750a85a6842..381e6361a31 100644
--- a/src/mame/drivers/ptcsol.cpp
+++ b/src/mame/drivers/ptcsol.cpp
@@ -121,7 +121,6 @@
//#include "bus/s100/s100.h"
#include "imagedev/cassette.h"
#include "machine/ay31015.h"
-#include "machine/clock.h"
#include "machine/keyboard.h"
#include "sound/spkrdev.h"
#include "sound/wave.h"
@@ -158,8 +157,6 @@ public:
, m_cass2(*this, "cassette2")
, m_uart(*this, "uart")
, m_uart_s(*this, "uart_s")
- , m_uart_clock(*this, "uart_clock")
- , m_uart_s_clock(*this, "uart_s_clock")
, m_rs232(*this, "rs232")
, m_p_videoram(*this, "videoram")
, m_p_chargen(*this, "chargen")
@@ -214,8 +211,6 @@ private:
required_device<cassette_image_device> m_cass2;
required_device<ay31015_device> m_uart;
required_device<ay31015_device> m_uart_s;
- required_device<clock_device> m_uart_clock;
- required_device<clock_device> m_uart_s_clock;
required_device<rs232_port_device> m_rs232;
required_shared_ptr<uint8_t> m_p_videoram;
required_region_ptr<u8> m_p_chargen;
@@ -425,7 +420,8 @@ WRITE8_MEMBER( sol20_state::sol20_fa_w )
m_cassette_timer->adjust(attotime::zero);
// bit 5 baud rate */
- m_uart_clock->set_unscaled_clock(BIT(data, 5) ? 4800 : 19200);
+ m_uart->set_receiver_clock((BIT(data, 5)) ? 4800.0 : 19200.0);
+ m_uart->set_transmitter_clock((BIT(data, 5)) ? 4800.0 : 19200.0);
}
WRITE8_MEMBER( sol20_state::sol20_fd_w )
@@ -617,7 +613,8 @@ void sol20_state::machine_reset()
s_clock = s_bauds[s_count] << 4;
// these lines could be commented out for now if you want better performance
- m_uart_s_clock->set_unscaled_clock(s_clock);
+ m_uart_s->set_receiver_clock(s_clock);
+ m_uart_s->set_transmitter_clock(s_clock);
// boot-bank
membank("boot")->set_entry(1);
@@ -772,23 +769,19 @@ void sol20_state::sol20(machine_config &config)
m_cass2->set_interface("sol20_cass");
AY51013(config, m_uart); // TMS6011NC
+ m_uart->set_tx_clock(4800.0);
+ m_uart->set_rx_clock(4800.0);
m_uart->set_auto_rdav(true); // ROD (pin 4) tied to RDD (pin 18)
- CLOCK(config, m_uart_clock, 4800);
- m_uart_clock->signal_handler().set(m_uart, FUNC(ay51013_device::write_rcp));
- m_uart_clock->signal_handler().append(m_uart, FUNC(ay51013_device::write_tcp));
-
RS232_PORT(config, m_rs232, default_rs232_devices, nullptr);
AY51013(config, m_uart_s); // TMS6011NC
m_uart_s->read_si_callback().set(m_rs232, FUNC(rs232_port_device::rxd_r));
m_uart_s->write_so_callback().set(m_rs232, FUNC(rs232_port_device::write_txd));
+ m_uart_s->set_tx_clock(4800.0);
+ m_uart_s->set_rx_clock(4800.0);
m_uart_s->set_auto_rdav(true); // ROD (pin 4) tied to RDD (pin 18)
- CLOCK(config, m_uart_s_clock, 4800);
- m_uart_s_clock->signal_handler().set(m_uart_s, FUNC(ay51013_device::write_rcp));
- m_uart_s_clock->signal_handler().append(m_uart_s, FUNC(ay51013_device::write_tcp));
-
generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, "keyboard", 0));
keyboard.set_keyboard_callback(FUNC(sol20_state::kbd_put));