! C( F6 F0 G. B9 b本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。2 s7 ~5 V0 n% }* y: ?
我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。1 X" }% v8 J% R, C1 W& d
查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。1 Y. g8 F- U7 P- q2 y
最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。* d( r5 c9 {! I
这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比
1 J8 j9 _! S. K9 |
) y, ]2 y; x2 F0 ?) E5 i看完图所有的地方都想通了。
' p8 J" V r! Z9 n7 Z写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。/ d2 M8 f o" w6 z) N. Q
核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。5 ?" |9 D: ]9 d( a d' p/ T
u0 G. I5 ` k+ R4 f2 V: }改完实物如下。
2 k4 L/ ]) I6 g. s/ v
9 s: P) m# Z) ^1 \效果。; m1 h! o+ I& D6 |/ M* [$ y/ K* ^
|