* G' Y. W5 n( L8 l7 @/ F本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。# [8 G& [1 x, |! K8 Q# V
我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。
' m: i- ^, E, T) I" Q' T6 S+ n查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。# p+ t6 |' G9 C$ d8 o! y
最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。4 S% S% j' `! X% z" p& A0 \
这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比
2 I6 x9 o1 K) y4 p: N1 a9 w, c9 P3 p) z$ I$ j) B- J# D' ?, K9 g# k
看完图所有的地方都想通了。
# c5 }" n9 G' A b- ~写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。
8 p# |3 o( Y, y7 T c" {核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。4 B; ~, R- s6 X6 s
/ @6 H; Q+ }2 Q7 D0 o改完实物如下。" \5 v% h8 z- z+ a! {
1 W8 s. G# y; ~) E) O S
效果。5 [0 z2 ^- H6 z2 J
|