diff --git a/src/emu/drivers/xtal.h b/src/emu/drivers/xtal.h index 5e02e41ece9..119e1bc15ab 100644 --- a/src/emu/drivers/xtal.h +++ b/src/emu/drivers/xtal.h @@ -70,6 +70,7 @@ enum XTAL_7_3728MHz = 7372800, XTAL_7_8643MHz = 7864300, /* Used on InterFlip games as video clock */ XTAL_8MHz = 8000000, /* Extremely common, used on 100's of PCBs */ + XTAL_8_2MHz = 8200000, /* Universal Mr. Do - Model 8021 PCB */ XTAL_8_4672MHz = 8467200, /* Subsino's Ying Hua Lian */ XTAL_8_664MHz = 8664000, /* Touchmaster */ XTAL_8_867238MHz = 8867238, /* ETI-660 */ @@ -113,6 +114,7 @@ enum XTAL_18MHz = 18000000, /* S.A.R, Ikari Warriors 3 */ XTAL_18_432MHz = 18432000, /* Extremely common, used on 100's of PCBs */ XTAL_18_720MHz = 18720000, /* Nokia MikroMikko 1 */ + XTAL_19_6MHz = 19600000, /* Universal Mr. Do - Model 8021 PCB */ XTAL_19_6608MHz = 19660800, /* Euro League (bootleg), labeled as "UKI 19.6608 20PF" */ XTAL_19_923MHz = 19923000, /* Cinematronics vectors */ XTAL_19_968MHz = 19968000, /* Used mostly by some Taito games */ diff --git a/src/mame/drivers/mrdo.c b/src/mame/drivers/mrdo.c index 527bcc13815..c1e5e167043 100644 --- a/src/mame/drivers/mrdo.c +++ b/src/mame/drivers/mrdo.c @@ -1,14 +1,21 @@ /*************************************************************************** Mr Do! - driver by Nicola Salmoria +Updated 02/2010 with proper XTAL values thanks to Oliver_A -Video clock: XTAL = 20 MHz -Horizontal video frequency: HSYNC = XTAL/4/312 = 16.02564103 kHz -Video frequency: VSYNC = HSYNC/262 = 61.1665688 Hz -VBlank duration: 1/VSYNC * (70/262) = 4368 us +PCB Model: 8201 +Main Clock: XTAL = 8.2 MHz +Video clock: XTAL = 19.6 MHz + +Horizontal video frequency: HSYNC = XTAL/4/312 = 15.7051282051 kHz +Video frequency: VSYNC = HSYNC/262 = 59.94323742 Hz +VBlank duration: 1/VSYNC * (70/262) = 4457 us + + +The manual for this model clearly shows above values in 'Misc' parts listings. +There's a chance that certain bootlegs might have the different 8/20 MHz XTALS. ***************************************************************************/ @@ -16,8 +23,8 @@ VBlank duration: 1/VSYNC * (70/262) = 4368 us #include "cpu/z80/z80.h" #include "sound/sn76496.h" -#define MAIN_CLOCK XTAL_8MHz -#define VIDEO_CLOCK XTAL_20MHz +#define MAIN_CLOCK XTAL_8_2MHz +#define VIDEO_CLOCK XTAL_19_6MHz extern UINT8 *mrdo_bgvideoram,*mrdo_fgvideoram; @@ -170,7 +177,7 @@ GFXDECODE_END static MACHINE_DRIVER_START( mrdo ) /* basic machine hardware */ - MDRV_CPU_ADD("maincpu", Z80, MAIN_CLOCK/2) /* 4 MHz */ + MDRV_CPU_ADD("maincpu", Z80, MAIN_CLOCK/2) /* Verified */ MDRV_CPU_PROGRAM_MAP(main_map) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) @@ -189,10 +196,10 @@ static MACHINE_DRIVER_START( mrdo ) /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") - MDRV_SOUND_ADD("sn1", SN76489, MAIN_CLOCK/2) + MDRV_SOUND_ADD("sn1", SN76489, MAIN_CLOCK/2) /* Verified */ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) - MDRV_SOUND_ADD("sn2", SN76489, MAIN_CLOCK/2) + MDRV_SOUND_ADD("sn2", SN76489, MAIN_CLOCK/2) /* Verified */ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MACHINE_DRIVER_END