|
前几天弄到一台开机乱码的HP 3456A,现象和 https://bbs.38hot.net/read.php?tid=942 这位一模一样,看到这位坛友用27C256替换成功,正好手里也有几片27C256,于是乎我也想这么办。
经过一番折腾,费了老大劲终于把三片ROM给拆下来了,上编程器,悲剧!编程器不认识这个MC68764/MC68766,这下可怎么办呢,读不出ROM就没法判断是哪个坏了,想想算了三个都换吧。结果更悲剧,27c256我的编程器竟然擦写不了,又从抽屉找到几片紫外线擦除的27128,据网上有人说放太阳底下暴晒可以擦除,我晒了大半天也没反应。。。
继续翻箱倒柜终于又从破显卡上拆了个W27C512的BIOS,可是只有一片,怎么办?仔细看了一下服务手册上的原理图,发现CPU的A15地址线经过一个与门(作为ROM SELECT)和A13、A14地址线一起进入3-8线译码器(U6)后连接到原来ROM的/CS引脚进行片选,将6片8K的ROM组成48K的连续地址空间(其中3片ROM没有安装和使用,分别是U1、U2、U4)。
仔细分析了一下,应该可以用一片64K的W27C512将这三片的ROM都写进去以代替原来的U5、U7、U8三片ROM,将CPU的A13、A14地址线直接连接到W27C512的A13、A14,CPU的A15经过与门后的ROM SELECT作为W27C512的片选信号。
说干就干,从网上下载了论坛zhou_1989 坛友提供的三片ROM版本的固件,分析电路图得知这三片ROM应该是U8的地址在前,U5的地址在最后,将下载的.s19文件用w2b.exe转换成bin文件后再用 copy ROM-U8.BIN + ROM-U7.BIN + ROM-U5.BIN ROM-ALL.BIN 命令合并,将合并后的ROM-ALL烧入W27C512芯片。佛祖保佑,这次编程器终于能写了,继续,拆掉A4板上的U6(3-8线译码器),因为用W27C512可以直接接CPU的地址线不用再译码了,挂上DIP28的插座飞线,W27C512的A15用不到,直接接地拉低屏蔽高位地址,/OE也接地拉低,/CE连接到原U6的第4脚用来片选,即CPU的A15地址线经过与门后的ROM SELECT信号。因W27C512的A12、A11、/OE引脚与原来的ROM引脚位置不同,继续飞线,完成后装上通电:没有任何反应,天哪,难道又白忙活了?
从头到尾检查一遍,没错 啊,理论上也应该能过啊,难道是下载的ROM不匹配?zhou_1989 坛友还提供了一个据说是6片ROM芯片版本的固件,不管那么多下载下来试试看,下载下来大吃一惊,原来这个固件不是什么6片ROM芯片的版本,而是包含三片ROM芯片和单片27C256 ROM芯片的版本。里面的说明文件大致的意思是,老版本用的是六片32K bit的芯片,新一点的版本用的是三片64K bit的版本,最终版用的是单片256K bit的芯片,型号是TMS27PC256NL,这不就是我要改装的吗,继续看下面:
Memory Map:
0000-1FFF = all FF data value (unprogrammed)
2000-3FFF = the same data as U5 in the three chip ROM version
4000-5FFF = the same data as U7 in the three chip ROM version
6000-7FFF = the same data as U8 in the three chip ROM version
我就想不明白了,怎么空的是低位的空间?而且顺序也是从U5到U8?难道摩托罗拉的单片机运行的时候地址是从最高位往最低位走的吗?难怪我开始那么合并的的bin文件没有反应呢,果断重新烧写这个版本的bin文件,上电,一次成功,激动啊!
整个过程还算比较顺利,就是没想到摩托罗拉CPU的ROM是从高位地址开始的,所以绕了些弯路,感谢论坛 zhou_1989 坛友提供的ROM固件和MC68764引脚图!
|
|