本帖最后由 n805 于 2015-12-19 21:58 编辑 # J4 H/ ?1 r+ [$ u8 H2 S
- H6 N6 W8 r! Q ]( K0 [ 2015.4.4 BY 孙大师
* f: b7 t! A5 U/ J全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。# V2 }# U( K _) h5 t
其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU, `* j* }, {4 c
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据
; M: a C! ]4 F) x! r6 a+ T由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化% F- _% X, N7 ~- f
从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机! ; y; N/ I( |' `; a
那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的8 l$ h9 E( U: M1 p. m9 p `8 h
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低
P: T& e* G: O/ ]7 s) j这样数据被改变的很小,或者没改变,这就是不同373有不同效果!& [5 J8 j2 C5 O3 }7 \5 _# T
问: 现在的组装机为什么不花屏呢?
8 B) G& W0 O' C6 j+ ^4 c7 N答:现在的机器都是更改了读取方式,以获得完全兼容!. B. U) e% W; t( g
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。
* L- S( |4 c2 E3 j' G* q6 Z6 [* U改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
E) O+ v; y% O0 o% i输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
" B, P1 ?$ K' W2 t9 t, O5 a& k1 R1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
% x3 U! Q* @9 @( h " z z) F l9 P6 E; I
2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR# X. l3 Q' e$ G y! B! {* ?% ^
方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。8 K% }" G! t, o3 w& k
# F* k" S: Z1 [新的片选信号 逻辑公式 CS=OE&WE+A134 x/ ]) ?( j x$ H( ]2 I+ \8 C( ^
两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要
( T0 D) l, R! n动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
5 ]( {: a! H* b3 J$ x' H3 c: K此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13; V! s1 _$ K5 F
还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。( R C* c" A9 b P
以下是对比图片:/ t; D5 [* p- l* h
改造过程就不发图片,大家看测试视频:: v$ v; @! v9 _6 f
7 C( T, W. K5 P j" ^+ I[url] C C C C |