本帖最后由 n805 于 2015-12-19 21:58 编辑
: R( d* q* a8 o" P9 _
8 `% \# e( X. U9 Z2 Y2 _1 N7 N% ` 2015.4.4 BY 孙大师
8 I2 U6 Z# |/ ^5 `8 }" Y全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。0 u3 x8 R, y; d$ _$ D% i
其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU
) S# x" }/ m( E( w6 L- P0 t相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据4 k. ?" b0 M) K
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化5 F, F4 J; I3 b( g" ^4 S
从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
8 t9 F5 U" U8 R那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的, ^( A) E+ L* r9 z1 p: M. L
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低
4 Y8 Y/ ]. ]' W8 J$ `这样数据被改变的很小,或者没改变,这就是不同373有不同效果!) r& Q* P6 z n; Y: W$ t1 i
问: 现在的组装机为什么不花屏呢?$ q" t- L5 Z* A" f* x8 T
答:现在的机器都是更改了读取方式,以获得完全兼容!
) y# U9 X Q0 ^( E. T7 n* U9 J. D所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。6 I+ O$ w2 E# W
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
6 ?1 x( _0 A) d* ^输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
) q: ~2 y2 Q, e* `) U- \' |. f1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
2 ~3 D. v6 v ~* P" P$ f0 `) ]
" @: ]) m/ s2 D' w$ |8 b2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR
+ i, W+ B8 T) p/ W9 Y6 V5 k, y; _ 方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。
5 o2 P0 K( }) L. E3 [
+ l9 B9 q) X; v) q f- w新的片选信号 逻辑公式 CS=OE&WE+A13
* \. j. o1 q" z6 p# I* Z# s0 R两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要
1 X' A8 e( B/ P G4 w- h2 g: s动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,; a9 B6 Y5 p3 V: O
此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13
, E5 |" e _! w8 o, N# I还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
- J# \0 N r6 D8 l n3 o! h以下是对比图片:
% }5 D/ h. `' y8 c2 M& V改造过程就不发图片,大家看测试视频:
$ Z4 M' k# E1 M2 W$ I# W8 M* N2 k$ R9 b1 v% C* C
[url] C C C C |