" l8 |& C# x+ i; B# g7 f. U本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。
8 q1 I. H. @ B& \4 K( C* r$ o我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。
1 d7 Z! j3 K% g( e查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。; j) D1 V1 g/ B8 I. f. @+ e6 Z
最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。+ l) R6 T6 |' L$ m' i
这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比
: @# E4 O: _& c, Y
. W5 j7 R3 f5 m6 ?! d看完图所有的地方都想通了。
% @; g, Y8 l4 c# E: |' M& e3 J写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。
7 Z8 f: h9 }+ K: G5 _核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。
- j2 @3 g* p0 K6 Q: k
6 {6 H0 H6 o, N改完实物如下。5 s! q l+ S0 `
* R0 }2 Z& D' }: u1 c效果。
. @5 l6 C! ?3 b: v) q/ J5 ~ |