From 98225bee0b4e4b6c09e7c472672453cbcba5a0b3 Mon Sep 17 00:00:00 2001 From: AJR Date: Fri, 12 Oct 2018 12:39:21 -0400 Subject: qvt103: Add NVRAM and CRT9007 (nw) --- src/mame/drivers/qvt103.cpp | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/mame/drivers/qvt103.cpp b/src/mame/drivers/qvt103.cpp index 9c33b8ffaac..ea26bd660bb 100644 --- a/src/mame/drivers/qvt103.cpp +++ b/src/mame/drivers/qvt103.cpp @@ -9,10 +9,10 @@ Skeleton driver for Qume QVT-103 video display terminal. #include "emu.h" #include "cpu/z80/z80.h" #include "cpu/mcs48/mcs48.h" -//#include "machine/nvram.h" +#include "machine/nvram.h" #include "machine/z80ctc.h" #include "machine/z80dart.h" -//#include "video/crt9007.h" +#include "video/crt9007.h" #include "screen.h" class qvt103_state : public driver_device @@ -45,8 +45,8 @@ void qvt103_state::mem_map(address_map &map) { map(0x0000, 0x5fff).rom().region("maincpu", 0); map(0x6000, 0x6001).rw("kbdmcu", FUNC(i8741_device::upi41_master_r), FUNC(i8741_device::upi41_master_w)); - map(0x8000, 0x87ff).ram(); - //AM_RANGE(0xa000, 0xa03f) AM_DEVREADWRITE("vpac", crt9007_device, read, write) + map(0x8000, 0x87ff).ram().share("nvram"); + map(0xa000, 0xa03f).rw("vpac", FUNC(crt9007_device::read), FUNC(crt9007_device::write)); map(0xc000, 0xffff).ram(); // not entirely contiguous? } @@ -69,23 +69,29 @@ static const z80_daisy_config daisy_chain[] = void qvt103_state::qvt103(machine_config &config) { - Z80(config, m_maincpu, XTAL(29'376'000) / 9); // divider guessed + Z80(config, m_maincpu, 29.376_MHz_XTAL / 9); // divider guessed m_maincpu->set_addrmap(AS_PROGRAM, &qvt103_state::mem_map); m_maincpu->set_addrmap(AS_IO, &qvt103_state::io_map); m_maincpu->set_daisy_config(daisy_chain); - z80ctc_device& ctc(Z80CTC(config, "ctc", XTAL(29'376'000) / 9)); + NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // TC5516APL + battery + + z80ctc_device &ctc(Z80CTC(config, "ctc", 29.376_MHz_XTAL / 9)); ctc.intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); - z80dart_device& dart(Z80DART(config, "dart", XTAL(29'376'000) / 9)); + z80dart_device &dart(Z80DART(config, "dart", 29.376_MHz_XTAL / 9)); dart.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_raw(XTAL(29'376'000) * 2 / 3, 102 * 10, 0, 80 * 10, 320, 0, 300); - //screen.set_raw(XTAL(29'376'000), 170 * 9, 0, 132 * 9, 320, 0, 300); + screen.set_raw(29.376_MHz_XTAL * 2 / 3, 102 * 10, 0, 80 * 10, 320, 0, 300); + //screen.set_raw(29.376_MHz_XTAL, 170 * 9, 0, 132 * 9, 320, 0, 300); screen.set_screen_update(FUNC(qvt103_state::screen_update)); - I8741(config, "kbdmcu", XTAL(6'000'000)); + crt9007_device &vpac(CRT9007(config, "vpac", 29.376_MHz_XTAL / 15)); + vpac.set_character_width(10); + vpac.int_callback().set("ctc", FUNC(z80ctc_device::trg3)); + + I8741(config, "kbdmcu", 6_MHz_XTAL); } /************************************************************************************************************** -- cgit v1.2.3