本帖最后由 n805 于 2015-12-19 21:58 编辑 1 Z# d' ~! x g) T; p% y% T/ i0 }0 [. r
; q- P* v" d7 j- [3 R& `6 K& t 2015.4.4 BY 孙大师
! v9 ^/ z0 F0 d6 u: g全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。% s2 g1 G! p8 @$ v' G6 U
其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU
( t$ l5 W8 N5 n0 p: P9 G5 r相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据
% w# L. ?$ q2 p8 p1 F. l! N由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化. f: x7 d/ B6 d
从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
_1 T" i1 S6 s! _( ]5 M4 g, F那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的 K4 |/ R+ @7 A- \ ~# V [9 L
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低; g/ I/ D# \5 n$ W% d6 L/ \; Y
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!. U9 f5 M* L3 o# Y) {
问: 现在的组装机为什么不花屏呢?, K8 j0 ~/ R# Q
答:现在的机器都是更改了读取方式,以获得完全兼容!/ c9 w0 I9 j' h; Y9 f* f
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。- O8 g$ Z% [, ~" r
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
/ X& w9 O, V0 Z9 W2 y输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
i* s; F# J" C- G1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。9 b$ X: q; y1 _& D5 S& e- r' E
" N+ d% j/ ^' v1 v2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR' P7 B3 u$ | z, h
方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。, p! l+ p( \" q0 j
/ z1 p* p9 @7 ^
新的片选信号 逻辑公式 CS=OE&WE+A13
5 j2 B1 f; ` h) N4 ?+ N两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要
: n% R. u* T( O) t) W5 I动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
, y# m' R. u+ s: X& N+ J此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13+ j* r8 ^+ T( ~# t3 A
还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
6 r) Z( `4 x* v6 U1 |" C& O9 D以下是对比图片:
! n5 j) |, j! x6 R! m E9 o% O改造过程就不发图片,大家看测试视频:, X( l5 X9 n8 U4 i- V6 \( I
. G( C5 P9 H9 {' \
[url] C C C C |