summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/wy100.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/wy100.cpp')
-rw-r--r--src/mame/drivers/wy100.cpp24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/mame/drivers/wy100.cpp b/src/mame/drivers/wy100.cpp
index 56d963dfa72..792924ee7fb 100644
--- a/src/mame/drivers/wy100.cpp
+++ b/src/mame/drivers/wy100.cpp
@@ -10,7 +10,6 @@
are protected, which is the only transparent attribute supported.
Known emulation bugs:
- - Return key often gets corrupted when looped back
- Frequent screen glitches when writing to the display
- No dimming of protected characters
@@ -21,7 +20,7 @@
#include "cpu/mcs48/mcs48.h"
#include "machine/bankdev.h"
#include "machine/input_merger.h"
-#include "machine/mc2661.h"
+#include "machine/scn_pci.h"
#include "machine/wy50kb.h"
#include "sound/spkrdev.h"
#include "video/i8275.h"
@@ -64,7 +63,7 @@ private:
required_device<mcs48_cpu_device> m_maincpu;
required_device<address_map_bank_device> m_rambank;
required_device_array<i8276_device, 2> m_crtc;
- required_device<mc2661_device> m_pci;
+ required_device<scn2651_device> m_pci;
required_device<rs232_port_device> m_modem;
required_device<rs232_port_device> m_printer;
@@ -147,8 +146,6 @@ u8 wy100_state::memory_r(offs_t offset)
{
u8 p2 = m_maincpu->p2_r();
u8 data = BIT(p2, 5) ? m_pci->read(p2 & 3) : m_rambank->read8(offset);
- if (BIT(p2, 5))
- logerror("%s: Reading %02X from PCI register %d\n", machine().describe_context(), data, p2 & 3);
if (m_bs_enable && !machine().side_effects_disabled())
{
u8 chardata = (data & 0xe0) == 0x80 ? data : data & 0x7f;
@@ -172,11 +169,7 @@ void wy100_state::memory_w(offs_t offset, u8 data)
m_bs_enable = true;
if (BIT(p2, 5))
- {
- logerror("%s: Writing %02X to PCI register %d\n", machine().describe_context(), data, p2 & 3);
-
m_pci->write(p2 & 3, data);
- }
m_rambank->write8(offset, data);
}
@@ -212,7 +205,8 @@ void wy100_state::wy100(machine_config &config)
m_maincpu->p1_out_cb().append("spkrgate", FUNC(input_merger_device::in_w<0>)).bit(7);
m_maincpu->p2_out_cb().set(FUNC(wy100_state::p2_w));
m_maincpu->t0_in_cb().set("keyboard", FUNC(wy100_keyboard_device::sense_r)).invert();
- m_maincpu->t1_in_cb().set(m_pci, FUNC(mc2661_device::rxrdy_r)).invert();
+ //m_maincpu->t1_in_cb().set(m_pci, FUNC(mc2661_device::rxrdy_r)).invert();
+ m_maincpu->t1_in_cb().set(m_pci, FUNC(scn2651_device::rxrdy_r));
WY100_KEYBOARD(config, "keyboard");
@@ -222,7 +216,7 @@ void wy100_state::wy100(machine_config &config)
m_rambank->set_addr_width(13);
m_rambank->set_stride(0x100);
- MC2661(config, m_pci, 10.1376_MHz_XTAL / 2); // INS2651N
+ SCN2651(config, m_pci, 10.1376_MHz_XTAL / 2); // INS2651N
m_pci->rts_handler().set(m_modem, FUNC(rs232_port_device::write_rts));
m_pci->dtr_handler().set(m_modem, FUNC(rs232_port_device::write_dtr));
m_pci->txd_handler().set(FUNC(wy100_state::txd_w));
@@ -250,12 +244,12 @@ void wy100_state::wy100(machine_config &config)
spkrgate.output_handler().set("speaker", FUNC(speaker_sound_device::level_w));
RS232_PORT(config, m_modem, default_rs232_devices, "loopback");
- m_modem->dcd_handler().set(m_pci, FUNC(mc2661_device::dcd_w));
- m_modem->cts_handler().set(m_pci, FUNC(mc2661_device::cts_w));
- m_modem->rxd_handler().set(m_pci, FUNC(mc2661_device::rx_w));
+ m_modem->dcd_handler().set(m_pci, FUNC(scn2651_device::dcd_w));
+ m_modem->cts_handler().set(m_pci, FUNC(scn2651_device::cts_w));
+ m_modem->rxd_handler().set(m_pci, FUNC(scn2651_device::rxd_w));
RS232_PORT(config, m_printer, default_rs232_devices, nullptr);
- m_printer->dsr_handler().set(m_pci, FUNC(mc2661_device::dsr_w));
+ m_printer->dsr_handler().set(m_pci, FUNC(scn2651_device::dsr_w));
}