本帖最后由 n805 于 2015-12-19 21:58 编辑 - k5 ]! K" Z/ U g: s' k7 R8 Q
- T1 c0 j2 U8 q' s 2015.4.4 BY 孙大师+ u8 X/ n1 O6 N7 k9 f
全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
2 \% V; M1 k9 N& K其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU8 L5 v( j3 y% E# W V! r; K+ I; w
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据
C& U& d2 @+ d1 K由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化0 f! U/ E% p2 k( s+ ?
从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机! . m7 j; A* Z$ h0 m: K
那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的
' J4 u6 \( Y$ V( a, {5 S负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低+ |6 O$ D$ K$ `! B9 f( f
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!# _8 U& F A9 p" e* b9 Q
问: 现在的组装机为什么不花屏呢?
) Z; |8 i& Z+ [/ K" B2 _$ a$ c6 |答:现在的机器都是更改了读取方式,以获得完全兼容!
$ l# J1 |& O$ e* W, ^所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。
$ \ |% |$ e7 p- A: R/ O改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM/ T) F/ T& f" e f7 x. f4 S
输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
2 y, c& r: H* _1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
& ~4 K/ Y8 T; C h$ ^ 0 Y! G, x- c9 [" z0 Y
2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR
6 k' i) T' v: D3 O/ w9 q% y; H 方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。0 j7 I/ N5 ~ t/ b
' d& G( G' r0 Y9 V8 l新的片选信号 逻辑公式 CS=OE&WE+A13
( |4 r, G8 f2 t5 o两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要# Z& \& z/ x% F( ^6 Y; J
动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
" j% _$ L- n2 j! w, G' j" c4 w此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A130 [+ G& W& W& n0 _* n
还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
3 P5 l Z3 X5 ~8 q! n以下是对比图片:
5 V; I$ @6 o+ w+ L( u. E改造过程就不发图片,大家看测试视频:
7 Q0 Z4 P$ Y- ?: B2 M6 r3 q* w: M8 [ V) M# i3 I
[url] C C C C |