本帖最后由 n805 于 2015-12-19 21:58 编辑
* |& J( M/ j( J" d4 q4 ]( s- e. u/ X. E
2015.4.4 BY 孙大师
6 k% b5 ]( }3 }3 x, e8 U全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
8 g% G: s* a% K# _; i其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU
; H, M# m- F. w2 s8 B相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据: K0 W" f9 j# j. R' ?# H. R2 i
由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化
5 ^# s3 C* f* Q! _$ Y; d从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
; ^; G! U j' e! o7 l6 e那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的& f' ^; }# o! e( X& ]$ y1 B7 }0 Q# x
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低( ]9 k. q s( c) E4 E
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!
* [& b' f8 n* H问: 现在的组装机为什么不花屏呢?
/ H( y9 r6 U3 ?6 g6 P: T& m5 h* U答:现在的机器都是更改了读取方式,以获得完全兼容!& e3 T! J1 l) r+ s2 b& ?7 J; _
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。0 l' I2 |4 C% f$ Y7 ^# n5 ? b7 D
改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM
& Q3 P4 U+ e5 R ~) y6 m输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:
- R6 Q+ s( ?/ g9 y1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。
2 y! T7 b8 c4 q7 ]0 A1 b + `) A& G5 a6 i0 u- _3 C, ~5 p
2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR
& ?. N- l5 ]% _3 l/ N 方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。2 b4 v: |0 h5 f. ^- K+ S
; \* ?$ x* |, w" J7 t/ k. `新的片选信号 逻辑公式 CS=OE&WE+A13. o i( `4 Z) h2 y, E
两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要- O6 D" I; D) |! k, S
动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,
1 j' _% M- r/ k* b$ M此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A13# s+ }/ d; Q: F
还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。
, g5 Z& Q, W" g7 R0 m: I以下是对比图片: B5 L, J# n. j: F4 w+ M5 ~
改造过程就不发图片,大家看测试视频:
3 n( H( N1 g9 ^; x5 k2 |( S( N8 h! @0 _
7 U v; ? @- P6 w6 h+ m[url] C C C C |