6 D ]$ E( d3 b: ~6 g3 H本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。
0 v |; N g( G) A& O7 m我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。
6 V; M% C7 ]2 \( e查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。
! H1 E6 f* ]7 P最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。, i; R% ?( X, A6 s, `1 O& f
这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比" Z; v- ?' |, O" f0 x: r9 Q/ I0 ~& F
0 O, `2 H9 S9 W$ J/ @, o( m5 I. C
看完图所有的地方都想通了。
+ k9 r. W+ L5 ?) M写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。9 M7 R& R0 N. L/ J& _& M
核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。. s$ ], }0 U* k+ P
" M4 O1 ?2 O& w改完实物如下。
( c' z0 C! p5 O" `) g; h! ]) d- r/ n3 T3 a0 |0 B0 W7 P
效果。
5 n4 E3 k1 R( \. I" O |