|
|
本帖最后由 n805 于 2015-12-19 21:56 编辑
( b8 K$ a& ?) u# O. [% @$ o$ J- \2 h1 U5 d2 M/ S3 E* a6 i
之所以要研究这个时钟问题,原因是我用烧录卡运行几个游戏时发现画面存在异常(街霸plus和沙罗曼蛇III),表现为某些游戏中的特定场景的画面会出现横向随机的干扰条纹。一开始以为是我自己做的那个视频转换盒的同步信号造成(同步信号异常也会造成这类现象),但是后来发现不是,使用av输出也同样存在这个问题,只是没有RGB那么明显。之后又怀疑是视频编码电路的问题,经过测试也让我排除。在我百思不得其解的时候,正巧我手捏着主板移动位置,突然发现画面上的干扰成倍增加,经过检查,手触碰的真好是cpu时钟电路部分。终于让我发现了问题的元凶。5 n1 \% k: c4 m) f; J
因为时钟信号不标准所表现出来的画面问题,画面呈现出不同程度的随机干扰。
$ Q4 H. v/ ?1 {' X
) \+ `+ s. u: Y5 t8 e P- X {但是为什么时钟会影响画面?我只能说,在一些对时序要求非常高的游戏中,稍微有一些时序的不一致,时序的提前或者滞后,都有可能导致各种问题的发生,尤其是SFC,其时钟电路尤其复杂,这里暂时不做讨论。1 \' H& p* y* W/ f* y
我们先看下修正前的SFC时钟电路输出的波形。下图中,最长的一条红色线条为整个波形的中心轴,两条红色的短线条宽度相同。比较上端波形我们可以发现,下端波形的下降转上升的速度比较慢,出现了一个比较大的弧度,而且可以看到波形的上端和下端中的波形宽度是不一致的。如图所示,如果下端的宽度小于上端的宽度,那么在实际时序中可能表现出的就是程序滞后执行,这应该就是导致画面干扰的主要原因吧。/ |9 P+ O W7 M" k
a+ s! Z/ b u9 R8 U: e/ `; T% S
再看看修正后的波形,上端和下端中的波形宽度基本上是一致,抛物线的上下转角也基本上相同,保证了时序的准确性,所以在游戏中就不再会有画面干扰的问题。
# s, u8 C/ ~' T9 f" L, h: m3 b7 I8 T5 w8 V Y, j: C3 X
看下两个波形的混合比较,差异一目了然。, ~5 p/ P: L: ~& x4 O, C! b5 Q
+ ]3 `8 o4 c* p( L; T* d借此再衍生出一个问题,SFC的CPU是否可以像MD那样随意超频,并且运行游戏基本上不存在什么问题,这还有待测试研究,目前看时序的稍微变化就会导致画面异常,这个应该和程序的开发也有一定原因。由于以上内容已经超出个人知识范围,可能存在一些误导或者错误,也请专业人事批评指正。
. p$ k6 Y$ H% B% Q0 m3 Q3 L% l; h; _; L% r4 Q9 @4 s
[url] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
评分
-
查看全部评分
|