本帖最后由 n805 于 2015-12-19 21:58 编辑
8 o6 ?* l% ]! u
& O3 @0 O7 o9 z3 @+ |/ G, i4 O3 T 2015.4.4 BY 孙大师8 d8 x+ Q. ^* r( N
全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
3 Z- p4 K0 n) Z7 L2 }7 E3 k2 [& B7 s8 ^其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU& ]1 ?" _$ q' ]- ?- _
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据* ?. @$ E( Q, ~4 I v6 o7 l
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化
0 z. N* D5 u# z& e" W) k从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
: M# l8 p" U1 c$ [6 A# Q Z那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的
% [' ~. P# [4 G r5 Q负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低* x( c5 ~+ M. ?
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!' j# U# k; g$ r# m: F, Y
问: 现在的组装机为什么不花屏呢?
6 a5 }# I- d- F4 h# F) n2 d. l3 \答:现在的机器都是更改了读取方式,以获得完全兼容!# Q0 G. \1 c# e( X9 j `, ?) y
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。2 |$ u( w0 C; \% J
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
3 n" o; S c' c2 t m% Y e9 d输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
' T T6 L/ u6 r- e2 t6 F1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。( K/ f. b6 u' e7 w
& @, _! i( }7 D+ R
2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR) U' S3 s& o: ^- F+ f
方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。
* i" w% M" n( r3 y, |9 p% G+ y
/ _1 w* M8 }+ Z新的片选信号 逻辑公式 CS=OE&WE+A13
, D9 B& b8 |) j3 O7 n两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要
& {, Z. N9 h# ~9 F: D动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
4 o5 c* L1 `" T& Z( k \2 {) {此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13
3 r% T/ |1 R0 o" B' O+ E8 c) I还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
7 D: T" Q0 i# j以下是对比图片:
; f2 m; X' d9 t# |( z! h5 C改造过程就不发图片,大家看测试视频:
" t7 t. Z" Y6 b. o* M' F: F
4 g5 }0 b# n7 I/ f4 S$ q[url] C C C C |