- V6 A5 _7 T8 ]3 ]( p1 Q3 {, G本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。: ?* Z2 u& Q( y9 c; Y8 c
我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。! c' L, b! r3 j1 E5 W
查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。
7 K" W5 O# O! Q# C# L, s9 V9 c- m! h最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。% h" k% I8 k/ b/ B1 C: C+ ~" }
这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比5 w- j: ?" W" D* I
' U/ Z! P) J& y0 V1 |& q
看完图所有的地方都想通了。3 d/ v6 @$ F. Z# v, _6 `0 n' D3 S* O
写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。
7 K' _1 P; b- \# l1 b4 ^$ _7 |: Z核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。# y! u6 J4 e! X3 e+ ]) |- {
% m0 X& m: |. M" h改完实物如下。
6 D6 ~3 s* W F4 K( ]/ q
8 H: Y' F- n' \6 W, t: Y效果。
5 t+ Q9 `7 r! _$ p1 N7 c' E |