- h, T# F6 w- v" ?$ J! v
本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。
, C; u5 h" R3 N0 e% X我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。4 _' {$ _. B) } M3 |; j/ J
查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。
; `2 q, D6 l0 M最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。
2 \7 A9 b! ]& r1 |1 [7 e这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比( t2 c$ |$ y2 l' {7 ^3 a
9 f! A: B' |4 w看完图所有的地方都想通了。- o4 A- {4 C$ A/ l: V0 K
写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。7 G$ Z. J- k0 _9 T C( @
核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。% m4 c( x$ M6 `3 m* Z% w
: c) \& F! s6 P$ q% [* W* ^% h& w1 q% P改完实物如下。
2 L# |. {, m1 J6 \$ h h! X5 ~# \) \$ w/ [8 J) |3 Z& @/ E- a
效果。
( E" t2 ?6 E9 J/ f4 e5 \& Q |