$ c- \8 M9 f1 [' P1 ?+ M+ w; ^本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。
: C3 K3 \7 w2 R& j我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。
. ?; }4 I" h {' I2 q: o查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。! E* R: _+ i" o
最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。
: G. C# g+ C/ `5 ~5 v6 U4 U这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比
+ ~; j1 b, H, C# M# X0 b ?
/ a1 i+ T/ G$ n0 ~$ z U看完图所有的地方都想通了。) p- \# r* R* M$ ^. P0 c6 T
写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。2 U; X6 ]$ f1 ?1 |
核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。9 J) W" @$ t; i1 W* m+ ^
4 e6 e0 g4 [8 A7 W$ f
改完实物如下。' G% S, s" E! {% Q, `3 t Q2 A
8 S7 n6 y) l! q3 Y- a/ d! o6 J4 j J- Q
效果。
- k3 Z/ g- L1 i8 L) y& E |