9 j$ l2 h! Z* l8 B本身其实没啥难度,最主要的问题在于任天堂定制的Mask ROM不是标准的引脚顺序,如果你把它当成JEDEC的话会被坑到死。5 v7 k# V/ X" r$ M3 e3 ]
我就是拆完ROM在上万用表,把图抄下来之后,死活看不明白他片选控地址,页选gate输出是什么操作。感觉也许是用特殊的mem map实现什么效果。2 r5 g$ h$ h5 @$ }( K* d
查阅资料又感觉页选的位序是不是反的,这样一来刚好1f-9f的地址空间都能把rom选中。找了半天的资料感觉莫名其妙。
! a9 L* n4 c% f0 K: K. _( A1 A最后给maskrom拆下来编程器读一遍,再写进uvrom直接替换。插上去只有声音没图像,感觉有分页没写上。拆下来校验又没问题。这个时候在看图,就觉得a18跟gate肯定是反了。
- r0 T* [9 G$ d这个时候才想起来搜一下Nintendo Mask ROM Pinouts,结果第一张图就是Nintendo与JEDEC的对比
! B- t; l% c, b7 Q7 J2 A& U
7 ~8 Z# e6 k* K, Z& R+ M/ q9 T: [看完图所有的地方都想通了。
- }. }: t0 f8 @( u. `! _写了个程序,把打乱的地址线序从逻辑上交换过来,这样硬件就只需要交换A18跟Gate。
, T8 n9 ~. n9 J: ]6 a核心的代码已在图中,我就不另发附件了。注意ROM芯片只能用8Mb,哪怕文件只有1Mb,因为4Mb的JEDEC对应A19的地方是空针,等于游戏ROM文件大于256KB的部分就被截断了。
# R, g+ G# ~( L2 V1 [: l& `# Q) O8 }. f. F" g
改完实物如下。9 t: ]# B" V: U9 ?1 s
* p* ~9 A! q' T# c9 M) f- _效果。
: i# s; \/ O8 V" _% o/ s4 P% i |