qvt201: Add SCN2672 device (nw)

This commit is contained in:
AJR 2018-03-21 19:26:50 -04:00
parent f0b22a67f8
commit b264c78526

View File

@ -10,7 +10,7 @@ Skeleton driver for Qume QVT-201 & QVT-202 display terminals.
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/mc68681.h" #include "machine/mc68681.h"
#include "machine/nvram.h" #include "machine/nvram.h"
//#include "video/scn2672.h" #include "video/scn2674.h"
#include "screen.h" #include "screen.h"
class qvt201_state : public driver_device class qvt201_state : public driver_device
@ -25,11 +25,12 @@ public:
, m_attram(*this, "attram") , m_attram(*this, "attram")
{ } { }
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void qvt201(machine_config &config); void qvt201(machine_config &config);
void mem_map(address_map &map);
private: private:
SCN2672_DRAW_CHARACTER_MEMBER(draw_character);
void mem_map(address_map &map);
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen; required_device<screen_device> m_screen;
required_region_ptr<u8> m_p_chargen; 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) void qvt201_state::mem_map(address_map &map)
{ {
map(0x0000, 0x7fff).rom().region("maincpu", 0); map(0x0000, 0x7fff).rom().region("maincpu", 0);
map(0x8800, 0x8fff).ram().share("nvram"); 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(0x9800, 0x980f).rw("duart", FUNC(scn2681_device::read), FUNC(scn2681_device::write));
map(0xc000, 0xdfff).ram().share("dataram"); map(0xc000, 0xdfff).ram().share("dataram");
map(0xe000, 0xffff).ram().share("attram"); map(0xe000, 0xffff).ram().share("attram");
@ -67,10 +67,12 @@ MACHINE_CONFIG_START(qvt201_state::qvt201)
MCFG_SCREEN_ADD("screen", RASTER) 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) / 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_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_DEVICE_ADD("crtc", SCN2672, XTAL(48'654'000) / 30)
//MCFG_SCN2672_CHAR_WIDTH(9 or 10) 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 MACHINE_CONFIG_END