本帖最后由 n805 于 2015-12-19 21:58 编辑 2 \+ ^9 l+ X* ~& i& g/ ^) g
; `8 ^" W" Z# F+ Z0 q2 F2 i: |# ]
2015.4.4 BY 孙大师% p' K& g& Q" U# D! m
全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。8 S; n0 {0 l6 U% Z7 T9 D) |
其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU
5 s7 E/ C- T$ t- r ^% u相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据
) y2 e0 `/ ]5 I# A+ F, q. S由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化
+ M6 a) u3 C ^从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
, J! _# I% |+ D- R那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的9 [% g* L4 r0 v3 h- `5 V
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低
2 J: S+ D$ I A5 @, A/ C' g这样数据被改变的很小,或者没改变,这就是不同373有不同效果!7 d3 J& i$ I6 H8 ~
问: 现在的组装机为什么不花屏呢?
8 @: ^8 _5 W4 w, k; N. l答:现在的机器都是更改了读取方式,以获得完全兼容!6 v" d3 Q5 j1 q6 j! s
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。: f" e4 T+ Q5 A* q- y9 i$ E$ C# @
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
3 |/ A# z) b1 o% i# R- ?/ @输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
; k$ D$ `# B5 V1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
$ \& s8 m4 k) T & P0 n T& B/ s5 X) G
2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR. k- W- I6 Y/ V6 @: P( B/ X% m
方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。7 t" K! ^ g+ m' r+ H# H; T
1 \! O* d* S% i& H新的片选信号 逻辑公式 CS=OE&WE+A13; Z/ G7 g8 q2 v5 F
两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要
; t) H- H# i2 j7 R) _3 Q" t动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
X% f' m9 O9 l3 l9 @, p& y3 C" q此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13
' E6 t. J M3 R$ |' E [0 j- C还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
3 H9 m' U; E/ J( p以下是对比图片:$ p; T2 D9 W2 K6 ~% h6 p1 K1 Q& [- ^9 [
改造过程就不发图片,大家看测试视频:( k. |5 N% K: _( _5 \1 h
7 ?" e+ q. ]: e W2 ~[url] C C C C |