本帖最后由 n805 于 2015-12-19 21:58 编辑
1 f9 H, U$ c, D1 U9 T
c; k- \2 P, l9 x# {- n1 \: T 2015.4.4 BY 孙大师
. l' E8 |& x) U全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。/ O }3 ] n" J0 {
其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU Y. U" h6 D" f& N2 M# F3 u1 f
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据) K( f Q1 l9 [4 m7 z
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化" Z6 V' o6 {: L" X6 ?
从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
( A# I! j1 Q6 \& c那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的5 g( S8 W$ p" l3 n- J! ?6 d
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低0 n* r. R8 x) M6 ~ q
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!$ [+ q* H+ f6 T1 e, }1 k
问: 现在的组装机为什么不花屏呢?) H R7 L# U9 m8 `8 L( D7 U: n
答:现在的机器都是更改了读取方式,以获得完全兼容!
2 w6 ~8 f4 |. U) g& j所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。
6 z5 ~# K, }1 J& d. K9 a! |改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM' O+ }# R& A! S
输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
4 _$ ^: Z- n& X# r; b3 B1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
j& C5 l) `3 Z; o: }6 u6 W( _ v) j
. _3 Z1 |/ U1 a$ A* F* s2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR5 u g9 N% [' h: |+ f
方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。1 T2 E! i- {3 k
, H$ K. z: ?1 T( P* d# J% i
新的片选信号 逻辑公式 CS=OE&WE+A13; y z1 X2 E8 Z& Q8 i! J' ~
两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要
# m% ]5 K. O- c& U+ c动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
2 Q' Q* x' q. `' j6 e此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13) y' q2 l- ]$ F
还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。" H# Z. C$ r7 X- \0 I
以下是对比图片:7 H1 V) P2 i; }$ k& P6 b
改造过程就不发图片,大家看测试视频:
$ \" K6 j' N" \7 W) h% m) b
# a1 X9 N% w8 J8 S[url] C C C C |