原来你有基础,手艺也不错,那就太好了,省了我很多事。4 y+ x7 |+ k" \4 C( b/ K7 x
6 ^) O! S9 {; Y
首先说一下关于kazzo烧录器。你可以在闲鱼上搜索“kazzo”,有一家保定的,75块钱。虽然是闲鱼,但实际上是店主自制的全新kazzo,非量产,并非二手货。可以放心购买。
+ k! n8 J. k& B, {2 y8 Z然后解释一下你遇到的现象。你那个MMC1的卡带上的PRG ROM芯片丝印是HFC-RT-0,板子是HVC-SGROM-02,查数据库可以断定这是《サラダの国のトマト姫》(沙拉国的土豆公主)。
5 i; h( M) L2 c$ _, C5 |; e; G; n注意,事实上这个游戏的PRG ROM是256K,而你只读了128K的内容,而且读出来的数据,前后64K都是相同的。造成这个问题的原因是,Mask ROM的引脚排列,并不遵守JEDEC标准。换句话说,这个Mask ROM并不能直接放到烧录器插座上读数据,而是需要飞线。
, {, P d& m, T- PRG Mask ROM EPROM
" f; J# N4 w3 [6 F) C3 D- S - ---_--- ---_---$ e. u) ?/ I2 U
- A17 - |01 32| - +5V VPP - |01 32| - +5V
, r3 S2 L2 h B" b p - /CE - |02 31| - +5V A16 - |02 31| - PGM$ ^' U$ P# q# j' u
- A15 - |03 30| - +5V A15 - |03 30| - NC
8 j! R2 x/ H& J' ^4 I1 m - A12 - |04 29| - A14 A12 - |04 29| - A14
3 O& }0 N) s; Y" B2 g - A7 - |05 28| - A13 A7 - |05 28| - A13
; ?/ h$ g: ?" P) |3 p' k, l - A6 - |06 27| - A8 A6 - |06 27| - A8
; P% M* z9 M5 e" V - A5 - |07 26| - A9 A5 - |07 26| - A97 i1 v5 R- ^, H2 [
- A4 - |08 25| - A11 A4 - |08 25| - A11 c7 O- v, `6 I8 h3 f( q% Y# r. s
- A3 - |09 24| - A16 A3 - |09 24| - /OE
0 l% d* S5 c2 L4 {8 X0 Z. B, D5 _6 B - A2 - |10 23| - A10 A2 - |10 23| - A107 }/ {: A( L$ _- ]4 P# B
- A1 - |11 22| - /CE A1 - |11 22| - /CE
9 h( ]6 q: Z1 o1 T6 s2 ` - A0 - |12 21| - D7 A0 - |12 21| - D7
0 o) |. U5 P D: {; n. t$ V - D0 - |13 20| - D6 D0 - |13 20| - D6
5 E; k9 _; f0 ~$ U+ ?( `2 b" q - D1 - |14 19| - D5 D1 - |14 19| - D5( E ~1 `' Q% F' ^, x
- D2 - |15 18| - D4 D2 - |15 18| - D4
: x8 j4 |# x9 y! j/ B) f- J - GND - |16 17| - D3 GND - |16 17| - D3
" \! b3 N( a# R l) w. b+ S - ------- -------
复制代码 1 T0 k9 Z7 f6 `1 m: j5 ^
这是32脚的PRG Mask ROM和32脚的EPROM引脚对比图。相比之下,Mask ROM没有/OE引脚,而多出一个A17引脚,所以32脚的PRG Mask ROM容量为256K,而EPROM只有128K。
+ G& K( g! z8 C- v( a5 N+ v& }( L这就解释了你读Mask ROM的结果。对于通用编程器来说,它不知道你插到锁紧座上的是Mask ROM,它只把这个芯片当成是符合JEDEC标准的EPROM来对待。于是在读的时候,编程器给1脚加了高电平,24脚低电平,30脚电平未知,暂且假设是高电平,31脚低电平。
& Q2 O& Z* i# u可见,Mask ROM的A16和A17都被定死了电平,所以你只能读出芯片容量(256K)的四分之一的数据,也就是64K。 n3 D$ X3 S9 o5 \& q
而当编程器把芯片当成EPROM读到高64K的时候,2脚高电平。但对于Mask ROM来说,2脚等效于22脚,而22脚是片选,始终是低电平。对于常见的单片机来说,低电平的灌电流能力比高电平的拉电流能力强,于是2脚被强制拉低,于是和读低64K的情况一样。所以读出的高64K和低64K数据相同。 |