本帖最后由 n805 于 2015-12-19 21:58 编辑
9 [. x# [0 f2 b. E- e) a0 ^6 O( ^6 B7 |
2015.4.4 BY 孙大师1 Q2 k0 b3 X& j( c4 p8 j
全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。3 L2 Y* c/ u9 t A5 S
其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU3 H: S5 d: q8 \
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据
: J9 r& ]$ Y- @由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化2 W7 u7 Q/ _' m
从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
% b/ w9 f) ~9 `' Q; d) a N那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的
& l T0 d1 O$ S8 U6 b负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低0 I( |. n. t2 T8 W0 n% p3 N y( L
这样数据被改变的很小,或者没改变,这就是不同373有不同效果! I( \$ n; g8 r2 r/ e- V* e
问: 现在的组装机为什么不花屏呢?
' q8 ~: a ?5 y! w答:现在的机器都是更改了读取方式,以获得完全兼容!% J$ G" b( j9 h H& X3 _+ r
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。% M/ J4 W. K/ f, F* @ p* n4 C
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
1 n, {7 u) q+ _! m4 L输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:0 J4 A3 t1 h3 n/ z2 _, |) Z$ N7 f. S
1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
9 `9 T" F/ G. X, H* X5 |6 J8 Z9 G+ c ! i z8 z4 L9 X* r* \1 O% V
2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR
" @3 F; j( |8 S! K3 \: i: y3 W 方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。/ J' J1 V; F( k. d$ s s& R
( I! t0 a( z; c- W' j
新的片选信号 逻辑公式 CS=OE&WE+A13
& u, a" B j+ s d* B# @9 t两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要2 O: F% y7 c% D! z2 F) q3 l* }" [
动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,) b, j c# A# ^ h' a& {
此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13/ V% B# M" q4 ?" q% Q
还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
# ~2 {3 a5 h q4 ]以下是对比图片:
( s/ w/ n+ ?+ X T+ t; e改造过程就不发图片,大家看测试视频:7 p4 d, _+ `4 N6 { V: W6 X
4 v3 g" M# J/ R. i: n: h7 w' z' Q
[url] C C C C |