summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commitda4bdb96d1cd8d368712b73de886c3962851c2cc (patch)
tree56dd90cad48c240c68081068e835aa83217b40b1
parent7e74ffcde155bc8dc1177b507d80243f39ef688f (diff)
d64plus: Added gfxdecode (nw)
-rw-r--r--src/mame/drivers/dragon.cpp28
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