本帖最后由 n805 于 2015-12-19 21:58 编辑
6 [. q$ e& C6 X7 i: @" I7 g
3 G3 P' W- E" k( K7 a g9 p" W+ Q 2015.4.4 BY 孙大师
9 @9 C" M, k$ n0 H全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
; F% T& i/ \+ i! I ~0 J* W其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU: L, [5 ?, D6 J& x" \
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据+ g1 @- j. c3 o) M2 U' j
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化( p! p7 j/ ^4 X3 ? O& ?/ Z! f% \: j
从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机! * r- o9 c7 r/ P2 \* A6 K
那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的0 j8 l( \ L* y" e4 b, {
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低6 t5 f/ a8 H3 b) O2 d2 ~
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!8 g& e' }" q) a$ O1 g
问: 现在的组装机为什么不花屏呢?- t( ~/ ]. D0 x. }( h) ~
答:现在的机器都是更改了读取方式,以获得完全兼容!
. d$ ^+ i* d) e7 e所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。
: X2 b4 m# v a改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
/ k1 H$ Y4 U5 K4 e输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:# h+ S& c. r$ D4 k% R
1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。 m# H' n7 [% r+ B! M
( O8 t; W& C5 p" o q" Q
2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR
- E0 F O& q1 w6 r. ? 方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。# x+ q- H. D) L2 p$ H4 J: R
1 X& Z0 e) S+ H5 [5 m' Z新的片选信号 逻辑公式 CS=OE&WE+A13! G- _5 k* c2 E6 ?
两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要
0 m6 w+ a& n8 t+ k% x7 P动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
$ N/ T% m6 `% p! l此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13
- j1 ^0 t: U- i @! s还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
8 q) y4 a; |- r, g以下是对比图片:1 m4 q& @% P) ?7 A
改造过程就不发图片,大家看测试视频:
( h- [8 I; i: x" `" }+ T
4 R$ L( L* e" O9 }[url] C C C C |