原来你有基础,手艺也不错,那就太好了,省了我很多事。
$ Q! V# [/ n7 ?6 r
` {, B) _5 A) n8 [首先说一下关于kazzo烧录器。你可以在闲鱼上搜索“kazzo”,有一家保定的,75块钱。虽然是闲鱼,但实际上是店主自制的全新kazzo,非量产,并非二手货。可以放心购买。
& F$ R: K( I+ P' A然后解释一下你遇到的现象。你那个MMC1的卡带上的PRG ROM芯片丝印是HFC-RT-0,板子是HVC-SGROM-02,查数据库可以断定这是《サラダの国のトマト姫》(沙拉国的土豆公主)。
" I3 L# |6 o7 w* _& D' }; v' O7 i" T注意,事实上这个游戏的PRG ROM是256K,而你只读了128K的内容,而且读出来的数据,前后64K都是相同的。造成这个问题的原因是,Mask ROM的引脚排列,并不遵守JEDEC标准。换句话说,这个Mask ROM并不能直接放到烧录器插座上读数据,而是需要飞线。# y- X/ S% {: K% U5 J! x% H
- PRG Mask ROM EPROM
3 x& |& N$ w# `5 u& ? p! S* @ - ---_--- ---_---
+ {; ?* m( }3 N* |8 T - A17 - |01 32| - +5V VPP - |01 32| - +5V/ w* f) s- f6 s7 z4 h! J
- /CE - |02 31| - +5V A16 - |02 31| - PGM
d" {$ p' ^/ K - A15 - |03 30| - +5V A15 - |03 30| - NC1 F& E6 B! b9 ?5 I
- A12 - |04 29| - A14 A12 - |04 29| - A14) x, s* A0 o( N$ s2 K3 L( z
- A7 - |05 28| - A13 A7 - |05 28| - A13
$ X4 c5 \0 Q7 b9 b. a4 T0 ~+ x2 D - A6 - |06 27| - A8 A6 - |06 27| - A8/ n: x, h4 q7 c; `4 N, R1 G8 f1 U3 o
- A5 - |07 26| - A9 A5 - |07 26| - A9
5 S7 D. R: v( o j6 N3 u( ? - A4 - |08 25| - A11 A4 - |08 25| - A116 z/ i2 c" J9 a
- A3 - |09 24| - A16 A3 - |09 24| - /OE. i+ I# k# q% [' U: j3 f
- A2 - |10 23| - A10 A2 - |10 23| - A10: {7 {: G1 e: U( c4 D' C
- A1 - |11 22| - /CE A1 - |11 22| - /CE
& b4 v! M4 e; M. M1 d - A0 - |12 21| - D7 A0 - |12 21| - D7
- F+ C5 g- T* T3 }; F - D0 - |13 20| - D6 D0 - |13 20| - D6
2 C+ e, b9 H3 V4 I - D1 - |14 19| - D5 D1 - |14 19| - D5
% S8 {- @* t3 Z8 V( d - D2 - |15 18| - D4 D2 - |15 18| - D4, X5 [4 r6 u* U x9 B5 w) ^
- GND - |16 17| - D3 GND - |16 17| - D3
( G' a# G5 a" g1 e2 S - ------- -------
复制代码 ! }5 T: F- E2 ~8 ?$ A
这是32脚的PRG Mask ROM和32脚的EPROM引脚对比图。相比之下,Mask ROM没有/OE引脚,而多出一个A17引脚,所以32脚的PRG Mask ROM容量为256K,而EPROM只有128K。4 t( s ~' }2 j2 x8 G
这就解释了你读Mask ROM的结果。对于通用编程器来说,它不知道你插到锁紧座上的是Mask ROM,它只把这个芯片当成是符合JEDEC标准的EPROM来对待。于是在读的时候,编程器给1脚加了高电平,24脚低电平,30脚电平未知,暂且假设是高电平,31脚低电平。0 L2 {. L$ z9 G8 f# r) g
可见,Mask ROM的A16和A17都被定死了电平,所以你只能读出芯片容量(256K)的四分之一的数据,也就是64K。/ H8 [' L9 ~* f3 `: l5 Y
而当编程器把芯片当成EPROM读到高64K的时候,2脚高电平。但对于Mask ROM来说,2脚等效于22脚,而22脚是片选,始终是低电平。对于常见的单片机来说,低电平的灌电流能力比高电平的拉电流能力强,于是2脚被强制拉低,于是和读低64K的情况一样。所以读出的高64K和低64K数据相同。 |