/ Y' d. L1 k: d; [6 l# |
本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。
7 D1 y, R, R7 L1 U( o: S3 x# b2 c我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。0 q8 U, A2 x3 b$ P. `. e
查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。) ^7 m" J( w2 \$ n! K c6 U
最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。8 l# i1 f) p6 g7 @; {% K
这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比1 _. P w r, f; v, {: F' E% B
! V, x1 h* V5 d看完图所有的地方都想通了。# e) O3 L' e" y' G
写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。
' b+ J1 U5 `' u' C7 j7 V! L4 V核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。4 k% d8 g. [3 U# G" S
$ C2 A. m9 a2 b- e9 s- ~
改完实物如下。5 s/ T( W+ D& q2 X, U. t7 h
1 `# e+ x: B7 R7 i" E
效果。+ s* _; p9 Q. b& L$ |
|