本帖最后由 n805 于 2015-12-19 21:58 编辑
* V/ [4 S* _/ S
% q4 ^; m5 ?% |9 J0 T/ Y. e4 g 2015.4.4 BY 孙大师* k$ n( O: q. a4 p5 k+ j$ @ R6 [
全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。/ Q+ l2 `% s5 X1 O
其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU, Y/ |* E+ U7 k" V* `8 ^( i
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据. Z: l+ X# N' e$ ~0 r6 l
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化
3 x1 R, X) |0 e" p从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
. Y6 q/ k2 I( U* `2 |6 ]那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的
* V% N0 A/ g4 M负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低
3 J2 G1 S# \# S- C! k1 O0 z这样数据被改变的很小,或者没改变,这就是不同373有不同效果!
$ N( q8 j0 ^+ ?- C- h A问: 现在的组装机为什么不花屏呢?! t) U# n% |( L5 p1 {
答:现在的机器都是更改了读取方式,以获得完全兼容!0 O& n: I0 w" s; g
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。/ T% M# w- L5 p9 D. D
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM) w9 `. O* G: h" h6 R4 ^
输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:. {. m# }/ B; d+ ]
1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。) U* O# c9 V; y3 V6 S( M( W
. D4 }# D, |9 _2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR
. t! O3 \2 O' R- A) z* ~1 y* @ 方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。. z# }) u1 t+ E8 f/ k( Z7 R
" V& I- F$ S) ?9 U新的片选信号 逻辑公式 CS=OE&WE+A13
* b2 e. ]+ p$ s' l% k两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要
5 p! n, _) [2 e, t7 h$ t动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
P- O9 _5 L; a7 f! l此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13( G: L7 |: L/ |
还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。8 D# J! K6 E, l/ w- N7 {4 q+ Y
以下是对比图片:6 v% ?5 {9 k) }! v
改造过程就不发图片,大家看测试视频:
# L5 `( d' o. w$ s7 b: B
* Y1 A- T1 D' \" K& Q* s[url] C C C C |