本帖最后由 n805 于 2015-12-19 21:58 编辑 2 _8 l: A7 g3 y
& K0 k1 p; D8 N3 D9 r4 H9 E
2015.4.4 BY 孙大师
! p" z6 u+ f& Q! \3 a" X全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
! p5 r' ~8 W# N, ]4 G其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU) K/ p$ N$ {2 G& p& A. g. N$ M @
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据+ Q% J X% X- a P! F: Q7 ~. u
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化5 ^4 V4 B5 d; p! A# o
从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
' k1 m `$ T% J. e7 c- d那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的+ n3 L: Y3 a8 V* x5 ^0 Q
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低
* X5 a5 C! Q' a; Y这样数据被改变的很小,或者没改变,这就是不同373有不同效果!$ e" t) p9 \. @7 t
问: 现在的组装机为什么不花屏呢?
- Y9 G9 q! g5 r8 Q3 |9 n ]答:现在的机器都是更改了读取方式,以获得完全兼容!
: O1 N% l" \' H& B" D所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。/ {7 Q) ?, H: P$ s, k& y
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
# x* J3 g4 ~% a, u: C8 y9 k# s输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:. _; t0 z0 g* z# v9 S- w
1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。/ t3 `' R+ r6 c Z9 W
2 ]+ @ L/ m, P; M' f6 Z8 |2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR2 N8 Z4 E) M% a( Z/ J
方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。$ b3 V( |7 |5 h4 N
, L+ q& Y8 e% c% Q, A) e0 i$ }- b! `新的片选信号 逻辑公式 CS=OE&WE+A13& ^/ q2 d" X1 S/ s+ R- B/ n$ e
两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要, N' n' j0 j/ ]4 J
动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
2 ]/ k1 o4 i8 H0 D* N' b! [) o此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13
- V7 {% J2 G* i! i9 e还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
$ A4 o3 p) z# n3 ^以下是对比图片:% _; r* Z2 T$ l& l, ^7 ~
改造过程就不发图片,大家看测试视频:
+ p. `& G) k% A; s* z8 H; L# U7 M$ e% _, P5 W
[url] C C C C |