3 |4 l/ |6 E" [" M5 g+ k本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。* k. H; d! Q1 J6 Z8 m2 J L" O
我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。& M: X, `' h" @2 {
查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。5 [8 _0 c# Z& m7 g
最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。8 ~, J) ^# i3 k1 `( V
这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比
: e- D7 z1 g- m4 i6 P
* E- P( @9 K/ f) W+ q) o; Y看完图所有的地方都想通了。
6 x* o7 X7 V, U6 }. `5 j写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。
8 Q: ]- X1 r" I/ T, [7 D0 s核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。
: {. ?3 z" M, z9 o
' P! a+ U2 I' A) M+ a改完实物如下。
1 }7 c1 e# K4 p" p; g& H0 i, k! W5 D, u2 c7 \/ j2 V4 U
效果。& ~8 T! f j+ `4 X2 q" ?
|