) U+ K1 w3 ~' R) B本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。
8 V& P' t' R4 k9 {4 g9 @' D我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。9 c$ [6 U% r# G9 C
查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。
: \* C# G* O" O/ @* y+ U5 k3 `最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。
$ d7 o& H) i0 m4 }这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比
1 ~' M8 z, w' c9 v8 t8 E8 u S6 a
$ D# W2 i: j# L F1 D9 B看完图所有的地方都想通了。
1 p& V# ]3 R$ Z3 E& b写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。' @# K* D6 ]! G, H l) |
核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。 x9 g5 q8 l8 f
- g7 ^/ E' _3 `0 B0 n' S- c改完实物如下。( C" x4 `/ V0 e2 q% S* m
7 n$ s& A+ ^* F/ [3 S2 Q1 T效果。
1 ]& [. n2 T8 X |