$ L$ m8 ~5 N8 V! D
本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。
1 U) t! K8 Z' |1 w! M我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。
& ~- P9 d4 l6 ?7 e1 ~! |" d查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。/ ^8 x: O( ~. a) w
最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。
7 \! v! H* s$ O* m, p& c, S) m1 b3 X& U这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比7 A' y! }3 f1 `2 ]8 y0 \( v1 E) \
+ ~- W$ c* w$ z, h3 N
看完图所有的地方都想通了。
0 U/ f7 D& x1 [1 l写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。2 W/ s7 N8 O# O, r
核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。( \, K {" f P
- m: J( j% d. {, u e" E改完实物如下。
) O1 P% x. N# d' O. {$ i G v& `
9 c/ Q3 d- K+ p0 G$ b6 E+ l效果。& e* j' \$ _: y7 V ]1 P
|