From 5c8b9fc33d4c9bbfe7e153af4c95be4054f0febe Mon Sep 17 00:00:00 2001 From: AJR Date: Wed, 28 Feb 2018 18:04:30 -0500 Subject: [PATCH] tms9927: Configure using character clock rather than dot clock --- src/devices/video/tms9927.cpp | 4 ++-- src/mame/drivers/alphatpx.cpp | 2 +- src/mame/drivers/ampex.cpp | 3 +-- src/mame/drivers/attache.cpp | 2 +- src/mame/drivers/cdc721.cpp | 2 +- src/mame/drivers/compucolor.cpp | 2 +- src/mame/drivers/intv.cpp | 2 +- src/mame/drivers/itt3030.cpp | 2 +- src/mame/drivers/micral.cpp | 2 +- src/mame/drivers/statriv2.cpp | 2 +- src/mame/drivers/tdv2324.cpp | 2 +- src/mame/drivers/thief.cpp | 2 +- src/mame/drivers/tv912.cpp | 2 +- src/mame/drivers/v100.cpp | 2 +- 14 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/devices/video/tms9927.cpp b/src/devices/video/tms9927.cpp index 907886b8a24..0ea7d7c89aa 100644 --- a/src/devices/video/tms9927.cpp +++ b/src/devices/video/tms9927.cpp @@ -128,7 +128,7 @@ void tms9927_device::device_clock_changed() void tms9927_device::device_stop() { osd_printf_debug("TMS9927: Final params: (%d, %d, %d, %d, %d, %d, %d)\n", - clock(), + clock() * m_hpixels_per_column, m_total_hpix, 0, m_visible_hpix, m_total_vpix, @@ -351,7 +351,7 @@ void tms9927_device::recompute_parameters(bool postload) rectangle visarea(0, m_overscan_left + m_visible_hpix + m_overscan_right - 1, 0, m_overscan_top + m_visible_vpix + m_overscan_bottom - 1); - attoseconds_t refresh = clocks_to_attotime(m_total_hpix * m_total_vpix).as_attoseconds(); + attoseconds_t refresh = clocks_to_attotime(HCOUNT * m_total_vpix).as_attoseconds(); osd_printf_debug("TMS9927: Total = %dx%d, Visible = %dx%d, HSync = %d-%d, VSync = %d-%d, Skew=%d, Upscroll=%d, Period=%f Hz\n", m_total_hpix, m_total_vpix, m_visible_hpix, m_visible_vpix, m_hsyn_start, m_hsyn_end, m_vsyn_start, m_vsyn_end, SKEW_BITS, m_start_datarow, ATTOSECONDS_TO_HZ(refresh)); diff --git a/src/mame/drivers/alphatpx.cpp b/src/mame/drivers/alphatpx.cpp index cf5f57eae99..d45c4bbf6fb 100644 --- a/src/mame/drivers/alphatpx.cpp +++ b/src/mame/drivers/alphatpx.cpp @@ -1220,7 +1220,7 @@ MACHINE_CONFIG_START(alphatp_12_state::alphatp2) MCFG_PALETTE_ADD_MONOCHROME("palette") - MCFG_DEVICE_ADD("crtc", CRT5027, XTAL(12'854'400)) + MCFG_DEVICE_ADD("crtc", CRT5027, XTAL(12'854'400) / 8) MCFG_TMS9927_CHAR_WIDTH(8) MCFG_TMS9927_HSYN_CALLBACK(INPUTLINE("maincpu", I8085_RST55_LINE)) MCFG_TMS9927_VSYN_CALLBACK(INPUTLINE("maincpu", I8085_RST65_LINE)) MCFG_DEVCB_XOR(1) diff --git a/src/mame/drivers/ampex.cpp b/src/mame/drivers/ampex.cpp index e799d4c7258..cde38b423d6 100644 --- a/src/mame/drivers/ampex.cpp +++ b/src/mame/drivers/ampex.cpp @@ -206,8 +206,7 @@ MACHINE_CONFIG_START(ampex_state::ampex) MCFG_SCREEN_RAW_PARAMS(XTAL(23'814'000) / 2, 105 * CHAR_WIDTH, 0, 80 * CHAR_WIDTH, 270, 0, 250) MCFG_SCREEN_UPDATE_DRIVER(ampex_state, screen_update) - // FIXME: dot clock should be divided by char width - MCFG_DEVICE_ADD("vtac", CRT5037, XTAL(23'814'000) / 2) + MCFG_DEVICE_ADD("vtac", CRT5037, XTAL(23'814'000) / 2 / CHAR_WIDTH) MCFG_TMS9927_CHAR_WIDTH(CHAR_WIDTH) MCFG_TMS9927_VSYN_CALLBACK(WRITELINE(ampex_state, vsyn_w)) MCFG_VIDEO_SET_SCREEN("screen") diff --git a/src/mame/drivers/attache.cpp b/src/mame/drivers/attache.cpp index d63ab493a30..242a64a0937 100644 --- a/src/mame/drivers/attache.cpp +++ b/src/mame/drivers/attache.cpp @@ -1167,7 +1167,7 @@ MACHINE_CONFIG_START(attache_state::attache) MCFG_FLOPPY_DRIVE_ADD("fdc:0", attache_floppies, "525dd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD("fdc:1", attache_floppies, "525dd", floppy_image_device::default_floppy_formats) - MCFG_DEVICE_ADD("crtc", TMS9927, 12324000) + MCFG_DEVICE_ADD("crtc", TMS9927, 12324000 / 8) MCFG_TMS9927_CHAR_WIDTH(8) MCFG_TMS9927_VSYN_CALLBACK(DEVWRITELINE("ctc", z80ctc_device, trg2)) diff --git a/src/mame/drivers/cdc721.cpp b/src/mame/drivers/cdc721.cpp index 8e86a30af40..df10fc4cd07 100644 --- a/src/mame/drivers/cdc721.cpp +++ b/src/mame/drivers/cdc721.cpp @@ -161,7 +161,7 @@ MACHINE_CONFIG_START(cdc721_state::cdc721) MCFG_PALETTE_INIT_OWNER(cdc721_state, cdc721) MCFG_GFXDECODE_ADD("gfxdecode", "palette", cdc721) - MCFG_DEVICE_ADD("crtc", TMS9927, 2000000) // clock guess + MCFG_DEVICE_ADD("crtc", TMS9927, 2000000 / 8) // clock guess MCFG_TMS9927_CHAR_WIDTH(8) MACHINE_CONFIG_END diff --git a/src/mame/drivers/compucolor.cpp b/src/mame/drivers/compucolor.cpp index 04ac1b8895c..7d4db38ebee 100644 --- a/src/mame/drivers/compucolor.cpp +++ b/src/mame/drivers/compucolor.cpp @@ -406,7 +406,7 @@ MACHINE_CONFIG_START(compucolor2_state::compucolor2) MCFG_PALETTE_ADD_3BIT_RGB("palette") - MCFG_DEVICE_ADD(CRT5027_TAG, CRT5027, XTAL(17'971'200)/2) + MCFG_DEVICE_ADD(CRT5027_TAG, CRT5027, XTAL(17'971'200)/2/6) MCFG_TMS9927_CHAR_WIDTH(6) MCFG_TMS9927_VSYN_CALLBACK(DEVWRITELINE("blink", ripple_counter_device, clock_w)) MCFG_VIDEO_SET_SCREEN("screen") diff --git a/src/mame/drivers/intv.cpp b/src/mame/drivers/intv.cpp index b6169b6fa1c..5493178b6ce 100644 --- a/src/mame/drivers/intv.cpp +++ b/src/mame/drivers/intv.cpp @@ -550,7 +550,7 @@ MACHINE_CONFIG_START(intv_state::intvkbd) MCFG_PALETTE_INIT_OWNER(intv_state, intv) /* crt controller */ - MCFG_DEVICE_ADD("crtc", TMS9927, XTAL(7'159'090)) + MCFG_DEVICE_ADD("crtc", TMS9927, XTAL(7'159'090)/8) MCFG_TMS9927_CHAR_WIDTH(8) MCFG_TMS9927_OVERSCAN(stic_device::OVERSCAN_LEFT_WIDTH*stic_device::X_SCALE*INTVKBD_X_SCALE, stic_device::OVERSCAN_RIGHT_WIDTH*stic_device::X_SCALE*INTVKBD_X_SCALE, stic_device::OVERSCAN_TOP_HEIGHT*stic_device::Y_SCALE*INTVKBD_Y_SCALE, stic_device::OVERSCAN_BOTTOM_HEIGHT*stic_device::Y_SCALE*INTVKBD_Y_SCALE) diff --git a/src/mame/drivers/itt3030.cpp b/src/mame/drivers/itt3030.cpp index 1cc7611580c..6ae2dcbad95 100644 --- a/src/mame/drivers/itt3030.cpp +++ b/src/mame/drivers/itt3030.cpp @@ -722,7 +722,7 @@ MACHINE_CONFIG_START(itt3030_state::itt3030) MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(20) MCFG_ADDRESS_MAP_BANK_STRIDE(0xc000) - MCFG_DEVICE_ADD("crt5027", CRT5027, XTAL(6'000'000)) + MCFG_DEVICE_ADD("crt5027", CRT5027, XTAL(6'000'000) / 8) MCFG_TMS9927_CHAR_WIDTH(8) MCFG_FD1791_ADD("fdc", XTAL(20'000'000) / 20) diff --git a/src/mame/drivers/micral.cpp b/src/mame/drivers/micral.cpp index 7d3978c029c..ef68cce2227 100644 --- a/src/mame/drivers/micral.cpp +++ b/src/mame/drivers/micral.cpp @@ -392,7 +392,7 @@ MACHINE_CONFIG_START(micral_state::micral) MCFG_PALETTE_ADD_MONOCHROME("palette") //MCFG_GFXDECODE_ADD("gfxdecode", "palette", micral) - MCFG_DEVICE_ADD("crtc", CRT5037, 4000000) // xtal freq unknown + MCFG_DEVICE_ADD("crtc", CRT5037, 4000000 / 8) // xtal freq unknown MCFG_TMS9927_CHAR_WIDTH(8) // unknown //MCFG_TMS9927_VSYN_CALLBACK(DEVWRITELINE(TMS5501_TAG, tms5501_device, sens_w)) MCFG_VIDEO_SET_SCREEN("screen") diff --git a/src/mame/drivers/statriv2.cpp b/src/mame/drivers/statriv2.cpp index a5a1ed1d783..29ea50afef1 100644 --- a/src/mame/drivers/statriv2.cpp +++ b/src/mame/drivers/statriv2.cpp @@ -620,7 +620,7 @@ MACHINE_CONFIG_START(statriv2_state::statriv2) MCFG_SCREEN_UPDATE_DRIVER(statriv2_state, screen_update_statriv2) MCFG_SCREEN_PALETTE("palette") - MCFG_DEVICE_ADD("tms", TMS9927, MASTER_CLOCK/2) + MCFG_DEVICE_ADD("tms", TMS9927, MASTER_CLOCK/2/8) MCFG_TMS9927_CHAR_WIDTH(8) MCFG_GFXDECODE_ADD("gfxdecode", "palette", horizontal) diff --git a/src/mame/drivers/tdv2324.cpp b/src/mame/drivers/tdv2324.cpp index e357b63f902..7a4311fdae2 100644 --- a/src/mame/drivers/tdv2324.cpp +++ b/src/mame/drivers/tdv2324.cpp @@ -279,7 +279,7 @@ MACHINE_CONFIG_START(tdv2324_state::tdv2324) MCFG_PALETTE_ADD_MONOCHROME("palette") - MCFG_DEVICE_ADD(TMS9937NL_TAG, TMS9927, XTAL(25'398'360)) + MCFG_DEVICE_ADD(TMS9937NL_TAG, TMS9927, XTAL(25'398'360) / 8) MCFG_TMS9927_CHAR_WIDTH(8) // devices diff --git a/src/mame/drivers/thief.cpp b/src/mame/drivers/thief.cpp index 24430345c7e..f8b0a22a279 100644 --- a/src/mame/drivers/thief.cpp +++ b/src/mame/drivers/thief.cpp @@ -407,7 +407,7 @@ MACHINE_CONFIG_START(thief_state::thief) MCFG_SCREEN_UPDATE_DRIVER(thief_state, screen_update_thief) MCFG_SCREEN_PALETTE("palette") - MCFG_DEVICE_ADD("tms", TMS9927, XTAL(20'000'000)/4) + MCFG_DEVICE_ADD("tms", TMS9927, XTAL(20'000'000)/4/8) MCFG_TMS9927_CHAR_WIDTH(8) MCFG_TMS9927_VSYN_CALLBACK(ASSERTLINE("maincpu", 0)) MCFG_PALETTE_ADD("palette", 16) diff --git a/src/mame/drivers/tv912.cpp b/src/mame/drivers/tv912.cpp index 06c8506c095..9a8df4f0484 100644 --- a/src/mame/drivers/tv912.cpp +++ b/src/mame/drivers/tv912.cpp @@ -903,7 +903,7 @@ MACHINE_CONFIG_START(tv912_state::tv912) MCFG_SCREEN_RAW_PARAMS(XTAL(23'814'000), 105 * CHAR_WIDTH, 0, 80 * CHAR_WIDTH, 270, 0, 240) MCFG_SCREEN_UPDATE_DRIVER(tv912_state, screen_update) - MCFG_DEVICE_ADD("crtc", TMS9927, XTAL(23'814'000)) + MCFG_DEVICE_ADD("crtc", TMS9927, XTAL(23'814'000) / CHAR_WIDTH) MCFG_TMS9927_CHAR_WIDTH(CHAR_WIDTH) MCFG_TMS9927_VSYN_CALLBACK(INPUTLINE("maincpu", MCS48_INPUT_IRQ)) MCFG_VIDEO_SET_SCREEN("screen") diff --git a/src/mame/drivers/v100.cpp b/src/mame/drivers/v100.cpp index 2aac7d8b4e5..a46bcb3a8db 100644 --- a/src/mame/drivers/v100.cpp +++ b/src/mame/drivers/v100.cpp @@ -388,7 +388,7 @@ MACHINE_CONFIG_START(v100_state::v100) MCFG_SCREEN_UPDATE_DRIVER(v100_state, screen_update) // FIXME: dot clock should be divided by char width - MCFG_DEVICE_ADD("vtac", CRT5037, XTAL(47'736'000)) + MCFG_DEVICE_ADD("vtac", CRT5037, XTAL(47'736'000) / CHAR_WIDTH) MCFG_TMS9927_CHAR_WIDTH(CHAR_WIDTH) MCFG_VIDEO_SET_SCREEN("screen") MCFG_TMS9927_HSYN_CALLBACK(WRITELINE(v100_state, picu_r_w<7>)) MCFG_DEVCB_INVERT