mirror of
https://github.com/holub/mame
synced 2025-05-30 09:33:05 +03:00
tms9927: Configure using character clock rather than dot clock
This commit is contained in:
parent
cbe301c460
commit
5c8b9fc33d
@ -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));
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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")
|
||||
|
@ -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))
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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")
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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")
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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")
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user