, @9 {6 j( x7 m3 F, q9 q本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。
4 F" [& t. K" t3 R; Y6 ?我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。
& V; ^8 P& Z0 f+ o$ g查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。
; l+ b1 Q& P" d最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。
- x& N* f$ j( Q* Q/ h% t这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比- ?) n I1 z P* d! D. i
# ]$ z/ ?8 [$ h9 i9 k看完图所有的地方都想通了。% W$ {! O6 h& J8 n" O" I
写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。
# a# X" Y6 L0 O2 B, R/ j# T核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。5 ~' A G5 E3 q8 d! {4 U8 b( L f
, P$ _; i* T3 `# @5 y0 G* O/ m
改完实物如下。: e) t9 @& }1 R( d9 Q
" T3 D, X& _5 v; z* H效果。
) n9 \0 ] s. p1 l! @. ~- L" V |