) t' y6 \# ?5 l; h* I2 Y! l本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。% Q4 A0 M% H% K2 V, \
我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。
/ k6 l0 N0 M) ^) Q4 D. n查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。2 S# W9 R5 S6 D7 b
最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。& D9 I F, Z" a( J- m
这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比0 @ Y9 G9 a( G# J1 Y& A$ V
5 `5 T. i; O _6 \
看完图所有的地方都想通了。
2 P3 }0 s9 k# O1 u9 N写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。
+ r& `2 O* e; Q& Q7 f核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。6 M- o! d" i" y! x8 V
5 e" e: D- I! n* B改完实物如下。
- Q4 D+ H8 f/ u" N9 Z" g
% ?! r1 v1 f" {. r+ ?& Z效果。
" V* w* W$ ~" h5 A$ [) K" F |