diff options
author | Nigel Barnes <Pernod70@users.noreply.github.com> | 2019-07-17 02:20:55 +0100 |
---|---|---|
committer | Nigel Barnes <Pernod70@users.noreply.github.com> | 2019-07-17 02:20:55 +0100 |
commit | da4bdb96d1cd8d368712b73de886c3962851c2cc (patch) | |
tree | 56dd90cad48c240c68081068e835aa83217b40b1 | |
parent | 7e74ffcde155bc8dc1177b507d80243f39ef688f (diff) |
d64plus: Added gfxdecode (nw)
-rw-r--r-- | src/mame/drivers/dragon.cpp | 28 |
1 files 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 |