家里一台IBMPC/XT5160,硬盘(温盘)故障,认盘不读。没有代换配件,用ISA槽扩展USB并刷ROM实现U盘启动,完美替代硬盘。
工具/原料
CH375桥接芯片(成品板卡)
IBMPC/XT微机
方法/步骤
1、笔者家里有台IBMPC/XT5160咯悝滩镞型微机,1983年生产,距今已是33年高龄。该机型是世界首台内置硬盘的PC机,是IBMPC5150的升级型号,现寄噢剪飕在PC的鼻祖,规范制定机型,接下来的几年也是各个厂家争先仿制的对象,如国产长城0520系列。机器配置如下:CPU:8088,带8087数字协处理器内存:640k硬盘:10M,带温盘控制卡显卡:8位CGA全长卡操作系统:CC-DOS4.0
2、在正常情况下,机器开机后会检查软驱,如果没有启动软盘,就会再检查硬盘。当软盘硬盘都不能进系统时,机器会自动加载ROM中的Basic解释器,可以进行Basic操作。当然这也就说明硬盘有故障了。经检查,硬盘无法低格,不能读写,MHDD和DM均无法操作,需要更换。图:这次开机检查软盘后,硬盘灯常亮,直接进入了Basic解释器,说明硬盘故障。
3、该机使用的是樊咒及儆希捷的5寸全高硬盘,容量10M,接口是ST-506/412,是MFM硬盘。那个年代的硬盘大家更多叫做“温盘”,即“温彻斯特盘”,是现代硬盘的祖囗寝嗵若先。他不同于后来的IDE硬盘,硬盘通过排线和专门的硬盘控制卡(温盘卡)相连,不同硬盘对应的控制卡也不同。现在的硬盘已经把这部分集成到硬盘电路板上了。需要一提的是,那时机子BIOS里还没有硬盘读写例程,因此硬盘控制卡上有个ROM,内有硬盘读写程序。在自检后会加载ROM里的硬盘读写程序,实现硬盘访问。硬盘控制卡采用8位ISA总线。注:当时还没制定ISA标准,所以也叫PC/XT总线,基本和后来的16位ISA总线兼容。IBMPC/XT机和之前的PC机都是8位外部总线,因此使用了8086的“阉割版”——8088处理器,没有使用8086。直到后来的AT机(286机子),才开始带有16位外部总线,主板上开始出现16位ISA插槽。注意图中控制卡左下角,就是装有硬盘读写程序的ROM。
4、这种硬盘市面上几乎绝嗄舔摁牟迹,就算找到也都是些没有控制卡的拆机盘,卖家无法测试好坏。更换其他型号硬盘也找不到配套的控制卡。一套原装的好卡和好盘已经被炒到了天价,买了搞不好过两天就坏了,所溅局柑氍以笔者开始寻求电子盘替代方案。那时IDE标准还没面世,直到486时主板才带IDE接口,之前都是通过ISA多功能卡实现扩展IDE接口。不过这机器过于古老,只提供8位ISA插槽(刚才已经提到了),而市面上的扩展卡基本都是16位的,无法使用。极少数8位的IDE卡相当昂贵。国外有大神自己开发了一款XT机用的IDE扩展卡,8位ISA,即XT-IDE计划,感兴趣的同学可以自行谷歌(必应也行,百度不到)。不过那位大神自己画PCB,自己做板子,自己写的ROM,花费了相当的时间精力金钱,所以笔者还是望而却步了。
5、不过天无绝人之路,咱们国内的江苏沁恒公司推出过一款名为CH375的USB桥接芯片,采用8位数据接口,理论上可以用在8086/8088的CPU上。官网提供了和8086/8088连接的原理图和例程,支持DOS、win9x。并且在某网站上还找到了样卡,用在x86工控机上的。
方法/步骤2
1、这种卡是8位的ISA卡,可以插U盘,然后在BIOS中认到一个硬盘,并对其进行分区格式化等操作,和针硬盘完全一样。使用时需要用软盘引导到DOS,然后加载驱动程序。如果需要实现U盘启动,则要把启动的程序烧入ROM,查到IC座上,在开机自检完成后就会调用ROM里的程序了。驱动程序要修改里面的IO基址,改为026H。图:先引导如DOS,然后加载驱动程序
2、从一个古董拨号猫上拔了块27C512的EPROM,紫外线擦除的。手头没紫外线灯,就用放大镜聚焦太阳光对芯片进行擦除。后来手累了,就拆了个验钞机做了个临时紫外线灯。不时用编程器检查下芯片是否空了。芯片擦除完成后用编程器写入启动代码,IO基址还是026H。ROM文件从WCH官网下载。
3、正好家里有大量的8-64M的小容量CF卡,就把ISA卡改了一下,去掉了USB接口,扩展出了CF插槽,方便起见露在外面,两卡共用一个槽位。
4、全都弄好后,马上开机实验,一切正常!可以运行CF卡里的程序,游戏也可以了。。。话说8088跑FOX完全是考验耐心哈哈。
方法/步骤3
1、至此本次改造告一阶段,原来的硬盘留在机器里(硬盘和面板一体的,拆了硬盘前面就漏一个洞),控制卡做绝缘处理。
2、虽然不算完美恢复,但至少用极低的成本让他继续工作了,而且CF拷数据很方便,寿命也更长。