本帖最后由 n805 于 2015-12-19 21:58 编辑 ! m! l' d7 m x% T1 e# s
7 a! _3 |1 T$ I* o* d2 k- l) E4 V
2015.4.4 BY 孙大师+ P) @) c( q. H
全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
^! e" h& L+ y! e其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU
, d1 Q" s7 J4 p相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据$ @) n* z' B$ @' O2 {7 X9 V; D5 r. |
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化7 J3 o( [) G* {- s# L
从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机! # p2 k; u4 ^+ i2 x/ r F. k
那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的9 b4 M, y& X: C2 z) Z ]
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低# G5 D) r! C8 B7 _" G% S+ j$ M
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!
4 S# F. K% t) d$ u( k! ?& A问: 现在的组装机为什么不花屏呢?
3 u6 E4 I0 M s# v* J. N0 W* g答:现在的机器都是更改了读取方式,以获得完全兼容!) A `8 g8 X+ e& k! \- ]! `, C
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。. X- {+ ~: Z- _6 m" _
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM& U( W0 G& U c6 i, w5 a5 N
输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:5 @0 Z( W4 p2 Z' o
1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
. N3 N1 X" G7 S& }( A
* T3 v3 ^: e' v2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR
3 n5 x3 j& z( }* f, [. X. U 方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。/ D% i6 C+ o5 g' B9 M, M7 e. l
$ r( F1 D- r% B' I0 x7 @% P# P0 W新的片选信号 逻辑公式 CS=OE&WE+A130 e# v9 F# H0 y# V9 i! x
两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要
. S# d; q+ K! `" Q, U! y8 p动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
. X6 r! x, z3 ^( \! N4 y此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13: z8 @7 o) A5 l. T
还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。& M4 B9 J/ I7 |( c G
以下是对比图片:4 S* |4 l; C( I, H7 R: U0 C* a
改造过程就不发图片,大家看测试视频:
' r! p0 _' x7 y9 W6 ~) |
$ ^* w6 Y) J& |+ z! n. f) S[url] C C C C |