本帖最后由 n805 于 2015-12-19 21:58 编辑
3 c2 v( F) o6 l8 D+ C- E X# [
1 ?2 ^6 @" a9 C+ [+ U 2015.4.4 BY 孙大师
+ K3 H ]7 k& A( r, y! I全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
, v0 m% B, J! \7 c3 q! |其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU
! z0 j# I+ z6 B' f8 Z/ A相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据
. M3 C( p4 w. l" X( { |3 K7 \由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化
1 _; H/ v$ }4 B4 a2 N+ [" m% _从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
3 b! H2 n& {6 V( ?4 [6 E8 U那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的1 P. t; W/ m8 B8 D/ P# D! f& Z8 o/ G
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低
8 `5 E- H8 o0 U- w" I# Q这样数据被改变的很小,或者没改变,这就是不同373有不同效果!7 O q( `0 V8 r, T- r
问: 现在的组装机为什么不花屏呢?9 t X' J1 _: o w6 q; N; A
答:现在的机器都是更改了读取方式,以获得完全兼容!: _2 I/ A; I0 w* {: ]1 t" w
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。7 s' b6 @$ v. b% c/ R! q
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM& b, M, B' K: p, f. R4 i
输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:" D. u9 |1 D4 @6 r
1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
) O1 ^4 m9 u$ B $ |. ]/ i* H% t! q$ I5 u* G) _" F& J& a
2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR
1 R# t7 L5 R% E3 g1 L; u. N 方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。
* Z( u4 I5 K/ A 4 l4 J# v- o; h3 e' Z
新的片选信号 逻辑公式 CS=OE&WE+A13 _3 i" Q5 Y( `1 T, b
两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要
$ l! {9 X9 t, x动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
" r' P% R ~* e此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13! h8 X/ j5 b% d5 e. U G
还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
! C! I& ?0 k6 [3 ~: [" m6 y$ F以下是对比图片:
7 g3 s e+ Z. s& D7 ]% m2 c3 e2 E3 V2 E改造过程就不发图片,大家看测试视频:
* Q5 b0 V* @ m+ d; u( N v
) q; e& d# J5 ^; ]6 y4 b; C[url] C C C C |