summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/acorn/cms/4080term.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/acorn/cms/4080term.cpp')
-rw-r--r--src/devices/bus/acorn/cms/4080term.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/devices/bus/acorn/cms/4080term.cpp b/src/devices/bus/acorn/cms/4080term.cpp
index 629b4915fdd..8d9d2eae40f 100644
--- a/src/devices/bus/acorn/cms/4080term.cpp
+++ b/src/devices/bus/acorn/cms/4080term.cpp
@@ -58,7 +58,6 @@ ROM_END
static DEVICE_INPUT_DEFAULTS_START(keyboard)
DEVICE_INPUT_DEFAULTS("RS232_TXBAUD", 0xff, RS232_BAUD_1200)
- DEVICE_INPUT_DEFAULTS("RS232_STARTBITS", 0xff, RS232_STARTBITS_1)
DEVICE_INPUT_DEFAULTS("RS232_DATABITS", 0xff, RS232_DATABITS_8)
DEVICE_INPUT_DEFAULTS("RS232_PARITY", 0xff, RS232_PARITY_NONE)
DEVICE_INPUT_DEFAULTS("RS232_STOPBITS", 0xff, RS232_STOPBITS_2)
@@ -72,13 +71,11 @@ void cms_4080term_device::device_add_mconfig(machine_config &config)
{
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(50);
- m_screen->set_size(768, 312);
- m_screen->set_visarea(0, 492 - 1, 0, 270 - 1);
+ m_screen->set_raw(12_MHz_XTAL, 768, 0, 492, 312, 0, 270);
m_screen->set_screen_update("ef9345", FUNC(ef9345_device::screen_update));
GFXDECODE(config, "gfxdecode", "palette", gfx_cms_4080term);
- PALETTE(config, "palette").set_entries(8);
+ PALETTE(config, "palette", palette_device::RGB_3BIT);
EF9345(config, m_ef9345, 0);
m_ef9345->set_screen("screen");
@@ -86,8 +83,8 @@ void cms_4080term_device::device_add_mconfig(machine_config &config)
TIMER(config, "scantimer").configure_scanline(FUNC(cms_4080term_device::update_scanline), "screen", 0, 10);
- VIA6522(config, m_via, 1_MHz_XTAL);
- m_via->writepa_handler().set("cent_data_out", FUNC(output_latch_device::bus_w));
+ MOS6522(config, m_via, 1_MHz_XTAL);
+ m_via->writepa_handler().set("cent_data_out", FUNC(output_latch_device::write));
m_via->ca2_handler().set(m_centronics, FUNC(centronics_device::write_strobe));
m_via->irq_handler().set(FUNC(cms_4080term_device::bus_irq_w));
@@ -147,9 +144,9 @@ void cms_4080term_device::device_start()
{
address_space &space = m_bus->memspace();
- space.install_readwrite_handler(0xfd20, 0xfd2f, read8sm_delegate(FUNC(ef9345_device::data_r), m_ef9345.target()), write8sm_delegate(FUNC(ef9345_device::data_w), m_ef9345.target()));
+ space.install_readwrite_handler(0xfd20, 0xfd2f, read8sm_delegate(*m_ef9345, FUNC(ef9345_device::data_r)), write8sm_delegate(*m_ef9345, FUNC(ef9345_device::data_w)));
space.install_device(0xfd30, 0xfd3f, *m_via, &via6522_device::map);
- space.install_readwrite_handler(0xfd40, 0xfd4f, read8sm_delegate(FUNC(mos6551_device::read), m_acia.target()), write8sm_delegate(FUNC(mos6551_device::write), m_acia.target()));
+ space.install_readwrite_handler(0xfd40, 0xfd4f, read8sm_delegate(*m_acia, FUNC(mos6551_device::read)), write8sm_delegate(*m_acia, FUNC(mos6551_device::write)));
uint8_t *FNT = memregion("ef9345")->base();
uint16_t dest = 0x2000;
@@ -172,7 +169,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(cms_4080term_device::update_scanline)
m_ef9345->update_scanline((uint16_t)param);
}
-WRITE_LINE_MEMBER(cms_4080term_device::bus_irq_w)
+void cms_4080term_device::bus_irq_w(int state)
{
m_bus->irq_w(state);
}