summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commitb264c785262879117b5e241a612f8dfa5b46d37f (patch)
tree876675168ba79a115bbe3971dcfc2b8c09ab2894
parentf0b22a67f812b32842553e26f9f515f80219f47e (diff)
qvt201: Add SCN2672 device (nw)
-rw-r--r--src/mame/drivers/qvt201.cpp22
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