diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2019-02-11 18:05:26 -0500 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2019-02-11 18:05:26 -0500 |
commit | 645fde9e6c0c356b55a967f3a5cda03514f73242 (patch) | |
tree | 13c4e2188baf3b52e5deecf071a030d19fab9eb0 | |
parent | e856dea0fb5c2d897326c5962507fcfd9855244c (diff) |
lnw80: Fix configuration (nw)
-rw-r--r-- | src/mame/drivers/trs80.cpp | 21 | ||||
-rw-r--r-- | src/mame/includes/trs80.h | 3 |
2 files changed, 15 insertions, 9 deletions
diff --git a/src/mame/drivers/trs80.cpp b/src/mame/drivers/trs80.cpp index 3a98bb6827b..b9d3997be2d 100644 --- a/src/mame/drivers/trs80.cpp +++ b/src/mame/drivers/trs80.cpp @@ -158,6 +158,7 @@ lnw80: works #include "emu.h" #include "includes/trs80.h" +#include "machine/com8116.h" #include "sound/ay8910.h" #include "screen.h" #include "speaker.h" @@ -204,7 +205,7 @@ void trs80_state::m1_io(address_map &map) map.global_mask(0xff); map.unmap_value_high(); map(0xe8, 0xe8).rw(FUNC(trs80_state::port_e8_r), FUNC(trs80_state::port_e8_w)); - map(0xe9, 0xe9).portr("E9").w(m_brg, FUNC(com8116_device::stt_str_w)); + map(0xe9, 0xe9).portr("E9").w("brg", FUNC(com8116_device::stt_str_w)); map(0xea, 0xea).rw(FUNC(trs80_state::port_ea_r), FUNC(trs80_state::port_ea_w)); map(0xeb, 0xeb).rw(m_uart, FUNC(ay31015_device::receive), FUNC(ay31015_device::transmit)); map(0xff, 0xff).rw(FUNC(trs80_state::port_ff_r), FUNC(trs80_state::port_ff_w)); @@ -255,9 +256,12 @@ void trs80_state::lnw80_io(address_map &map) { map.global_mask(0xff); map.unmap_value_high(); - m1_io(map); - map(0xe9, 0xe9).nopw(); + map(0xe8, 0xe8).rw(FUNC(trs80_state::port_e8_r), FUNC(trs80_state::port_e8_w)); + map(0xe9, 0xe9).portr("E9"); + map(0xea, 0xea).rw(FUNC(trs80_state::port_ea_r), FUNC(trs80_state::port_ea_w)); + map(0xeb, 0xeb).rw(m_uart, FUNC(ay31015_device::receive), FUNC(ay31015_device::transmit)); map(0xfe, 0xfe).rw(FUNC(trs80_state::lnw80_fe_r), FUNC(trs80_state::lnw80_fe_w)); + map(0xff, 0xff).rw(FUNC(trs80_state::port_ff_r), FUNC(trs80_state::port_ff_w)); } void trs80_state::radionic_mem(address_map &map) @@ -555,9 +559,9 @@ MACHINE_CONFIG_START(trs80_state::model1) // model I, level II OUTPUT_LATCH(config, m_cent_data_out); m_centronics->set_output_latch(*m_cent_data_out); - COM8116(config, m_brg, 5.0688_MHz_XTAL); // BR1941L - m_brg->fr_handler().set(m_uart, FUNC(ay31015_device::write_rcp)); - m_brg->ft_handler().set(m_uart, FUNC(ay31015_device::write_tcp)); + com8116_device &brg(COM8116(config, "brg", 5.0688_MHz_XTAL)); // BR1941L + brg.fr_handler().set(m_uart, FUNC(ay31015_device::write_rcp)); + brg.ft_handler().set(m_uart, FUNC(ay31015_device::write_tcp)); AY31015(config, m_uart); m_uart->read_si_callback().set("rs232", FUNC(rs232_port_device::rxd_r)); @@ -615,6 +619,11 @@ MACHINE_CONFIG_START(trs80_state::lnw80) MCFG_SCREEN_RAW_PARAMS(3.579545_MHz_XTAL * 3, 682, 0, 480, 264, 0, 192) // 10.738MHz generated by tank circuit (top left of page 2 of schematics) // LNW80 Theory of Operations gives H and V periods as 15.750kHz and 59.66Hz, probably due to rounding the calculated ~15.7468kHz to 4 figures MCFG_SCREEN_UPDATE_DRIVER(trs80_state, screen_update_lnw80) + + config.device_remove("brg"); + CLOCK(config, m_uart_clock, 19200 * 16); + m_uart_clock->signal_handler().set(m_uart, FUNC(ay31015_device::write_rcp)); + m_uart_clock->signal_handler().append(m_uart, FUNC(ay31015_device::write_tcp)); MACHINE_CONFIG_END MACHINE_CONFIG_START(trs80_state::radionic) diff --git a/src/mame/includes/trs80.h b/src/mame/includes/trs80.h index 58ce67f4c52..4bfc3d9f98e 100644 --- a/src/mame/includes/trs80.h +++ b/src/mame/includes/trs80.h @@ -15,7 +15,6 @@ #include "imagedev/snapquik.h" #include "machine/ay31015.h" #include "machine/clock.h" -#include "machine/com8116.h" #include "machine/i8255.h" #include "bus/rs232/rs232.h" #include "machine/buffer.h" @@ -44,7 +43,6 @@ public: , m_uart(*this, "uart") , m_uart_clock(*this, "uart_clock") , m_ppi(*this, "ppi") // Radionic only - , m_brg(*this, "brg") , m_fdc(*this, "fdc") , m_floppy0(*this, "fdc:0") , m_floppy1(*this, "fdc:1") @@ -139,7 +137,6 @@ private: optional_device<ay31015_device> m_uart; optional_device<clock_device> m_uart_clock; optional_device<i8255_device> m_ppi; - optional_device<com8116_device> m_brg; optional_device<fd1793_device> m_fdc; optional_device<floppy_connector> m_floppy0; optional_device<floppy_connector> m_floppy1; |