From d984fa551bc9cd7815de0b533649cb311ec96803 Mon Sep 17 00:00:00 2001 From: Phil Bennett Date: Thu, 25 Dec 2008 09:58:00 +0000 Subject: [PATCH] Correctly setup the MC6845 device in the carrera driver. --- src/emu/drivers/xtal.h | 1 + src/mame/drivers/carrera.c | 29 ++++++++++++++++++++--------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/emu/drivers/xtal.h b/src/emu/drivers/xtal.h index 8d1b0a37cd7..acefdc81a73 100644 --- a/src/emu/drivers/xtal.h +++ b/src/emu/drivers/xtal.h @@ -111,6 +111,7 @@ enum XTAL_21_3MHz = 21300000, XTAL_21_4772MHz = 21477200, /* BMC bowling, some Data East 90's games */ XTAL_22MHz = 22000000, + XTAL_22_1184MHz = 22118400, XTAL_24MHz = 24000000, /* Mario, 80's Data East games, 80's Konami games */ XTAL_24_576MHz = 24576000, /* Pole Position h/w, Model 3 CPU board */ XTAL_25MHz = 25000000, /* Namco System 22, Taito GNET, Dogyuun h/w */ diff --git a/src/mame/drivers/carrera.c b/src/mame/drivers/carrera.c index 4559c42d5a1..ca25927124a 100644 --- a/src/mame/drivers/carrera.c +++ b/src/mame/drivers/carrera.c @@ -39,7 +39,7 @@ Emulation Notes: */ -#define MASTER_CLOCK 22118400 +#define MASTER_CLOCK XTAL_22_1184MHz #include "driver.h" #include "cpu/z80/z80.h" @@ -284,11 +284,25 @@ static PALETTE_INIT(carrera) palette_set_color_rgb(machine, x, pal3bit(src[x] >> 0), pal3bit(src[x] >> 3), pal2bit(src[x] >> 6)); } + +static const mc6845_interface mc6845_intf = +{ + "main", /* screen we are acting on */ + 8, /* number of pixels per video memory address */ + NULL, /* before pixel update callback */ + NULL, /* row update callback */ + NULL, /* after pixel update callback */ + NULL, /* callback for display state changes */ + NULL, /* HSYNC callback */ + NULL /* VSYNC callback */ +}; + + static MACHINE_DRIVER_START( carrera ) /* basic machine hardware */ - MDRV_CPU_ADD("main", Z80,MASTER_CLOCK/6) - MDRV_CPU_PROGRAM_MAP(readmem,writemem) - MDRV_CPU_IO_MAP(io_map,0) + MDRV_CPU_ADD("main", Z80, MASTER_CLOCK / 6) + MDRV_CPU_PROGRAM_MAP(readmem, writemem) + MDRV_CPU_IO_MAP(io_map, 0) MDRV_CPU_VBLANK_INT("main", nmi_line_pulse) /* video hardware */ @@ -299,14 +313,14 @@ static MACHINE_DRIVER_START( carrera ) MDRV_SCREEN_SIZE(512, 256) MDRV_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1) + MDRV_MC6845_ADD("crtc", MC6845, MASTER_CLOCK / 16, mc6845_intf) + MDRV_GFXDECODE(carrera) MDRV_PALETTE_LENGTH(32) MDRV_PALETTE_INIT(carrera) MDRV_VIDEO_UPDATE(carrera) - MDRV_MC6845_ADD("crtc", MC6845, 0, mc6845_null_interface) - /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") @@ -316,9 +330,6 @@ static MACHINE_DRIVER_START( carrera ) MACHINE_DRIVER_END - - - ROM_START( carrera ) ROM_REGION( 0x10000, "main", 0 ) ROM_LOAD( "27512.ic22", 0x00000, 0x10000, CRC(2385b9c8) SHA1(12d4397779e074096fbb23b114985f104366b79c) )