From cb5630e85ab550a6214722337d47f88366555b66 Mon Sep 17 00:00:00 2001 From: Brian Troha Date: Sun, 28 Feb 2021 00:15:01 -0600 Subject: [PATCH] coolridr.cpp: Use measured clocks for Cool Riders by correct XTAL usage based on documentation in header of coolridr.cpp --- src/emu/xtal.cpp | 3 ++- src/mame/drivers/coolridr.cpp | 16 ++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/emu/xtal.cpp b/src/emu/xtal.cpp index 100085d056a..e9c38a3f0ac 100644 --- a/src/emu/xtal.cpp +++ b/src/emu/xtal.cpp @@ -320,6 +320,7 @@ const double XTAL::known_xtals[] = { 22'248'000, /* 22.248_MHz_XTAL Quantel DPB-7000 */ 22'321'000, /* 22.321_MHz_XTAL Apple LaserWriter II NT */ 22'464'000, /* 22.464_MHz_XTAL CIT-101 132-column display clock */ + 22'579'000, /* 22.579_MHz_XTAL Sega System H1 SCSP clock */ 22'656'000, /* 22.656_MHz_XTAL Super Pinball Action (~1440x NTSC line rate) */ 22'896'000, /* 22.896_MHz_XTAL DEC VT220 132-column display clock */ 23'200'000, /* 23.2_MHz_XTAL Roland JV-80 & JV-880 PCM clock */ @@ -358,7 +359,7 @@ const double XTAL::known_xtals[] = { 27'562'000, /* 27.562_MHz_XTAL Visual 220 */ 27'720'000, /* 27.72_MHz_XTAL AT&T 610 132-column display clock */ 27'956'000, /* 27.956_MHz_XTAL CIT-101e 132-column display clock */ - 28'000'000, /* 28_MHz_XTAL - */ + 28'000'000, /* 28_MHz_XTAL Sega System H1 SH2 clock */ 28'224'000, /* 28.224_MHz_XTAL Roland JD-800 */ 28'322'000, /* 28.322_MHz_XTAL Saitek RISC 2500, Mephisto Montreux */ 28'375'160, /* 28.37516_MHz_XTAL Amiga PAL systems */ diff --git a/src/mame/drivers/coolridr.cpp b/src/mame/drivers/coolridr.cpp index 0a0c11bd03c..7ee61164add 100644 --- a/src/mame/drivers/coolridr.cpp +++ b/src/mame/drivers/coolridr.cpp @@ -100,6 +100,7 @@ SYSTEM-H1 CPU BD 171-6651A 837-10389 837-11481 (sticker) +833-11483 COOL RIDERS (sticker) |--------------------------------------------------------------| | EPR-17662.IC12| | | @@ -3224,18 +3225,17 @@ WRITE_LINE_MEMBER(coolridr_state::scsp2_to_sh1_irq) m_sound_data &= ~0x20; } -#define MAIN_CLOCK XTAL(28'636'363) void coolridr_state::coolridr(machine_config &config) { - SH2(config, m_maincpu, MAIN_CLOCK); // 28 MHz + SH2(config, m_maincpu, XTAL(28'000'000)); // 28 MHz m_maincpu->set_addrmap(AS_PROGRAM, &coolridr_state::coolridr_h1_map); TIMER(config, "scantimer").configure_scanline(FUNC(coolridr_state::interrupt_main), "screen", 0, 1); - M68000(config, m_soundcpu, 22579000/2); // 22.579 MHz XTAL / 2 = 11.2895 MHz + M68000(config, m_soundcpu, XTAL(32'000'000)/2); // 16 MHz m_soundcpu->set_addrmap(AS_PROGRAM, &coolridr_state::system_h1_sound_map); - SH1(config, m_subcpu, 16000000); // SH7032 HD6417032F20!! 16 MHz + SH1(config, m_subcpu, XTAL(32'000'000)/2); // SH7032 HD6417032F20!! 16 MHz m_subcpu->set_addrmap(AS_PROGRAM, &coolridr_state::coolridr_submap); TIMER(config, "scantimer2").configure_scanline(FUNC(coolridr_state::interrupt_sub), "screen", 0, 1); @@ -3256,14 +3256,14 @@ void coolridr_state::coolridr(machine_config &config) GFXDECODE(config, m_gfxdecode, m_palette, gfx_coolridr); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_refresh_hz(60); + m_screen->set_refresh_hz(57); // measured at 57.0426Hz m_screen->set_size(640, 512); m_screen->set_visarea(CLIPMINX_FULL,CLIPMAXX_FULL, CLIPMINY_FULL, CLIPMAXY_FULL); m_screen->set_screen_update(FUNC(coolridr_state::screen_update<0>)); m_screen->set_palette(m_palette); screen_device &screen2(SCREEN(config, "screen2", SCREEN_TYPE_RASTER)); - screen2.set_refresh_hz(60); + screen2.set_refresh_hz(57); // measured at 57.0426Hz screen2.set_size(640, 512); screen2.set_visarea(CLIPMINX_FULL,CLIPMAXX_FULL, CLIPMINY_FULL, CLIPMAXY_FULL); screen2.set_screen_update(FUNC(coolridr_state::screen_update<1>)); @@ -3276,14 +3276,14 @@ void coolridr_state::coolridr(machine_config &config) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - scsp_device &scsp1(SCSP(config, "scsp1", 22579000)); // 22.579 MHz XTAL + scsp_device &scsp1(SCSP(config, "scsp1", XTAL(22'579'000))); // 22.579 MHz scsp1.set_addrmap(0, &coolridr_state::scsp_map<0>); scsp1.irq_cb().set(FUNC(coolridr_state::scsp_irq)); scsp1.main_irq_cb().set(FUNC(coolridr_state::scsp1_to_sh1_irq)); scsp1.add_route(0, "lspeaker", 1.0); scsp1.add_route(1, "rspeaker", 1.0); - scsp_device &scsp2(SCSP(config, "scsp2", 22579000)); // 22.579 MHz XTAL + scsp_device &scsp2(SCSP(config, "scsp2", XTAL(22'579'000))); // 22.579 MHz scsp2.set_addrmap(0, &coolridr_state::scsp_map<1>); scsp2.main_irq_cb().set(FUNC(coolridr_state::scsp2_to_sh1_irq)); scsp2.add_route(0, "lspeaker", 1.0);