Klicken Sie hier, um die russische Version zu lesen.Jeder alte Hardware-Enthusiast hat einen Fetisch. In Osteuropa ist es oft ein Klon von Sinclair ZX Spectrum, da sie dort sowie in Großbritannien und Spanien äußerst beliebt waren. Leider hat ZX Spectrum nur sehr wenig Erbe hinterlassen. IBM PC 5150 ist ein anderes Tier. Viele lieben diesen Computer wegen seines Erbes. Denn es ist schließlich ein ultimativer PC geworden. Der PC. Obwohl die Geschichte dieses Computers sehr bekannt ist, wissen überraschenderweise nicht viele Menschen, was sich unter der Motorhaube des allerersten IBM-PCs befand.
Zum Beispiel waren viele Leute, mit denen ich gesprochen habe, überrascht, dass der 5150 nicht über 640 KB RAM verfügt. Zu dieser Zeit waren 640 KB eine riesige Menge an RAM und in der Tat für jeden ausreichend. Die erste Version des IBM 5150-Motherboards konnte nicht mehr als 64 KB RAM aufnehmen. Ja, das stimmt, genauso wie es Ihr Commodore 64 getan hätte. Und etwas mehr als eine 48K-Version von ZX Spectrum, der beliebtesten. Natürlich gab es Speicher-Upgrade-Karten auf dem Markt, aber sie erschienen, nachdem IBM mit dem Verkauf von 5150 begonnen hatte, und natürlich konnte die zweite Version des Motherboards bis zu 256 KB verarbeiten, aber wenn Sie eine Basisversion von gekauft hatten Bei einem frühen IBM 5150 hätten Sie einen 16-KB-IBM-Computer erhalten. Können Sie sich 16 KB RAM in einem IBM PC vorstellen? Sie könnten dort kein DOS ausführen ...
Und Sie müssten nicht: Die Basisversion wurde nicht mit einem Diskettenlaufwerk geliefert. Tatsächlich wurde es überhaupt nicht mit einer Festplatte ausgeliefert, eine Festplatte war nicht einmal in der Optionsliste für 5150 vorhanden, und das Netzteil des ersten IBM-PCs konnte auch keine Festplatte verarbeiten. Wie hätten Sie diesen Computer überhaupt betrieben? Genau so, wie Sie es mit Ihrem Commodore 64 oder ZX Spectrum gemacht haben. Sie hätten es eingeschaltet und es hätte in ROM Basic gebootet. Und genau wie bei einem Commodore auf ZX Spectrum hätten Sie Kassetten zum Speichern und Laden von Basisprogrammen verwendet. Ja, der IBM PC 5150 wurde standardmäßig mit einem Kassettenanschluss ausgestattet. Allerdings muss ich erwähnen, dass der PC selbst viel mit 8-Bit-PCs der damaligen Zeit gemeinsam hatte. Ja, der IBM PC 5150 hatte eine 16-Bit-Intel 8088-CPU im Inneren, aber der CPU-Datenbus war nur 8 Bit breit, um Komponentenkosten zu sparen. Ja, der Adressbus war 20 Bit breit und alle Geräte konnten den vollen Adressraum nutzen (dies ist der Grund dafür, dass die ersten MB RAM für ISA-Busgeräte so wichtig sind: Ein ISA-Steckplatz kann nur 20 Adressleitungen aufnehmen. Dies adressiert maximal 1 MB), aber der gesamte Datenaustausch wurde über einen 8-Bit-Datenbus durchgeführt. Genau wie bei Ihrem Commodore 64 oder ZX Spectrum. Noch einfacher, da IBM im Gegensatz zu Sinclair Research oder Acorn, die benutzerdefinierte ULAs in ihren Computern verwendeten, oder Commodore, der MOS-Technologie besaß und einige der in ihren Maschinen verwendeten Chips ausschließlich für Commodore hergestellt wurden und anderen Herstellern nicht zur Verfügung standen, entschied, IBM zu verwenden shlef-Komponenten nur zum Erstellen des 5150. Mit Ausnahme des urheberrechtlich geschützten IBM BIOS kann jeder problemlos seinen eigenen 5150-Klon erstellen.
Und wenn man sich den Displayadapter ansieht, wird die Geschichte nur noch lustiger. Der IBM PC 5150 wurde mit einem monochromen Nur-Text-Anzeigeadapter (MDA) eingeführt. Es war überhaupt nicht in der Lage, irgendeine Art von Grafik zu erstellen. Andererseits war die Qualität des angezeigten Textes hervorragend. Dieser Adapter erforderte jedoch einen geeigneten Monitor zum Anschließen und war ideal für Geschäftsanwender (vorausgesetzt, ein optionales Diskettenlaufwerk wurde installiert, um DOS-Anwendungen auszuführen). Nach einiger Zeit erschien ein Farbgrafikadapter (CGA) in der Optionsliste. Dieser Adapter kann in einem Grafikmodus 4 Farben gleichzeitig anzeigen und verfügt über einen Composite-Videoausgang zum Anschließen an Ihr Fernsehgerät. Dieser Videoadapter war bei der Anzeige von Text erheblich schlechter, passte jedoch gut zu den Heimanwendern: Sie würden keinen dedizierten Monitor benötigen, und die 4-Farben-Grenze könnte bei Verwendung eines Composite-Ausgangs mit
etwas Magie überschritten werden. Alles in allem war eine CGA-Karte also nicht so schlecht, wie Sie sich möglicherweise erinnern können, wenn Sie CGA-Spiele auf einer VGA-Grafikkarte gespielt haben, die eine CGA emuliert. Ein Fernseher passte besser.
Ich habe bereits seit einiger Zeit einen IBM PC 5150, habe ihn aber aus einem einfachen Grund nicht berührt: Er ließ sich nicht einschalten. Als ich gerade den PC erhielt, fand ich schnell einen kurzgeschlossenen Kondensator und nahm ihn heraus. Es befand sich auf einer -12-V-Schiene und war für meinen Gebrauch nicht unbedingt erforderlich, sodass ich mich nicht einmal darum kümmerte, es auszutauschen. Aber danach fand ich heraus, dass der PC einige große Probleme mit seinem RAM hatte.
Hier muss ich zuerst etwas erklären. Die Sache ist, dass es im 5150 kein BIOS-Setup gab. Das BIOS-Programm las 2 Schaltblöcke auf dem Motherboard, SW1 und SW2, um die Hardware zu konfigurieren. Die RAM-Konfiguration wurde in 2 Schritten eingestellt. Zuerst müssten Sie SW1 einstellen, um dem BIOS mitzuteilen, wie viele von 4 RAM-Bänken auf dem Motherboard belegt sind. Anschließend würden Sie SW2 einrichten, um die Gesamtgröße des Arbeitsspeichers auf dem Motherboard und alle installierten Erweiterungskarten anzuzeigen, die für den PC verfügbar waren.
Sie können SW1 und SW2 als 2 Cyan-Steine auf dem Bild sehenJede Speicherbank auf der Hauptplatine enthielt 9 Speicherchips: 8 Bits und 1 Paritätsbit. Die erste Revision des Motherboards unterstützte 16 KB pro Bank, spätere Revisionen 64 KB pro Bank. Hier begannen die Probleme. Erstens gibt es einen Fehler im BIOS-Programm, der den PC glauben lässt, dass unabhängig von der Version des Motherboards nur 16 KB RAM pro Bank vorhanden sind, wenn einige der Banken auf dem Motherboard nicht belegt sind. Wenn Sie beispielsweise 192 KB RAM auf einem 256-KB-Motherboard installieren, indem Sie 3 Bänke füllen und die 4. Bank leer lassen, werden im BIOS nur 48 KB angezeigt. Es gibt auch einen weiteren Fehler im BIOS, der bei späteren Revisions-Motherboards zu Phantomspeicherfehlern führte, wenn einige Bänke auf dem Motherboard nicht belegt waren. Diese beiden Fehler lassen mich denken, dass spätere IBM PC 5150-Versionen nie mit weniger als 256 KB Arbeitsspeicher ausgeliefert wurden. Andernfalls würde ein Kunde beim Einschalten Fehler feststellen und nicht in der Lage sein, den gesamten im System installierten Arbeitsspeicher zu nutzen, wenn der Arbeitsspeicher Die Preise waren ziemlich hoch.
Okay, ich hatte eine 5150 mit einem Motherboard mit später Version und einer externen Speicherkarte mit 256 KB Speicher. Beim Einschalten zeigte mein PC jedoch den Fehler 0800 201 an und stoppte den POST mit der Meldung PARITY CHECK 1.
Schnelles Googeln ergab, dass diese Art von Fehlern häufig durch falsche SW1- und SW2-Einstellungen verursacht wird. Ich habe mit Experimenten begonnen. Zuerst habe ich die Erweiterungsspeicherkarte entfernt und SW2 entsprechend eingestellt. Dies hatte keine Wirkung. Ich dachte: "Okay, das muss durch den integrierten Speicher verursacht werden." Also habe ich beschlossen, den gesamten Speicher zu entfernen, der entfernt werden konnte. Es blieb nur die Bank 0 übrig, da sie auf die Platine gelötet wurde. Und der Fehler ging weg! Der Computer startete mit Basic und meldete 12 KB Speicher.
Mein erster Gedanke war: "Moment mal, ich soll 64 KB haben, ROM Basic kann nicht so viel Speicher essen!" Ein nachdenklicher Leser würde inzwischen verstehen, dass dies durch einen zuvor beschriebenen BIOS-Fehler verursacht wurde. Aber das wusste ich damals noch nicht.
Nachdem ich einige Zeit mit Googeln verbracht hatte, fand ich
diese erstaunliche Website , die für mich zu einer IBM PC-Bibel wurde und die mir in dieser Geschichte viel mehr helfen würde. Dort stellte ich fest, dass meine Karte nur 16 KB sehen konnte, wenn nur 1 Speicherbank gefüllt war, und dass der Fehler 0800 201 auf
einen Fehler im Paritätsbit- IC der
Bank 0 hinwies, der auf das Mainboard gelötet war, und dass der Fehler auftrat Befindet sich in den oberen 3/4 des Chips, so war es für das System nicht sinnvoll, wenn es nur 16 KB von 64 KB in der Bank 0 adressierte. Zu meinem Bedauern, nachdem ich den IC entlötet und einen Sockel mit einem neuen installiert hatte IC, das Motherboard ist gestorben. Es zeigte seitdem keine Lebenszeichen mehr. Ich habe keine Schäden durch mein Löten festgestellt, aber da ich eine Heißluftpistole zum Entlöten des fehlerhaften Chips verwendet habe, habe ich angenommen, dass einige andere Speicherchips möglicherweise defekt sind und
wenn in den ersten 16 KB ein Fehler vorliegt Der RAM des Motherboards scheint in einem IBM 5150
tot zu sein. Andernfalls wird das ROM möglicherweise durch die Hitze beschädigt. Um es kurz zu machen, dieses Board musste gründlich überprüft werden und ich hatte keine Zeit dafür, also habe ich diesen PC vorerst weggelegt.
Die Zeit verging und als ich auf ein Buch mit dem Titel
ZX Spectrum ULA stieß: Wie man einen Mikrocomputer in einer der Folgen der
Ben Heck Show entwirft . Der Bau eines ZX Spectrum-Klons war schon seit einiger Zeit mein Traum und das Buch versprach ein 100% kompatibles Design, das auf Standard-Logik-ICs der 74HC-Serie basiert. Ich war interessiert Ich habe sowohl das Buch als auch eine vom Buchautor entworfene Leiterplatte gekauft. Ich weiß, dass dies Betrug ist, aber ich habe eine Entschuldigung: Ich wollte zuerst einen funktionierenden ZX Spectrum-Klon, damit ich damit experimentieren kann, und der Kauf einer werkseitig hergestellten Leiterplatte beschleunigt den Prozess erheblich. Und es war auch ein sehr erschwinglicher Preis. Immerhin hat mir der Prozess des Zusammenstellens dieses ZX Spectrum-Klons so gut gefallen, dass ich nach der Fertigstellung nach etwas anderem zum Löten gesucht habe.
Und ich fand das

Ja, dies ist eine äußerst genaue Kopie eines originalen IBM PC 5150-Motherboards mit später Version, aber es handelt sich um eine völlig neue, sehr gut gefertigte Platine von ausgezeichneter Qualität. Ich habe nur sehr wenige Unterschiede zwischen dieser und der ursprünglichen Klonplatine festgestellt, von denen einer ein Verzögerungsgeneratorchip ist (der, soweit ich verstanden habe, zur Erzeugung eines RAM-Auffrischungssignals verwendet wird):
Das große Paket auf der linken Seite ist der ursprüngliche IC zur Erzeugung von Verzögerungen, während ein kleiner DIP-8 auf der rechten Seite ein moderner ist.und das Verlegen von Keramikkondensatoren: Während die Tantale dieselbe 3-Loch-Pinbelegung wie auf der Originalplatine verwenden und der mittlere Pin geerdet ist, damit sie während des Montageprozesses nicht falsch angebracht werden können, folgen alle Keramikkondensatoren auf der Klonplatine Es wird nicht die gleiche 3-Loch-Erdungsbelegung wie bei den Tantalen verwendet, und auf der Originalplatine wird das mittlere Loch der Keramikkondensatoren nicht verwendet, und die Masse befindet sich auf einem der äußeren Löcher, da diese Kondensatoren nicht polarisiert sind und die Ausrichtung keine Rolle spielt für sie. Dies macht die Montage einer Klonplatine etwas schwieriger, da die Beine der Keramikkondensatoren auf der Platine zu nahe beieinander liegen, aber das ist keine große Sache. Abgesehen davon scheinen die Platinen für mich identisch zu sein, und das Interessanteste ist, dass das Kit alle Chips und passiven Komponenten enthält, die für die Montage einer voll funktionsfähigen Platine erforderlich sind. Einschließlich eines EPROM mit IBM PC-kompatiblem BIOS. Wenn Sie sich dazu entschließen, alle diese Chips selbst zu finden, denken Sie bitte daran, dass einige von ihnen heutzutage ziemlich schwer zu beschaffen sind und auch ein EPROM programmiert werden muss und IBM für dieses EPROM keine JEDEC-kompatible Pinbelegung verwendet hat. Sie können natürlich
einen Interposer erstellen, aber mit einem Interposer sieht das Board nicht so sauber aus. Nicht jeder Chip im Kit war ein neuer alter Bestand, einige Spuren von altem Lot waren auf einigen von ihnen sichtbar, aber der Gesamtzustand all dieser Chips war ausgezeichnet. Das Kit hatte das Gefühl eines Produkts von außergewöhnlicher Qualität. Der Hauptnachteil ist der Preis. Für dieses Geld können Sie 2 oder 3 gebrauchte Motherboards bei eBay kaufen. Dies hinderte mich jedoch nicht daran, das Kit zu kaufen. Ich hatte bereits ein gebrauchtes Motherboard in meinem PC und es half mir nicht viel. Noch wichtiger ist, dass mir die Freude, ein ZX Spectrum zusammenzustellen, noch in frischer Erinnerung blieb, und für das Spectrum musste ich alle Teile selbst beschaffen (es war nicht so schwierig, ehrlich zu sein, die Chips der 74HC-Serie sind immer noch zu sehr erschwinglichen Preisen erhältlich und ich hatte bereits viele davon in meinem Regal sowie eine Reihe von Z80-Prozessoren). Ein paar Nächte später war das Klon-Board nicht mehr vom Original zu unterscheiden, und ich habe es mit einem Original-IBM-PC-EPROM-Set ausgestattet, um ein Original-BIOS und Basic an Bord zu haben:

Es ist eine reine Freude, ein solches Board zusammenzustellen, und obwohl ich vorhabe, das Original irgendwann in der Zukunft wiederherzustellen, wird dies vorerst funktionieren. Ok, nachdem wir das Board fertiggestellt und in das Gehäuse eingebaut haben, benötigen wir:
1. Ein Diskettencontroller:

Der ursprüngliche IBM PC 5150 kann nur Festplatten mit doppelter Dichte schreiben. Eine 5 1/4 Zoll-Festplatte passt auf 360 KB Daten, eine 3 1/2 Zoll-Festplatte passt auf 720 KB. Mein PC war mit einem 5 1/4 Zoll-Laufwerk ausgestattet, und ich habe das Laufwerk an einen moderneren (486) Computer angeschlossen, um eine bootfähige Diskette mit IBM PC DOS 3.30 darauf zu erstellen.
2. Zusätzlicher Speicher:
Schauen Sie, wie groß dieses Board im Vergleich zu einer modernen Tastatur ist.Diese Karte wird in einen 8-Bit-ISA-Bussteckplatz eingesteckt. Früher war ISA kein langsamer Legacy-Bus, sondern ein lokaler Bus für einen 8088-Prozessor, und darüber hinaus wurde er demultiplext und bot im Gegensatz zum Prozessor selbst unterschiedliche Pins für Daten und Adressen. Der Bus lief mit 4,17 MHz, genau wie die CPU selbst.
Auf der Speichererweiterungskarte befindet sich auch eine Echtzeituhr (ja, es gab keine RTC auf der Hauptplatine), aber für die Uhr muss beim Start ein Treiber geladen werden. Dieser Treiber dient dazu, Uhrzeit und Datum aus dem Chip zu extrahieren und die DOS-Uhrzeit / das DOS-Datum entsprechend einzustellen. Abgesehen davon ist die Karte mit einer seriellen und einer parallelen Schnittstelle ausgestattet, was praktisch ist. Ich habe maximal 384 KB Speicher auf der Karte installiert, um 640 KB Gesamtspeicher im System zu haben. Ja, das ist ein bisschen wie ein Ovekill für einen 5150, aber mit dem Gedächtnis, je mehr desto besser.
3. Grafikkarte:
Ich fing an zu testen, ob das System eine gute VGA-Grafikkarte ist, die für einen 16-Bit-Bus ausgelegt ist, aber auf einem 8-Bit-Bus perfekt funktioniert. VGA ist eine gute Karte, aber nicht zeitrichtig. Ein IBM PC fragt nach einer CGA- oder Hercules-Karte (kein MDA, ich möchte auch einige Grafiken). Wie dieser zum Beispiel:

Alle Screenshots bis zu diesem Zeitpunkt wurden mit einer VGA-Karte erstellt, und hier ist die CGA:

OK, alles ist eingerichtet und funktioniert, eine bootfähige Systemdiskette ist vorhanden, ein Monitor mit einem zusammengesetzten Eingang ist bereit, können wir die Tests starten? Nicht ganz. Wir brauchen auch eine Tastatur. IBM PC 5150 und PC XT 5160 verwendeten denselben DIN5-Tastaturanschluss wie später IBM PC AT. Obwohl die IBM PC AT-Tastatur vollständig mit IBM PS / 2-Tastaturen kompatibel ist, die weit verbreitet sind (mit einem einfachen passiven Adapter), unterscheidet sich eine IBM PC XT-Tastatur. Sie können keine AT-Tastatur an einen XT-PC anschließen - dies funktioniert nicht. Natürlich können Sie bei eBay eine alte XT-kompatible Tastatur kaufen, aber Verkäufer fragen nach wahnsinnigen Preisen. Und obwohl ich die Tastatur des Modells F wirklich mag, bin ich nicht bereit, den Preis zu zahlen.
Zum Glück ist
die Lösung einfach :
Kleiner PIC MC, 3 Widerstände, eine Diode und ein Kondensator. Dies ist alles, was Sie brauchen, um Ihre PS / 2-Tastatur XT-kompatibel zu machen. Und die lustige Tatsache ist, dass der MC hier mit 20 MHz betrieben werden kann und mehr Rechenleistung bietet als der 5150, für den er dient.Meine erste IBM PC-kompatible Begegnung war ein PC-Klon im Büro meiner Mutter. Es basierte auf einem 286-Prozessor. Ich habe es oft benutzt, um Golden Axe, Death Track, Prince of Persia zu spielen. Ich hatte in der Vergangenheit auch einige Erfahrungen mit einer 8088-basierten Maschine. Es war ein sowjetischer Klon namens
Poisk . Wir haben viele Spiele darauf gespielt, und es war eine extrem langsame Version eines IBM PC-Klons, aber in meinem Gedächtnis lief es sehr gut.
Aber wie immer ist das menschliche Gedächtnis eine unzuverlässige Quelle. Die ursprüngliche IBM 5150 war eine sehr langsame Maschine für Spiele. So lange hat es gedauert, Lemmings von einer Diskette zu laden (mein Composite-VGA-Konverter konnte keine Farbe erzeugen, daher ist das Bild schwarzweiß):
So wurde der Computer tatsächlich verwendet: Sie haben ihn von einer Systemdiskette gestartet, gegen eine funktionierende Diskette ausgetauscht (oder ein zweites Diskettenlaufwerk gekauft, um zwei Disketten gleichzeitig zu verwenden), ein Programm geladen. Festplatten wurden viel später veröffentlicht und waren nicht für das schwache Netzteil des 5150 geeignet.
Und es ist sehr verlockend zu versuchen, einen 5150 in ein TCP / IP-Heimnetzwerk zu integrieren. Mit der aktuellen Hardwarekonfiguration kann ich das sicherlich nicht: Eine 360-KB-Diskette passt nicht auf einen TCP / IP-Stack mit einem Netzwerkkartentreiber. Also muss ich mich wieder von der Periodenkorrektheit entfernen:
4. Dies ist ein Netzwerkadapter:

Es wurde für die Verwendung eines 16-Bit-Busses entwickelt, funktioniert jedoch auf einem 8-Bit-Bus einwandfrei. Es verfügt über eine RJ-45-Buchse für UTP-Kabel und hat alle Chancen, das schnellste Gerät im gesamten System zu sein.
+++++++++++++
5. Der fünfte und letzte Erweiterungssteckplatz wird von einem Festplattencontroller belegt (Ja, IBM 5150 hatte nur 5 Erweiterungssteckplätze. IBM 5160 hatte 8, aber
es gab auch Probleme ):

Dies ist ein Open Source
XT-IDE- Controller. Ich wünschte, ich hätte ein MFM-Laufwerk, das in diesen Build passt, aber es ist ziemlich schwierig, sie zu bekommen. Und leider hatte dieser Controller einige seltsame Fehler, als er auf der ursprünglichen AMD 8088-CPU lief. Der Computer blockierte ständig und zeigte Speicherparitätsfehler an. Ich habe einige Wochen gebraucht, um das herauszufinden, aber das Upgrade auf eine NEC V20-CPU hat diese Probleme vollständig gelöst:

Ich habe eine 2,5-Zoll-Festplatte eingebaut, nur weil sie gut passt:

Für IBM-Ingenieure war es ziemlich zukunftsweisend, die Möglichkeit zu reservieren, eine 2,5-Zoll-Festplatte auf einem 5150 zu installieren!
Und im Allgemeinen sieht der PC aus wie eine Schatztruhe der alten Schule!

Ok, Booten von der Festplatte:
Ich habe eine kleine Batch-Datei erstellt, die das Netzwerk startet. Ich hätte alle Befehle in meine autoexec.bat einfügen können, aber der LAN-Karten-Pakettreiber beansprucht ziemlich viel RAM und wird nicht immer benötigt. Deshalb habe ich mich für einen separaten Stapel entschieden:
Lassen Sie uns überprüfen, ob der Internetzugang funktioniert:

und wenn ich schließlich auf meinen FTP-Server zugreifen kann, war dies das ultimative Ziel, dies alles überhaupt zusammenzustellen:

Gut! Und was ist drin?

Und zum Schluss noch ein Beispiel dafür, wie langsam eine IBM 5150 war:
Übrigens, beachten Sie, dass es definitiv mehr als 4 Farben gibt!
PS Immerhin habe ich es geschafft, das ursprüngliche Board wiederherzustellen. Natürlich war ich mir so sicher, dass meine Lötfähigkeiten verrückt sind, dass ich mir nicht einmal vorstellen konnte, dass ich die Platine beim Entlöten des Paritätsbit-IC beschädigt habe. Ich vermutete, dass etwas anderes durch Alter und Hitze beschädigt wurde. Ich musste die gesamte Bank 0 entlöten und jeden einzelnen Speicherchip überprüfen, um schließlich festzustellen, dass ich die Metallisierungsschicht beschädigt hatte, die die Spuren auf der Oberseite des Motherboards mit der Unterseite verband. Ja, ich habe die Kontinuität aller Spuren überprüft, sobald sich der Computer zum ersten Mal weigerte, sich einzuschalten, aber ich hatte Pech: Ich habe das Speicherschreibsignal überprüft, das von dem beschädigten IC kam, den ich an Bank 1 entlötet habe, aber nicht an Bank 0. Und diese beiden Spuren waren durch die Metallisierungsschicht verbunden, die ich beschädigt habe. Bank 0 hat also kein Speicherschreibsignal von der Karte empfangen und funktioniert nicht. Immerhin musste ich einen Überbrückungsdraht löten, und die Platine wurde wieder lebendig.