From 2ab4b351cae620953e948d9d10c8af59f5368705 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Tue, 27 Dec 2022 22:20:47 -0500 Subject: [PATCH] Extend enum. --- Components/9918/9918.cpp | 15 ++++++++++++++- Components/9918/Implementation/9918Base.hpp | 3 +++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Components/9918/9918.cpp b/Components/9918/9918.cpp index 85e6c7eca..7527b9c64 100644 --- a/Components/9918/9918.cpp +++ b/Components/9918/9918.cpp @@ -33,7 +33,20 @@ using namespace TI::TMS; // 1368 = 2 * 2 * 2 * 3 * 3 * 19 // // => 2^3 * 3^2 * 5 * 19 = 6840 -// ... which +// ... which would imply a multiply by 30 on the input clock if +// it were to remain 3.58Mhz. + +// Mega Drive notes, assorted: +// +// +// +// there are 60 EDCLK at MCLK/5 during a line ... like this: +// +// 15 @ /5; 2 @ /4; 15 @ /5; 2 @ /4; 15 @ /5; 2 @ /4; 15 @ /5 +// +// ... HSYNC signal is what triggers the changes in EDCLK frequency, with some latency though. +// +// The total is still 840 EDCLKS (420 pixels) with 780 @MCLK/4 and 60@MCLK/5 (total is 3420 MCLCKS). namespace { diff --git a/Components/9918/Implementation/9918Base.hpp b/Components/9918/Implementation/9918Base.hpp index c0bb8c86d..fb09f3215 100644 --- a/Components/9918/Implementation/9918Base.hpp +++ b/Components/9918/Implementation/9918Base.hpp @@ -24,9 +24,12 @@ enum Personality { TMS9918A, // includes the 9928 and 9929; set TV standard and output device as desired. V9938, V9958, + + // Sega extensions. SMSVDP, SMS2VDP, GGVDP, + MDVDP, }; enum class TVStandard {