diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2018-03-21 19:26:50 -0400 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2018-03-21 19:28:26 -0400 |
commit | b264c785262879117b5e241a612f8dfa5b46d37f (patch) | |
tree | 876675168ba79a115bbe3971dcfc2b8c09ab2894 | |
parent | f0b22a67f812b32842553e26f9f515f80219f47e (diff) |
qvt201: Add SCN2672 device (nw)
-rw-r--r-- | src/mame/drivers/qvt201.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/mame/drivers/qvt201.cpp b/src/mame/drivers/qvt201.cpp index d5c0f862780..09ebd03e82d 100644 --- a/src/mame/drivers/qvt201.cpp +++ b/src/mame/drivers/qvt201.cpp @@ -10,7 +10,7 @@ Skeleton driver for Qume QVT-201 & QVT-202 display terminals. #include "cpu/z80/z80.h" #include "machine/mc68681.h" #include "machine/nvram.h" -//#include "video/scn2672.h" +#include "video/scn2674.h" #include "screen.h" class qvt201_state : public driver_device @@ -25,11 +25,12 @@ public: , m_attram(*this, "attram") { } - u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - void qvt201(machine_config &config); - void mem_map(address_map &map); private: + SCN2672_DRAW_CHARACTER_MEMBER(draw_character); + + void mem_map(address_map &map); + required_device<cpu_device> m_maincpu; required_device<screen_device> m_screen; required_region_ptr<u8> m_p_chargen; @@ -38,16 +39,15 @@ private: }; -u32 qvt201_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +SCN2672_DRAW_CHARACTER_MEMBER(qvt201_state::draw_character) { - return 0; } void qvt201_state::mem_map(address_map &map) { map(0x0000, 0x7fff).rom().region("maincpu", 0); map(0x8800, 0x8fff).ram().share("nvram"); - //AM_RANGE(0x9000, 0x9007) AM_DEVREADWRITE("crtc", scn2672_device, read, write) + map(0x9000, 0x9007).rw("crtc", FUNC(scn2672_device::read), FUNC(scn2672_device::write)); map(0x9800, 0x980f).rw("duart", FUNC(scn2681_device::read), FUNC(scn2681_device::write)); map(0xc000, 0xdfff).ram().share("dataram"); map(0xe000, 0xffff).ram().share("attram"); @@ -67,10 +67,12 @@ MACHINE_CONFIG_START(qvt201_state::qvt201) MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_RAW_PARAMS(XTAL(48'654'000) / 3, 102 * 10, 0, 80 * 10, 265, 0, 250) //MCFG_SCREEN_RAW_PARAMS(XTAL(48'654'000) / 2, 170 * 9, 0, 132 * 9, 265, 0, 250) - MCFG_SCREEN_UPDATE_DRIVER(qvt201_state, screen_update) + MCFG_SCREEN_UPDATE_DEVICE("crtc", scn2672_device, screen_update) - //MCFG_DEVICE_ADD("crtc", SCN2672, CHAR_CLOCK) - //MCFG_SCN2672_CHAR_WIDTH(9 or 10) + MCFG_DEVICE_ADD("crtc", SCN2672, XTAL(48'654'000) / 30) + MCFG_SCN2672_CHARACTER_WIDTH(10) // 9 in 132-column mode + MCFG_SCN2672_INTR_CALLBACK(INPUTLINE("maincpu", 0)) + MCFG_VIDEO_SET_SCREEN("screen") MACHINE_CONFIG_END |