" W/ u0 ?" ?- X4 q9 T
本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。/ T v6 D9 f- Q" z0 g& \" G
我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。
' e& F. x7 ]; w, K2 H* `$ Q( w查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。
* v; w" ^0 y" I8 T8 k6 x最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。2 t1 [0 g. J, ~& k( ^% H, L
这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比
8 q5 y7 E% J% [
# e& k8 Q# Y+ l: p U' V: t看完图所有的地方都想通了。; w2 h! W8 ]$ n" o- a h. I
写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。
3 r+ U& s; F9 l" `: H* L# D核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。
$ @' r' K7 u) s3 W5 z8 A3 k; e$ x* N7 ]) ]& p F# W
改完实物如下。+ T0 F+ A: ~- M
' Y$ M9 V* j/ v+ T: _
效果。4 T5 n" i7 g# ?3 ?
|