原来你有基础,手艺也不错,那就太好了,省了我很多事。
0 M! F6 Y! Y& ]1 }1 N& O$ ]0 n4 T" f, y* j
首先说一下关于kazzo烧录器。你可以在闲鱼上搜索“kazzo”,有一家保定的,75块钱。虽然是闲鱼,但实际上是店主自制的全新kazzo,非量产,并非二手货。可以放心购买。* y; w/ s6 H7 q9 M1 [6 t e- o$ b
然后解释一下你遇到的现象。你那个MMC1的卡带上的PRG ROM芯片丝印是HFC-RT-0,板子是HVC-SGROM-02,查数据库可以断定这是《サラダの国のトマト姫》(沙拉国的土豆公主)。
( Q; ~: K8 l1 k) l0 K H; g; t注意,事实上这个游戏的PRG ROM是256K,而你只读了128K的内容,而且读出来的数据,前后64K都是相同的。造成这个问题的原因是,Mask ROM的引脚排列,并不遵守JEDEC标准。换句话说,这个Mask ROM并不能直接放到烧录器插座上读数据,而是需要飞线。
* i, j% i8 X: S7 {& b9 {! v- PRG Mask ROM EPROM0 B% e6 m l) {, @: W/ V6 c# {
- ---_--- ---_---- _9 D6 @: G. F7 O$ |
- A17 - |01 32| - +5V VPP - |01 32| - +5V* S: D4 V% j6 g2 f; R; s" Z+ t
- /CE - |02 31| - +5V A16 - |02 31| - PGM
, V- I* Z, Q$ ` - A15 - |03 30| - +5V A15 - |03 30| - NC
& P, J1 F! ~1 z+ ~ - A12 - |04 29| - A14 A12 - |04 29| - A14: y) F# ~% p+ v. J% J
- A7 - |05 28| - A13 A7 - |05 28| - A137 ?3 S2 a Y; C8 U9 T7 C
- A6 - |06 27| - A8 A6 - |06 27| - A8
6 N4 N0 v5 D1 D; r - A5 - |07 26| - A9 A5 - |07 26| - A9
# t @- d( n( N/ U, G - A4 - |08 25| - A11 A4 - |08 25| - A110 b& n) h! I2 J ?9 W3 O3 Q0 J
- A3 - |09 24| - A16 A3 - |09 24| - /OE1 R. n# t& |* x. K3 T: Y Z
- A2 - |10 23| - A10 A2 - |10 23| - A10
" b9 S8 r! U$ ]# k0 W" n4 q9 L - A1 - |11 22| - /CE A1 - |11 22| - /CE
4 X, y* f9 j; C j7 y( s - A0 - |12 21| - D7 A0 - |12 21| - D71 v4 \% _9 A$ m
- D0 - |13 20| - D6 D0 - |13 20| - D6
1 f5 ~0 Y$ B- D( J - D1 - |14 19| - D5 D1 - |14 19| - D5
, x- P1 v: u4 D; Y' P - D2 - |15 18| - D4 D2 - |15 18| - D4- _$ t9 \# c$ ?) r n( G
- GND - |16 17| - D3 GND - |16 17| - D34 j3 j5 a8 z) a& T+ E( M+ g5 q+ G
- ------- -------
复制代码 - T4 f) g/ n/ G7 n& F
这是32脚的PRG Mask ROM和32脚的EPROM引脚对比图。相比之下,Mask ROM没有/OE引脚,而多出一个A17引脚,所以32脚的PRG Mask ROM容量为256K,而EPROM只有128K。% g6 z5 e+ c3 d( @6 V
这就解释了你读Mask ROM的结果。对于通用编程器来说,它不知道你插到锁紧座上的是Mask ROM,它只把这个芯片当成是符合JEDEC标准的EPROM来对待。于是在读的时候,编程器给1脚加了高电平,24脚低电平,30脚电平未知,暂且假设是高电平,31脚低电平。$ E5 \, k9 w% k \ U; h7 |
可见,Mask ROM的A16和A17都被定死了电平,所以你只能读出芯片容量(256K)的四分之一的数据,也就是64K。
# H: d* D7 ~3 D% T! ]而当编程器把芯片当成EPROM读到高64K的时候,2脚高电平。但对于Mask ROM来说,2脚等效于22脚,而22脚是片选,始终是低电平。对于常见的单片机来说,低电平的灌电流能力比高电平的拉电流能力强,于是2脚被强制拉低,于是和读低64K的情况一样。所以读出的高64K和低64K数据相同。 |