本帖最后由 n805 于 2015-12-19 21:58 编辑 " P& U3 X+ F! ~0 _/ @
7 G+ J, D2 _& y' S" V& p
2015.4.4 BY 孙大师
) D9 ]) U: U/ x! C全集成快FC游戏机,无论原装还是组装机,在玩部分豆卡时会花屏,这个问题其实来自游戏卡本身。
! ^7 k0 P5 n% g1 f2 ]其根本原因是 卡带的OE 使能端口被直接接地(永久允许输出数据),原本是要通过金手指17脚与PPU
4 L7 ^- J# p! [相连,受控与PPU。 PPU在发送地址码的时候,首先是要发低8位数据到373上锁存,然后读出卡带MAP数据
3 M/ g6 ?% i- E; R) H由于卡带的数据线一直都有数据输出,在PPU发送低8位数据时,与卡带输出的数据碰在一起,导致数据变化: t' Y4 O# q6 p5 S$ }
从而导致地址码变化,读出的数据就不对号,所以花屏,甚至还会死机!
5 e3 j+ f) D, K" n7 i那么在之前大家讨论的更换373可以降低花屏效果,这是为什么呢? 这个原因是因为不同373的输人的) O! C# ]) E! r$ t6 J9 c
负载不同,而卡带输出的数据没办法在短时间内把373的8个输入端的高电平完全拉低,或者部分拉低7 z$ l) W3 ?; k7 |5 b
这样数据被改变的很小,或者没改变,这就是不同373有不同效果!: s% z) Y3 y- W
问: 现在的组装机为什么不花屏呢?. ?) y; {; C& x, U9 g$ {, @) P3 }
答:现在的机器都是更改了读取方式,以获得完全兼容!* R$ S9 m( T( k2 t2 t+ A
所以,我们只需要找到这个方法就能自己改造游戏机,获得同样的效果。
( K0 e2 L v9 q* f改造方法原理:PPU在读取卡带MAP数据时,将使用 17OE使能 56CS片选,当这两个脚都是低电平时,卡带的RAM9 |: Q8 M* o5 m( \
输出对应地址的数据,由于OE端已经接地,那么只要CS片选为低电平就输出数据,我们的方法:( y- e! _6 n4 m* q8 G) d2 P V& g) n
1、把PPU输出的OE信号WE信号CS(A13)片选信号合在一起,组成一个新的CS片选信号,控制卡带56脚。9 |- v3 d l7 U3 u; d5 U
+ [/ N! C: Z: F6 z) H! X2、把PPU输出的OE信号WE信号CS片选信号合在一起,组成一个新的CS片选信号,控制一片74LS245,245的DIR3 K. X; N2 @7 e8 j: `% E4 y6 j& P
方向选择线接PPU的WE信号,把卡带输出的8个数据通过245送到PPU总线上。
/ M' M4 l/ ~1 q8 L4 j6 }; I7 `3 L4 U & `0 C( {, L! m( i5 h
新的片选信号 逻辑公式 CS=OE&WE+A13
% Z b: O( L3 T* e$ F# I两种方法中,第1个比较简单用两个IC即可实现 一个与门IC,一个或门 IC,方法2比较复杂,在1的基础上还要6 P2 l \% @) t: A! b
动数据线。考虑到改机的难度,我设计了一个最简单的改机方法,如下图,/ C4 K Y' V4 C( M: D% j
此方法需要两只二极管D4148和一个或门IC 74LS32 ,你还可以准备一个切换开关,控制卡带56脚选择原A135 l- F* O. |% s# M! p# E, C6 A
还是新的片选CS信号,图纸中的电阻R为可选,如果使用74HC32就必须要,10K-20K。- w2 o0 ?' q! ?% v: K
以下是对比图片:$ H3 L# P, S+ N" a3 n
改造过程就不发图片,大家看测试视频:
( W8 [5 |5 [0 j+ f" `$ R# w6 ~3 M/ m" e/ T L7 x, D) D
[url] C C C C |