本帖最后由 n805 于 2015-12-19 21:58 编辑 1 U" N6 Z. D6 R$ f' t
. }4 p7 W/ j2 g, h% @
2015.4.4 BY 孙大师2 S3 C! O/ v8 D/ v, g. t4 {
全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。4 h7 D5 Y* E0 s" e" _
其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU% r% O( a. [( ]2 Q6 u- ~1 O# U
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据7 P# D* |6 A. ` R4 |) F' n: O
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化
% V9 M' E* V% }5 C从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
3 m$ b, ]0 s2 m1 T7 F那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的# J- s6 B# s/ n- a+ n9 {
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低( I! B9 P: S$ ~8 P# b# i+ t# Z* P- S
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!
" f; a* q4 N. p问: 现在的组装机为什么不花屏呢?
0 k7 Q4 [! b0 z, L; J; ?9 H9 G答:现在的机器都是更改了读取方式,以获得完全兼容!3 s! q& e0 K0 b/ l; G. Z6 y N. M- k( t
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。, D2 Y) L7 u' v& g
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM& p, N/ L, j3 W. O7 `. h( V
输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:9 K @) S) r7 c1 E9 N& a+ r
1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。) A7 q7 B2 _0 R: B- i- h$ P" P2 \
" B* ~7 d' D8 Q* f# w" a* d: \9 k# {2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR
: L; n4 A6 g, y7 E' i( I- k 方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。
# o6 N1 O% G7 S6 G 9 z6 p2 y+ B9 M( d) p
新的片选信号 逻辑公式 CS=OE&WE+A13
; ~, v! F6 b& L7 d两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要0 W! l" [' B) ~5 |; f5 \7 E
动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
" Y, V' W- l# O: Z `$ D* S1 {" N1 T此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13' \/ W( T5 _0 w+ T3 Y7 {6 e2 H
还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。7 o4 c8 R/ c0 H# ], O$ E( ~
以下是对比图片:
$ V* J" j- E4 M$ U9 h改造过程就不发图片,大家看测试视频:$ p: b6 ^1 E7 ?" d: d
" \) ~0 _+ Q+ {( K; e# n- ~[url] C C C C |