单击此处阅读俄语版本。每个老硬件爱好者都有一种恋物癖。 在东欧,它通常是Sinclair ZX Spectrum的克隆,因为它们在该国极受欢迎,但在英国和西班牙也是如此。 不幸的是,ZX Spectrum留下的遗产很少。 IBM PC 5150是另一种野兽。 许多人都喜欢这款计算机的传统。 因为它最终成为了最终的PC。 PC。 但是,尽管这台计算机的历史众所周知,但令人惊讶的是,没有多少人知道第一台IBM PC的功能。
例如,与我交谈的许多人惊讶地发现5150的RAM容量不是640KB。 当时640KB是一个巨大的RAM,对于任何人来说确实足够。 IBM 5150主板的第一个版本最多可以容纳64KB的RAM。 是的,没错,就像您的Commodore 64一样。 比最受欢迎的ZX Spectrum的48K版本略多一点。 当然,市场上有内存升级卡,但是它们是在IBM开始销售5150之后出现的,当然主板的第二版能够处理多达256KB的内存,但是如果您购买了基本版本的早期的IBM 5150最终将使用16KB的IBM计算机。 您能想象一台IBM PC中有16KB的RAM吗? 您将无法在其中运行DOS ...
而且您不需要:基本版本不附带任何类型的软盘驱动器。 实际上,它根本没有附带任何驱动器,甚至在5150的选件列表中都没有硬盘驱动器,而且第一台IBM PC的电源也无法处理硬盘驱动器。 那么,您将如何运行这台计算机? 好了,就像您使用Commodore 64或ZX Spectrum做到了一样。 您将打开电源,并将其引导到ROM Basic中。 而且,就像再次在ZX Spectrum上的Commodore上一样,您将使用卡带来保存和加载Basic程序。 是的,IBM PC 5150配备了卡带端口标准。 不得不说的是,实际上PC本身与该时代的8位PC有很多共同点。 是的,IBM PC 5150内部装有16位Intel 8088 CPU,但是CPU数据总线只有8位宽,以节省组件成本。 是的,地址总线被完全炸毁了20位宽,并且所有设备都可以使用完整的地址空间(这是RAM的第一个MB对ISA总线设备如此重要的原因:一个ISA插槽只能容纳20条地址线,因此最大寻址空间为1 MB),但所有数据交换都是通过8位数据总线进行的。 就像在Commodore 64或ZX Spectrum中一样。 甚至更简单,因为与在计算机上使用自定义ULA的Sinclair Research或Acorn或拥有MOS Technology且其机器中使用的某些芯片专门为Commodore制造且其他制造商无法使用的Commodore有所不同,IBM决定停用shlef组件仅用于构建5150。因此,除受版权保护的IBM BIOS外,任何人都可以轻松构建自己的5150克隆。
当看显示适配器时,故事只会变得更有趣。 引入了带有单色纯文本显示适配器(MDA)的IBM PC 5150。 它根本不支持任何类型的图形。 另一方面,所显示文本的质量非常出色。 尽管此适配器需要插入适当的监视器,但非常适合企业用户(前提是安装了可选的软盘驱动器来运行DOS应用程序)。 一段时间后,颜色图形适配器(CGA)出现在选项列表中。 该适配器在图形模式下可以一次显示4种颜色,并可以输出复合视频以连接到电视机。 该视频适配器在显示文本时表现较差,但是非常适合家庭用户:您不需要专用的显示器,并且在使用复合输出时可能会
有点不可思议地突破了4色限制。 因此,总的来说,CGA卡并不像您在模拟CGA的VGA视频卡上玩CGA游戏时所记住的那样糟糕。 电视机比较合适。
我已经有一台IBM PC 5150了一段时间,但是由于一个简单的原因我没有触摸它:它没有开机。 起初,当我刚收到PC时,我迅速找到了一个短路的电容器,然后将其取出。 它坐在-12V的电源轨上,对于我的使用来说并不是必需的,因此我什至不必费心更换它。 但是之后,我发现PC的RAM出现了一些重大问题。
在这里,我需要先解释一下。 问题是5150中没有任何BIOS设置。BIOS程序正在读取位于主板上的2个开关模块SW1和SW2来配置硬件。 RAM配置分为2个步骤。 首先,您需要设置SW1来告知BIOS,主板上有4个RAM组。 然后,您将设置SW2来指示主板和PC上所有已安装的扩展卡上的RAM总量。
您可以在图片上看到SW1和SW2为2块青色砖主板上的每个存储体都包含9个存储芯片:8位和1个奇偶校验位。 主板的第一版支持每库16 KB,后来的版本支持每库64 KB。 问题是从这里开始的。 首先,BIOS程序中存在一个错误,使PC认为,不管主板的版本如何,如果不使用主板上的某些存储区,则每个存储区只有16 KB的RAM。 因此,例如,如果您在256KB主板上安装192 KB的RAM(通过填满3个内存块并将第4个内存块留空),BIOS将只能看到48 KB。 如果主板上的某些存储区未被占用,则BIOS中还有另一个bug会导致更高版本的主板上的幻像存储器错误。 这两个错误使我想到,更高版本的IBM PC 5150永远都不会提供少于256 KB的内存,否则客户会遇到开机错误,并且当RAM出现时将无法使用系统中安装的所有内存。价格相当高。
好的,所以我有一台5150,带有一个最新版本的主板和一个装有256 KB内存的外部存储卡。 但是开机时,我的PC指示0800 201错误,并通过PARITY CHECK 1消息停止了POST。
快速搜寻表明,此类错误通常是由不正确的SW1和SW2设置引起的。 我开始实验。 首先,我卸下了扩展存储卡,并相应地设置了SW2。 这没有效果。 我虽然说:“好吧,这一定是由板载内存引起的。” 因此,我决定删除所有可以删除的内存。 只剩下bank 0,因为它被焊接在板上。 错误消失了! 计算机启动到基本并报告看到12 KB的内存。
我的第一个想法是,“等一下,我应该有64 KB,ROM Basic不能吃那么多内存!” 一位有思想的读者现在可以理解,这是由前面描述的BIOS错误引起的。 但是当时我还不知道。
在花了很多时间进行谷歌搜索之后,我发现了
这个了不起的网站 ,它成为了我自己的IBM PC圣经,这将使我在这个故事中取得更大的进步。 在那儿,我发现如果只有1个存储体被装满,我的板子只能看到16KB,并且0800 201错误表明
Bank 0 Parity Bit IC
发生了故障 ,并焊接到了主板上,并且该错误是位于芯片的上3 / 4s内,因此当系统只能读取存储区0中64 KB中的16 KB时,它对于系统是不可见的。 IC,主板死了。 从那以后,它没有任何生命迹象。 我没有发现由于焊接而造成的任何损坏,但是,由于我使用热风枪对有故障的芯片进行拆焊,因此我认为其他一些存储芯片可能已经损坏,并且
如果前16 KB出现错误,内存不足
,主板在IBM 5150中
显得已死 。或者ROM可能因高温而损坏。 简而言之,该板需要进行彻底检查,而我没有时间这样做,所以我暂时将这台PC收起了。
时间流逝,当我遇到一本名为《
ZX Spectrum ULA:如何在
Ben Heck Show节目之一》中
设计微型计算机的书时。 建立ZX Spectrum克隆是我相当长一段时间以来的梦想,并且该书承诺基于现成的74HC系列逻辑IC实现100%兼容的设计。 我很感兴趣 我既购买了这本书,又购买了由该书作者设计的PCB。 我知道这很骗人,但是我有一个借口:我首先想要一个工作正常的ZX Spectrum克隆,以便可以对其进行试验,而购买工厂制造的PCB可以大大加快该过程。 这也是非常实惠的价格。 毕竟,我非常喜欢将这个ZX Spectrum克隆产品放在一起的过程,以至于在完成它之后,我开始寻找其他可以焊接的东西。
我发现了
这个
是的,这是原始IBM PC 5150后期修订主板的极为精确的副本,但它是一种质量极佳的全新PCB,制作精良。 我发现此克隆板与原始克隆板之间的差异很小,其中之一是延迟生成器芯片(据我所知,用于生成RAM刷新信号):
左侧的大封装是原始的延迟生成IC,而右侧的小DIP-8是现代封装。以及陶瓷电容器的布线:尽管钽使用与原始板上相同的3孔引脚排列,但中间引脚已接地,因此在组装过程中不会以错误的方式安装,但克隆板上的所有陶瓷电容器都遵循与钽使用相同的3孔ceter接地引脚,并且在原板上不使用陶瓷电容器的中间孔,并且在外部孔之一上接地,因为这些电容器没有极化,并且方向无关紧要为他们。 这会导致克隆板的组装更加困难,因为陶瓷电容器的引脚在板上的距离太近,但这并不重要。 除此之外,这些板子看起来和我完全一样,最有趣的部分是该套件包括组装一个功能齐全的板子所需的所有芯片和无源组件。 包括带有IBM PC兼容BIOS的EPROM。 如果您决定自己查找所有这些芯片,请记住,如今其中一些芯片很难采购,并且还需要对EPROM进行编程,并且IBM对此EPROM没有使用JEDEC可匹配的引脚。 当然,您可以构建
一个插入器 ,但是使用插入器,该板看起来并不干净。 套件中并非每个芯片都是新的旧库存,在其中一些上可以看到一些旧焊料的痕迹,但是所有这些芯片的总体状况都非常好。 该套件给人以非凡品质的感觉。 主要缺点是价格。 您可以在eBay上购买2或3个二手主板。 但这并没有阻止我购买套件,我的PC中已经有一块二手主板,对我没有太大帮助。 更重要的是,将ZX Spectrum组装在一起的喜悦仍然在我的记忆中,而对于Spectrum我不得不自己采购所有零件(说实话,这并不难,74HC系列芯片仍然以非常实惠的价格提供)我已经在架子上放了很多,还有一堆Z80处理器)。 因此,两天后,克隆板与原始板没有区别,我为它安装了原始IBM PC EPROM集,以在板上安装原始BIOS和Basic:

将这样的板子放在一起是一种纯粹的快乐,尽管我确实计划在将来的某个时间恢复原始板,但现在可以使用。 好的,所以在完成开发板的安装并将其安装到机箱中之后,我们需要:
1.软盘控制器:

原始IBM PC 5150只能写入Double Density磁盘。 一个5 1/4英寸磁盘可容纳360KB的数据,一个3 1/2英寸磁盘可容纳720 KB的数据。 我的PC装有一个5 1/4英寸驱动器,并且我已将该驱动器连接到一台更现代的(486)计算机上,以在其上创建带有IBM PC DOS 3.30的可引导软盘。
2.一些额外的内存:
看看该板与现代键盘相比有多大。此板插入8位ISA总线插槽。 过去,ISA并不是慢速的传统总线,它是8088处理器的本地总线,甚至更是如此,它被多路分解,为数据和地址提供了不同的引脚,这与处理器本身不同。 总线以4.17 MHz运行,与CPU本身的时钟相同。
内存扩展板还装有一个实时时钟(是的,主板上没有RTC),但是时钟需要在启动时加载驱动程序。 该驱动程序用于从芯片中提取时间和日期,并相应地设置DOS时间/日期。 除此之外,该板还配备了一个串行端口和一个并行端口,非常方便。 我在板上安装了最大可能的384KB内存,以使系统中的总内存为640KB。 是的,这对于5150来说是个小菜一碟,但是有了内存,越多越好。
3.显卡:
我开始测试该系统,该系统是为16位总线设计的优质VGA视频卡,但在8位总线上可正常使用。 VGA是一个不错的卡,但它的使用期限不正确。 IBM PC要求提供CGA或Hercules卡(没有MDA,我也需要一些图形)。 例如:

到目前为止,所有的屏幕截图都是使用VGA卡制作的,这是CGA:

好了,一切都已设置并正常工作,系统可启动软盘已准备就绪,带有复合输入的监视器已准备就绪,我们可以开始测试了吗? 不完全是 我们也需要键盘。 IBM PC 5150和PC XT 5160使用相同的DIN5键盘连接器,就像后来的IBM PC AT一样。 但是,尽管IBM PC AT键盘与广泛使用的IBM PS / 2键盘(带有简单的被动适配器)完全兼容,但是IBM PC XT键盘却有所不同。 您不能将AT键盘插入XT PC-这将无法工作。 当然,您可以在eBay上购买旧的XT兼容键盘,但是卖家要求这些价格疯狂。 尽管我真的很喜欢Model F键盘,但我还不愿意为此付出代价。
幸运的是,
解决方案很简单 :
小型PIC MC,3个电阻,一个Diod和一个电容器。 这就是使您的PS / 2键盘XT兼容的全部步骤。 有趣的是,此处的MC可以以20 MHz运行,比其5150可以提供更多的计算能力。我第一次遇到与IBM PC兼容的计算机是我妈妈办公室中的PC克隆。 它基于286处理器。 我经常用它来玩《金斧》,《死亡之路》,波斯王子。 过去,我在使用8088的计算机上也有一些经验。 这是一个叫做
Poisk的苏联克隆。 我们在上面玩了很多游戏,它是IBM PC克隆的极慢版本,但在我的记忆中,它运行得很好。
但是与往常一样,人类记忆是不可靠的来源。 最初的IBM 5150是一款非常慢的游戏机。 这是从软盘上加载Lemmings所花的时间(我的复合材料到VGA转换器无法产生颜色,因此图像是黑白的):
这是实际使用计算机的方式:您可以从系统软盘启动计算机,将其交换为工作的软盘(或者购买第二个软盘驱动器一次使用2个软盘),然后加载程序。 硬盘在很久以后才公开上市,不适用于5150的弱电源设备。
尝试将5150集成到TCP / IP家庭网络中非常诱人。 果然,我不能用当前的硬件配置来做到这一点:一个360KB的软盘不适合带有网卡驱动程序的TCP / IP堆栈。 因此,我将不得不再次远离周期正确性:
4.这是一个网络适配器:

它设计为使用16位总线,但在8位总线上也可以正常工作。 它具有用于UTP电缆的RJ-45插座,并且有可能成为整个系统中最快的设备。
++++++++++++
5.第五个扩展槽和最后一个扩展槽将由硬盘控制器占用(是的,IBM 5150只有5个扩展槽。IBM5160有8个扩展槽,但是
也有问题 ):

这是一个开源
XT-IDE控制器。 我希望我可以使用MFM驱动器来适应此构建,但是很难做到。 不幸的是,该控制器在原始AMD 8088 CPU上运行时出现了一些奇怪的错误,计算机一直在锁定显示内存奇偶校验错误的位置。 我花了几个星期才弄清楚,但是升级到NEC V20 CPU可以完全解决以下问题:

我安装了2.5英寸硬盘驱动器,只是因为它非常适合:

对于IBM工程师而言,保留将2.5英寸硬盘驱动器安装到5150的可能性是非常具有前瞻性的!
通常,PC看起来就像是老式的宝箱!

好了,从硬盘启动:
我做了一个小的批处理文件,可以启动网络。 我可以将所有命令放到我的autoexec.bat中,但是LAN卡数据包驱动程序占用了相当多的RAM,并且并不总是需要,因此我选择了一个单独的批处理:
让我们检查一下互联网访问是否有效:

毕竟,如果我可以访问我的ftp服务器,那么这就是将所有这些放在一起的最终目标:

好啊 那里面是什么?

最后再举一个IBM 5150速度缓慢的例子:
顺便说一句,请注意肯定有超过4种颜色!
PS毕竟,我确实设法恢复了原始板。 当然,我非常确定自己的焊接技能很疯狂,以至于我什至无法想象在拆下奇偶校验位IC时会损坏电路板。 我怀疑年龄和热量会破坏其他东西。 我需要拆焊整个存储体0并检查每个存储芯片,最后才意识到我损坏了金属化层,该金属化层将主板上的走线连接到了下侧。 是的,在计算机第一次拒绝开机后,我确实检查了所有迹线的连续性,但是我很不幸:我确实验证了内存损坏的信号,该信号是由我损坏的IC(已拆焊到Bank 1)发出的,但是而不是Bank0。这两条走线由我损坏的金属化层连接。 因此,存储体0未从板接收到内存写入信号,并且无法正常工作。 毕竟,我必须焊接跳线,然后板才重新恢复活力。