summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/epson_sio/pf10.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/epson_sio/pf10.cpp')
-rw-r--r--src/devices/bus/epson_sio/pf10.cpp24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/devices/bus/epson_sio/pf10.cpp b/src/devices/bus/epson_sio/pf10.cpp
index 418971e47d1..bf78ee1ad23 100644
--- a/src/devices/bus/epson_sio/pf10.cpp
+++ b/src/devices/bus/epson_sio/pf10.cpp
@@ -27,8 +27,6 @@ DEFINE_DEVICE_TYPE(EPSON_PF10, epson_pf10_device, "epson_pf10", "EPSON PF-10 Por
void epson_pf10_device::cpu_mem(address_map &map)
{
- map(0x0000, 0x001f).m("maincpu", FUNC(hd6303y_cpu_device::m6801_io));
- map(0x0040, 0x00ff).ram(); /* 192 bytes internal ram */
map(0x0800, 0x0fff).ram(); /* external 2k ram */
map(0x1000, 0x17ff).rw(FUNC(epson_pf10_device::fdc_r), FUNC(epson_pf10_device::fdc_w));
map(0x1800, 0x1fff).w(FUNC(epson_pf10_device::fdc_tc_w));
@@ -62,7 +60,7 @@ static void pf10_floppies(device_slot_interface &device)
void epson_pf10_device::device_add_mconfig(machine_config &config)
{
- HD6303Y(config, m_cpu, XTAL(4'915'200)); // HD63A03XF
+ HD6303X(config, m_cpu, XTAL(4'915'200)); // HD63A03XF
m_cpu->set_addrmap(AS_PROGRAM, &epson_pf10_device::cpu_mem);
m_cpu->in_p1_cb().set(FUNC(epson_pf10_device::port1_r));
m_cpu->out_p1_cb().set(FUNC(epson_pf10_device::port1_w));
@@ -109,7 +107,7 @@ epson_pf10_device::epson_pf10_device(const machine_config &mconfig, const char *
void epson_pf10_device::device_start()
{
- m_timer = timer_alloc(0, nullptr);
+ m_timer = timer_alloc(FUNC(epson_pf10_device::serial_clk_tick), this);
}
//-------------------------------------------------
@@ -122,17 +120,13 @@ void epson_pf10_device::device_reset()
}
//-------------------------------------------------
-// device_timer - handler timer events
+// serial_clk_tick - tick the CPU's external
+// serial clock
//-------------------------------------------------
-void epson_pf10_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+TIMER_CALLBACK_MEMBER( epson_pf10_device::serial_clk_tick )
{
- switch (id)
- {
- case 0:
- m_cpu->m6801_clock_serial();
- break;
- }
+ m_cpu->clock_serial();
}
@@ -189,7 +183,7 @@ void epson_pf10_device::fdc_tc_w(uint8_t data)
// rxc_w - rx input
//-------------------------------------------------
-WRITE_LINE_MEMBER( epson_pf10_device::rxc_w )
+void epson_pf10_device::rxc_w(int state)
{
m_rxc = state;
m_sio_input->rx_w(m_hd6303_tx & m_rxc);
@@ -199,7 +193,7 @@ WRITE_LINE_MEMBER( epson_pf10_device::rxc_w )
// pinc_w - pin input
//-------------------------------------------------
-WRITE_LINE_MEMBER( epson_pf10_device::pinc_w )
+void epson_pf10_device::pinc_w(int state)
{
m_pinc = state;
m_sio_input->pin_w(m_pinc);
@@ -209,7 +203,7 @@ WRITE_LINE_MEMBER( epson_pf10_device::pinc_w )
// hd6303_tx_w - rx output
//-------------------------------------------------
-WRITE_LINE_MEMBER( epson_pf10_device::hd6303_tx_w )
+void epson_pf10_device::hd6303_tx_w(int state)
{
m_hd6303_tx = state;
m_sio_input->rx_w(m_hd6303_tx & m_rxc);