本帖最后由 n805 于 2015-12-19 21:58 编辑 4 L2 j" K0 Z7 s, W9 f& u3 r4 G0 A9 v
5 W; K) p: z" J1 |6 ~
2015.4.4 BY 孙大师
# ?1 U0 P8 O( r# G全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
( J7 w" U$ b, [3 ^9 J& }其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU1 v/ Y$ r# I2 ~
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据! d2 ^; o( r- i" @
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化$ \8 @% {7 y" d
从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机! ) ?0 D& D9 C1 z! j
那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的8 R" S7 i8 O7 [# L2 m
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低0 H* L& T5 t3 R# I! h% W
这样数据被改变的很小,或者没改变,这就是不同373有不同效果! U: \( Z2 Z, b! f3 `
问: 现在的组装机为什么不花屏呢?5 a) _/ \+ T6 ]- a+ X
答:现在的机器都是更改了读取方式,以获得完全兼容!* N K! I9 M+ P
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。* E [1 ?$ k6 A/ B1 N: W+ g
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM% L- b* _1 y1 c8 T2 k& D3 K% _
输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
8 S4 A4 Q+ Y9 {( V1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
3 X8 A, }+ z9 X/ k& Q8 V0 x + u. K# w3 I- r; x
2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR9 i' g0 ], a( E5 X
方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。
! b; A$ T* I J: P7 f
( @6 c7 Z7 u8 ?8 d; o新的片选信号 逻辑公式 CS=OE&WE+A13
1 Q7 ~" h" o) R0 |7 t4 G两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要+ q1 Y4 e3 _: H, w3 A2 z
动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,0 j# [7 q- Y3 D6 a9 }7 e3 u/ A
此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13
: X- O. o/ A0 w7 @$ W9 p% k还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
0 {8 I( y1 r" z% f& |以下是对比图片:7 I) b4 \5 r- i! A, y
改造过程就不发图片,大家看测试视频:$ O( D( D5 E9 [7 \( F: f) g
7 c9 \9 l& w7 y: \6 ~. k$ f
[url] C C C C |