diff options
Diffstat (limited to 'src/devices/bus/epson_sio/pf10.cpp')
-rw-r--r-- | src/devices/bus/epson_sio/pf10.cpp | 24 |
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); |