本帖最后由 n805 于 2015-12-19 21:58 编辑 * A4 h9 c. C! j) W1 H
/ i8 k- i( a, Y7 P j 2015.4.4 BY 孙大师: @. e, `6 \4 q1 D% X' M2 j
全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。1 Z7 [! W5 y2 c2 n/ x( K/ p
其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU
" p- l. R0 F7 n% O( K相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据
0 r( N7 v6 P, f# t9 O2 o由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化
# z/ @( e( W4 w6 G! A5 u从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
s& e# \+ |* s# _' G4 C& C那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的8 k) {2 Y6 J) j1 e* y7 k6 }3 P: \
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低
4 b$ `9 h, w0 [* e! T这样数据被改变的很小,或者没改变,这就是不同373有不同效果!% r X, N* l' C( W5 B8 `7 b9 o+ ^
问: 现在的组装机为什么不花屏呢?
2 F6 e7 \& y7 W; h& k+ U1 E答:现在的机器都是更改了读取方式,以获得完全兼容!8 o( o6 T0 q) s5 t
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。+ z# p i' @3 m9 ?
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
! ^( v7 [6 Q" D3 p输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:5 M% v" ^* {; u' \7 _) X9 F3 H5 z
1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
5 ?7 u+ c5 L. w; G & |8 f, Y% o! h8 T! o
2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR, A2 k) j, R |& S5 J
方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。
! S1 o- k0 E( x1 ]3 d
: [$ h# q: }6 r2 m* H/ J3 M/ E" B新的片选信号 逻辑公式 CS=OE&WE+A13
" ~0 H' `( _$ L两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要% ` F/ B6 q! [
动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,7 N( \' Y* o# H/ e9 h
此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13
4 `. f j( k( g- Z还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
/ z- F7 h- t. o4 k6 v" r, W8 M以下是对比图片:+ ^, Y* J7 l9 o' _! z/ z1 V
改造过程就不发图片,大家看测试视频:
& \0 t, \- D. B- A3 S1 ]! `8 W9 @# b" o% S: l# [1 m
[url] C C C C |