本帖最后由 n805 于 2015-12-19 21:58 编辑 2 B/ p# l4 b4 l% ]- O" B/ D! E
. M1 w V6 S% g" F) n 2015.4.4 BY 孙大师
" w/ ?1 u" _6 _5 Y1 D全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。) R! X* D: p) H0 R
其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU4 L- l( v8 \1 J4 H$ \- W% l- s
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据) M: ?* h) S3 J% C; r* H* ^
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化
3 q/ n6 [% N6 \( ?" ~8 N2 y7 D从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
& C3 t, S( w# j+ x* {那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的
3 Y: F U/ |5 \# J负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低( @/ k6 Z8 t( g V/ N( p$ Z
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!2 Q# z1 N/ i; T6 M$ {* y
问: 现在的组装机为什么不花屏呢?
( B/ n, y. x; o3 T8 O) O. ?. y! ^答:现在的机器都是更改了读取方式,以获得完全兼容!
, ^: V. g1 y: B6 w& I所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。
3 ], |+ V0 N: [* v改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM- r, @% k3 P: Z- l0 o
输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
' x5 `) Y* [% u1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。2 u- b6 }) S' _$ \9 S, L/ T/ r4 w
0 n" T$ c1 Z, g( M2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR
; y+ Z5 ~8 X3 p 方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。
4 f' W6 W$ B- n) I m, k! A$ R, ? ( o: H% g5 N6 e: s2 m! o
新的片选信号 逻辑公式 CS=OE&WE+A13, [% h, ]6 w: b
两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要) i D! ]8 S. {6 J
动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,$ E' S, q1 ], w: m0 E
此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A134 [- B, o4 B/ k4 j/ a, R
还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。% g; f( |- o' u0 V6 E+ u9 V
以下是对比图片:
' t7 C- O, Z3 H0 A, S6 a改造过程就不发图片,大家看测试视频:: |! L( e L" ], @
5 }; F0 ^: [" @" h3 [: Y2 \
[url] C C C C |