1 A' ^ p1 i" K* V, s3 `! z本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。4 O G, A5 f, S$ a7 W
我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。3 F: o( W& i, _% J4 M8 ^0 n! u
查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。
1 |4 P. E5 S! x$ A$ l$ `/ X9 d最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。
* ?+ t/ O7 |' @% x; _6 Y这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比
' o0 `) a4 Y0 X' i5 k6 |: O: a4 I7 O6 f
看完图所有的地方都想通了。) q! D: H# |4 @
写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。/ H" v# h) G8 C8 G7 f0 |9 E3 ~1 l
核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。
9 m/ c/ N, A% |6 y/ {7 }3 f
4 o: b, R% A; t, i. d p; U' \改完实物如下。
. m7 [. a) z, A2 K: _; ~2 y; ?$ r& b2 o. f2 l
效果。
1 o$ s. k/ p8 E P* S* r |