本帖最后由 n805 于 2015-12-19 21:58 编辑
, [# {& {( |& O2 ~( c
0 x, ^6 E. K; ^ 2015.4.4 BY 孙大师4 |2 |7 t# A8 r# s
全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
) @) p$ ]2 k, k* n7 z6 V4 r5 w其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU$ I6 C( I) x2 \ U }+ U% J+ Y
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据( I) Q2 v6 t5 @7 s3 [+ G
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化
: ~. m" Q$ @1 s0 r G1 v# r; R& ~从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机! 9 z+ }% ^8 b; g( C( U
那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的
' Q2 x. y3 O% q" Z3 _) M, ~负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低2 t: L9 j8 W2 H( X" q: y: r
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!
( ^* [! m q4 D6 Q; F问: 现在的组装机为什么不花屏呢?& X; U6 s# [4 {" H
答:现在的机器都是更改了读取方式,以获得完全兼容!% k& C4 H5 e* ^5 ~; O
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。
- ~7 }0 W& J3 Q, b6 g. C* O! h改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM8 L/ B1 x. c% h
输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
2 O8 A$ Y# ?2 g1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
& l+ H. X% j8 |, L2 { 9 G/ k/ d0 F3 m, B, H9 P- s
2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR& }$ q7 u. D, b; _0 Y* a& x$ _
方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。1 N' G( ] x- G8 [* j
# ?: f. v: P9 B* t* i
新的片选信号 逻辑公式 CS=OE&WE+A13! o- `- o6 }) R8 C# g" h1 Y; q" b
两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要" i; m5 \! S9 K& H0 C$ W
动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
v# f; i4 x x$ w0 g9 {6 V6 p7 d此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13
2 f3 t- b, I/ l& b6 R还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。5 o! b! G+ Y% U8 F% ?% _+ L
以下是对比图片:
V9 C p* t! f0 h; P) H+ d" p/ Y/ E: x) P改造过程就不发图片,大家看测试视频:/ }- q* \5 V! i3 a/ F7 l6 H" C
. l3 ~; V8 k* A4 e8 U7 p3 S4 v j
[url] C C C C |