本帖最后由 n805 于 2015-12-19 21:58 编辑
- U% S ~" U$ h! C( t, I T7 A! s1 k, |* z6 P
2015.4.4 BY 孙大师
" l3 X8 r# T3 _9 L& k全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
$ r! Y7 h. ?; @% Q6 E3 i1 O; H) q3 I其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU/ [+ ^% @& {( h; v( i
相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据2 o( ]0 ]. Y3 p; p+ |
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化
1 S' x' K% t; F% m% C& E从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机! 9 e) t0 F/ e6 u6 l
那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的
# K1 X! }. g6 c+ w! n5 K/ q负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低5 _: E' ?- Z/ j1 p$ V
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!
' O; y! B( S0 \, c$ |1 A问: 现在的组装机为什么不花屏呢?" l/ ~* u% ~" b& T' G' i
答:现在的机器都是更改了读取方式,以获得完全兼容!
5 q+ r2 R, M3 }. C; f( \所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。
, a4 O: y9 ? c y$ A改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
) F9 l+ X" D. H c" Q. ]输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
% Q- v+ q3 {( {1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
/ t" N {' d0 m" }; N% g
! L; c8 ^0 x8 L: t5 `2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR
( B2 H# w R9 ^2 J& K2 H# T7 { 方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。
* u- A, Y) A# b6 s 7 W$ P0 M( x- B2 M
新的片选信号 逻辑公式 CS=OE&WE+A13( @$ c8 d( d, B G o0 k
两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要) {, q# z3 T( O' b3 r
动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
G, } ~3 ?% [- n" o此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13
2 l6 s# O" B' H# Y5 e' v还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。% ~* @3 J P7 q$ I- q( `
以下是对比图片:, L# Z# l) i: `! h- h( R
改造过程就不发图片,大家看测试视频:
/ I0 e/ q8 y) R; D. |0 V9 a L
# l, L$ o) r4 I2 ~( @3 o[url] C C C C |