Fixed 03724: mrdo: Incorrect XTALs cause for problems with refresh rate and game speed.

Added some notes regarding Mr. Do and missing XTAL values to xtal.h  [Oliver A., Tafoid]
This commit is contained in:
Scott Stone 2010-02-10 21:22:25 +00:00
parent 1eae8f15f4
commit 3793e46ca0
2 changed files with 19 additions and 10 deletions

View File

@ -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 */

View File

@ -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