本帖最后由 n805 于 2015-12-19 21:58 编辑
( T/ _' w9 ]3 K! N) d k8 s, N; V$ f, f2 b
2015.4.4 BY 孙大师- `0 e: ]) j4 M' O
全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
6 K8 h) o( f$ m: f3 |" f其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU
, y! ~$ p5 z( E0 Z# L相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据( p! P$ @1 X! o* L7 M8 e
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化
# F+ W2 |! v1 J5 U! W- G从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机! # ~ l9 h% h8 r2 b8 S7 S
那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的) `# r1 d q' t. L! a+ S
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低6 U5 k; |" ]( J7 i7 r2 q
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!
' H0 [# b& `0 y9 g% ]问: 现在的组装机为什么不花屏呢?
, S0 x6 b4 ~# Y1 v答:现在的机器都是更改了读取方式,以获得完全兼容!" g4 Y( w. F9 P
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。. s, P$ Q8 _/ {0 ?. s" m R. U" l; g
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
@2 ~" {9 d$ Q3 }输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
$ m* Q5 M! G2 l3 S. F8 q0 n1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。6 I8 ~; Q! Y8 G
( y, Z4 L# u! X6 {
2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR9 Y4 [& ] M- t: ^2 s2 J7 O
方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。
' Q/ r. F* t) Q1 r
: a0 ~. e$ e/ ^% Z1 C, M新的片选信号 逻辑公式 CS=OE&WE+A13
h' b& ?- g2 C' {: H6 {( H两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要
) t5 U( l- S1 [ I! y: a动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
9 V" ]+ ^9 s- X! K8 d, `此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13) U' ^ i3 Z! T# x% J7 ?" J0 x0 L: d
还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
* g; y! l5 z) E: K# a以下是对比图片:
) {6 K# B+ L! L, ]; X, @5 Q: i- M* T改造过程就不发图片,大家看测试视频:
. {* w; z2 d8 C# Q: @1 X( t7 x* C0 O) j+ a* J$ V* L3 K
[url] C C C C |