本帖最后由 n805 于 2015-12-19 21:58 编辑
: U/ a3 s7 I% K4 J$ D7 u* ]' R
' P- s: O$ t L) l0 {' r! k 2015.4.4 BY 孙大师
5 w: W3 v+ E8 y全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
9 F/ N, O6 o# L/ S0 o7 o其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU
0 @7 E1 G7 U: c! U( H相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据3 S v& F+ y5 k! O
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化1 a6 ~$ S' T4 P/ U, f
从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机! ' U. z0 K$ a# _) c1 X H
那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的
- P+ Z$ m- Q! P0 t负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低8 [0 {2 F8 Z. G# G+ L6 o+ j
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!2 \/ ^& F/ o7 ?6 k' `4 H! d
问: 现在的组装机为什么不花屏呢?
1 h- X7 O# e0 l( w/ k c8 i答:现在的机器都是更改了读取方式,以获得完全兼容!
+ o# C: k f0 ?- i4 F所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。* l% R6 L2 z: j$ D
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
( `: p3 p+ y+ O( h5 Q输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:9 [4 b+ x) N1 C& \4 X: i
1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
" L/ I! f) l5 f$ O
- D1 M D, ?1 |' x( b2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR5 W9 s5 b2 t6 @2 O5 I0 Q
方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。! \5 T; F! }) y. R5 n9 y
. e2 {% g7 z, b7 ~ r/ k, G; b
新的片选信号 逻辑公式 CS=OE&WE+A13# P; e) [) t+ r% |0 y
两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要
( g b& E; R) R( N动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
0 J& J @& M; m& ~* S! |此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13
2 q/ M) V: `5 M还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
4 S- v) {! i H; m+ Z# d3 N以下是对比图片:
$ t4 H6 f1 }% }: T$ a) h5 i+ T, v改造过程就不发图片,大家看测试视频:
0 }1 }2 X1 u$ r+ o: L, c2 a* e- b, Z) A! R9 Y
[url] C C C C |