From da4bdb96d1cd8d368712b73de886c3962851c2cc Mon Sep 17 00:00:00 2001 From: Nigel Barnes Date: Wed, 17 Jul 2019 02:20:55 +0100 Subject: d64plus: Added gfxdecode (nw) --- src/mame/drivers/dragon.cpp | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/src/mame/drivers/dragon.cpp b/src/mame/drivers/dragon.cpp index eb7298cd1cd..a21dc2dc575 100644 --- a/src/mame/drivers/dragon.cpp +++ b/src/mame/drivers/dragon.cpp @@ -191,6 +191,26 @@ static void dragon_alpha_floppies(device_slot_interface &device) device.option_add("dd", FLOPPY_35_DD); } + +// F4 Character Displayer +static const gfx_layout d64plus_charlayout = +{ + 8, 12, // 8 x 12 characters + 256, // 256 characters + 1, // 1 bits per pixel + { 0 }, // no bitplanes + // x offsets + { 0, 1, 2, 3, 4, 5, 6, 7 }, + // y offsets + { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8 }, + 8 * 16 // every char takes 16 bytes +}; + +static GFXDECODE_START(gfx_d64plus) + GFXDECODE_ENTRY("chargen", 0, d64plus_charlayout, 0, 1) +GFXDECODE_END + + void dragon_state::dragon_base(machine_config &config) { this->set_clock(14.218_MHz_XTAL / 16); @@ -304,11 +324,11 @@ void d64plus_state::d64plus(machine_config &config) dragon64(config); // video hardware screen_device &plus_screen(SCREEN(config, "plus_screen", SCREEN_TYPE_RASTER)); - plus_screen.set_refresh_hz(50); - plus_screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ - plus_screen.set_size(640, 264); - plus_screen.set_visarea_full(); + plus_screen.set_raw(14.218_MHz_XTAL, 912, 0, 640, 316, 0, 264); plus_screen.set_screen_update("crtc", FUNC(hd6845s_device::screen_update)); + + GFXDECODE(config, "gfxdecode", "palette", gfx_d64plus); + PALETTE(config, m_palette, palette_device::MONOCHROME); // crtc -- cgit v1.2.3