本帖最后由 n805 于 2015-12-19 21:58 编辑 4 e4 I$ n( x/ y- s- r, M
: R( j8 a1 ^; r1 A$ u5 s, u: n" C- v* Y 2015.4.4 BY 孙大师
( P, Q+ U8 r0 X: k全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。% D& D$ k- c ^( }' k( Y" ^, E
其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU1 }4 L8 S; }$ Q1 a" j) O w4 U7 r
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据
4 F+ L3 Y7 x# e3 |7 @由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化
9 Y P9 g& Z1 @. I从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机! & z+ _7 I6 V/ J* J! k0 A8 @: ^
那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的
* Q! D. \8 i5 H$ J$ O负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低0 p6 y1 S5 N4 N* ^
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!( [3 T# ~! |/ H; ^0 T1 F
问: 现在的组装机为什么不花屏呢?
1 X1 m) v- @3 }& ]5 M) ]答:现在的机器都是更改了读取方式,以获得完全兼容!3 a( e' I5 K \* x! J
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。
C$ s, F( W& [5 o! D/ c改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
3 R4 y: E$ S( a1 B: R输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:8 F8 l9 [8 c/ n6 u1 F0 e
1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
7 P' ?. X! i! B }
! S& b9 M" b u( m$ B- w8 K6 X2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR" }" z3 f$ ~" S5 x: X Z
方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。
% I% d u! P6 B3 s4 T
) s: [- y; g1 M) p* m# F% S: \新的片选信号 逻辑公式 CS=OE&WE+A13
1 x; v- p% F% ]4 c; ~8 d; K' E两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要
* p8 F* K& Z; E* C9 \动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,) @9 D/ a. b5 l# \% D' j+ K- y1 r! {1 v
此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13
& B) K$ f O( ~* P0 r还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
$ Q. y% [! i" A7 W以下是对比图片:
2 T( Q' Y. y" L- p改造过程就不发图片,大家看测试视频:
% E7 j8 P h, R- ]
% E4 B. Y _0 E) \( g- H- H3 z[url] C C C C |