本帖最后由 n805 于 2015-12-19 21:58 编辑
1 a. H8 I; R% O' G2 k: B6 I8 ~) m1 w* t+ @2 G5 d
2015.4.4 BY 孙大师! ?' z! {3 C) i7 u3 M+ W
全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
0 k1 l- h! y* d" r6 r其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU0 `0 S3 ?( j2 k! H/ x; |
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据+ j5 z, g, R$ m6 G
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化2 U+ t: ~6 I" d5 O/ N( O. w
从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
9 ^6 O! O* _' @) B那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的4 d% S7 f" B- r3 N m+ M+ N8 U0 K
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低* i% m$ _% S x& p. h
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!0 |, U8 @$ j) [
问: 现在的组装机为什么不花屏呢?
; [5 V, B5 L; O' n' n9 j! ^. H答:现在的机器都是更改了读取方式,以获得完全兼容!) f/ Q: r8 S Y
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。) a3 m6 r: ~% Y7 q% V$ |
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
$ b u% \5 x& ]2 h! d输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
3 z- u" h3 H' b1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。. p8 U+ S1 s0 Q# g4 Z8 ~
- w. d/ E- W; c$ a, L& p
2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR
- W: A8 C2 F% w2 J1 u# F3 }) | 方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。! J g3 x3 [2 R3 O* j* {0 b
: u; L$ y6 f. u* ?2 j! w, V+ |新的片选信号 逻辑公式 CS=OE&WE+A134 ~1 C% L+ O+ Y
两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要: Y, } Q( W, c$ s5 G- G9 g9 {4 Z8 u
动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
% p' D& g6 ?7 A k$ e此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13
Q1 |! P$ e. y4 f9 f, W3 S还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。' k% q1 W. m7 j* D$ E
以下是对比图片:# t! l. L% g9 D; i; |+ b
改造过程就不发图片,大家看测试视频:
" T7 V- _ {! H' L) h* X( A6 [& y2 n# l6 S+ L
[url] C C C C |