Comment le monopole a-t-il commencé, ou un peu d'histoires avec l'IBM PC 5150



Pour l'anglais, appuyez sur One

Chaque amateur de vieux fer a un fétiche. Souvent en Europe de l'Est (et en partie également en Europe de l'Ouest), il s'agit du ZX Spectrum, un merveilleux ordinateur qui, cependant, n'a pas laissé d'héritage significatif. Une autre chose est l'IBM PC 5150. Cet ordinateur est également apprécié par de nombreux travailleurs indésirables, et beaucoup l'ont vénéré pour son influence sur l'industrie. Pour la façon dont il a évincé tous les concurrents du marché. Mais l'histoire de ce merveilleux ordinateur est connue de tous les écoliers, mais il s'avère que peu de gens savent ce qu'il y avait en lui.

(il y a beaucoup de photos sous la coupe et même la vidéo l'est!)

Ainsi, il est choquant pour beaucoup qu'il n'y ait pas 640 Ko de RAM dans l'IBM PC 5150. 640 Ko à l'époque était vraiment une énorme quantité de RAM, et jusqu'à 64 Ko maximum pouvaient être placés sur la carte mère de la première révision de l'ordinateur. Oui, seulement 64 Ko, comme le Commodore 64 domestique par exemple, ou un peu plus que la version la plus populaire du Spectrum susmentionné. Bien sûr, il y avait des cartes d'extension de mémoire, mais elles sont apparues plus tard, et la deuxième révision de la carte mère contenait déjà 64 Ko de RAM dans la version de base (une version très buggée, qui, je crois, n'est pas en vente, mais plus à ce sujet plus tard), et le maximum pourrait placer jusqu'à 256 Ko! Mais, en achetant la première version de base, vous n'avez reçu que 16 Ko. Imaginez un PC IBM avec 16 Ko de RAM ... DOS ne peut pas y être exécuté.

... Oui, il n'était pas nécessaire, pour cette version: il n'avait même pas de lecteur. Et le fabricant n'a pas proposé de disque dur pour l'IBM PC 5150, même en option. Comment utiliser un tel ordinateur? Le fait est que dans l'IBM PC ROM, l'interpréteur BASIC a été "cousu", qui a été chargé en l'absence d'une autre option de démarrage. Autrement dit, tout fonctionnait exactement de la même manière que sur les ordinateurs 8 bits de l'époque: vous avez reçu un ordinateur qui, après la mise sous tension, a chargé l'interpréteur de langage BASIC de la ROM et avait de 16 à 64 Ko de RAM. Comment y charger des programmes sans DOS? À l'aide d'un magnétophone. Oui, l'IBM PC 5150 avait un port pour connecter un magnétophone et un BASIC en ROM était capable d'enregistrer et de charger des programmes vers / depuis des bandes. Tout est comme sur votre spectre! Et l'ordinateur lui-même, en général, était de 8 bits. Non, le processeur était complètement 16 bits, même avec un bus d'adresse 20 bits, et il a été complètement sorti (d'ailleurs, c'est pourquoi le 1er mégaoctet de mémoire était si important pour le bus ISA tout au long de son existence, seulement 20 lui ont été alloués peu d'adresse, et elle n'a rien "vu" en dehors du 1er mégaoctet). Cependant, le bus de données du processeur a été coupé à 8 bits, précisément pour utiliser le périphérique 8 bits. Et, bien que 20 bits de l'adresse aient permis d'adresser jusqu'à 1 Mo de RAM, tous les échanges d'informations dans l'IBM PC 5150 ont été effectués sur un bus d'une largeur de 8 bits. Comme sur le Spectrum. C'est encore plus simple, car de nombreux ordinateurs de l'époque utilisaient déjà des puces personnalisées, comme ULA dans le micro ZX-Spectrum ou BBC, et Commodore a acquis la technologie MOS pour ses besoins, qui produisait des puces exclusivement pour Commodore, donc les clones de ces ordinateurs étaient lourds pas facile. IBM, cependant, a assemblé son 5150 exclusivement à partir de composants largement disponibles, donc, théoriquement, n'importe qui pourrait assembler son clone 5150 à genoux, sauf, bien sûr, le firmware du BIOS, dont le code, bien qu'il était ouvert sur les pages du manuel du 5150, était protégé par le droit d'auteur .

L'affichage était encore plus amusant. Au début, l'IBM PC 5150 n'était proposé qu'avec une carte vidéo monochrome MDA, incapable d'afficher les graphiques. Uniquement du texte monochrome, uniquement du hardcore. Mais le texte était affiché de très bonne qualité. Un tel adaptateur nécessitait un moniteur spécial et était parfait pour les utilisateurs professionnels (avec un lecteur et une extension de mémoire pour charger DOS). Mais un peu plus tard, un adaptateur couleur CGA est apparu dans les options, qui avait une sortie composite pour la connexion à un téléviseur, en plus d'une sortie numérique RGBi pour un moniteur. Une telle carte affichait un texte bien pire, car elle avait une résolution beaucoup plus faible et était mal adaptée aux affaires, même avec un moniteur approprié. Mais pour un usage domestique, c'était beaucoup mieux: le moniteur n'était pas nécessaire, il était possible de se connecter à n'importe quel téléviseur, et 4 couleurs dans le graphique (il y avait deux palettes différentes, l'une se révélait plus que l'autre) sur le téléviseur transformées comme par magie en un plus grand nombre si le développeur savait comment l'utiliser correctement sortie composite. Et beaucoup ont pu. En général, CGA n'était pas du tout une carte terne, car beaucoup de gens se souviennent avoir joué sur un moniteur VGA en mode d'émulation CGA. La télé était meilleure.

Je possédais déjà un tel IBM PC 5150 depuis un certain temps, mais mes mains ne l'ont pas atteint pour une raison simple: c'était en quelque sorte problématique. Lorsque je l'ai reçu, il ne s'allume pas. J'ai rapidement trouvé un condensateur court-circuité et l'ai mordu (il était sur la ligne -12 V et je n'en avais pas besoin de toute façon), mais il y avait définitivement quelque chose de grave avec la mémoire de cet ordinateur.

Ici, nous devons faire une petite digression. Le fait est qu'il n'y avait pas de configuration du BIOS sur l'IBM 5150. Lors du chargement du BIOS, il a lu la position de 2 jeux de micro-interrupteurs sur la carte, SW1 et SW2, et à partir d'eux a déterminé la configuration matérielle: la présence et le nombre de lecteurs, le type de carte vidéo, la présence d'un coprocesseur mathématique et la configuration de la mémoire. La configuration de la mémoire a été définie comme suit: 2 commutateurs dans le 1er bloc ont indiqué au BIOS quelles des 4 banques de mémoire directement sur la carte étaient pleines, et les 5 premiers commutateurs du bloc 2 ont indiqué au BIOS la quantité totale de mémoire dans le système, c'est-à-dire la quantité de mémoire sur la carte mère et les cartes d'extension.


Les blocs bleu clair SW1 et SW2 sont visibles sur la carte

Chaque banque se composait de 9 puces (8 bits + bit de parité), et stockait 16 Ko sur la première révision de la carte et 64 Ko sur les suivantes. C'est là que commence le premier problème. En raison d'un bogue dans le BIOS, si la carte n'est pas configurée pour utiliser toutes les banques de mémoire, c'est-à-dire de 1 à 3, le BIOS considère que toutes les banques sont de 16 Ko, même dans les versions ultérieures, où la taille de la banque est de 64 Ko. Ainsi, si vous avez 3 banques de 64 Ko sur votre carte, l'ordinateur ne "verra" que 48 Ko de mémoire, au lieu de 192. Il y a un autre bogue dans le BIOS qui montrait des erreurs de mémoire inexistantes sur les cartes de révision tardive si toutes les banques n'étaient pas installées. Ce sont ces deux bugs qui me font penser que les ordinateurs prenant en charge 256 Ko à bord étaient toujours vendus entièrement équipés de mémoire intégrée, car sinon l'utilisateur aurait rencontré des erreurs lors de la mise sous tension et l'impossibilité d'utiliser toute la mémoire installée (et c'était très cher).

J'ai donc eu un IBM PC 5150 avec une carte de révision tardive et une carte mémoire supplémentaire de 256 Ko. Cependant, lorsqu'il était allumé, il générait une erreur de mémoire 0800 201 et arrêtait le POST avec l'inscription PARITY CHECK 1.


Une recherche rapide sur Google a montré que de telles erreurs sont souvent causées par des commutateurs mal installés sur la carte. J'ai commencé les expériences. Pour commencer, j'ai retiré la carte mémoire supplémentaire et réorganisé les commutateurs en conséquence. Cela n'a pas aidé. "Ouais", je pensais: "La chose est à bord de la mémoire." Et j'ai décidé de supprimer toute la mémoire qui peut être supprimée. Il ne reste que la 0ème banque, elle est soudée sur la carte et ne peut pas être remplacée. Et l'erreur a disparu! L'ordinateur a démarré en BASIC et a signalé un peu moins de 12 Ko de mémoire.


Ma première pensée a été: «Attendez, mais j'ai 64 Ko !!! BASIC mange-t-il autant? Ça ne peut pas être! " Bien sûr, le lecteur attentif a deviné que cet (e) effet est une conséquence du bogue n ° 1 dans le BIOS. Mais à ce moment-là, je ne le savais pas encore.

En général, après une longue agitation, je suis tombé sur un site tout à fait merveilleux , qui depuis lors a été la Bible IBM PC pour moi, puis j'ai aidé plus d'une fois. C'est là que j'ai découvert que ma carte ne voit que 16 Ko si une seule banque de mémoire est installée, et que l'erreur 0800201 signifie que la puce responsable du bit de parité dans la banque 0 est défectueuse et l'erreur a disparu lorsque d'autres banques ont été supprimées précisément parce que le BIOS Je n'ai vu que les 16 premiers KiB dans ce cas, et l'erreur était plus élevée. Malheureusement, la banque 0 est soudée à la carte. À mon grand regret, après avoir retiré cette puce et installé un bloc à sa place, la carte a cessé de s'allumer complètement. À première vue, je n'ai vu aucun dommage de la soudure, mais depuis que j'ai soudé le microcircuit avec un sèche-cheveux, en essayant de chauffer toute la carte, et pas seulement l'endroit de la soudure, je soupçonnais qu'un autre microcircuit de mémoire pourrait mal tourner, et maintenant l'endroit où se trouvaient les 16 premiers KiB, car, en cas d'erreur dans les 16 premiers KiB, l' ordinateur ne montre aucun signe de vie . Et la ROM pourrait mal tourner. Ou autre chose. En général, il fallait comprendre, mais il n'y avait pas de temps. Et j'ai éteint cet ordinateur jusqu'à des temps meilleurs.

Il y a assez longtemps, je suis tombé sur les étendues de The Ben Heck Show sur le livre ZX Spectrum ULA: Comment concevoir un micro-ordinateur . Depuis que je voulais depuis longtemps récupérer un clone Spectrum pour moi-même, et ici, ils promettaient une compatibilité à 100% avec l'ULA d'origine sur la poudre libre largement disponible, cela est devenu très intéressant pour moi. Finalement, j'ai acheté un livre et, après l'avoir lu, j'ai décidé d'acheter une planche, divorcée par l'auteur. Je sais que ce n'est pas du sport, mais je voulais d'abord avoir un Spectrum fonctionnel, afin de pouvoir le personnaliser plus tard, et acheter une carte d'usine moderne prête à l'emploi accélère beaucoup le processus, et cela coûte cher. Cependant, j'ai tellement aimé le processus d'assemblage des cartes que j'ai commencé à chercher autre chose à assembler.

Et je l'ai trouvée .



Oui, il s'agit, dans la mesure du possible, d'une copie exacte de la carte 5150 d'origine, mais seulement il s'agit d'une nouvelle carte moderne. Très très haute qualité. Parmi les différences par rapport à l'original, je n'ai vu qu'un autre cas du générateur de retard (si je comprends bien, il a été utilisé pour les signaux de régénération DRAM):


à gauche dans le grand boîtier est le générateur de retard d'origine, à droite dans DIP-8 est un moderne

et câblage des condensateurs céramiques: dans la carte d'origine, comme sur le clone, toutes les plateformes de condensateurs sont à 3 broches. Le fait est que les électrolytes polaires sur la carte d'origine (ainsi que sur le clone) sont à trois broches. Le plus moyen, et les deux sur les bords - la même conclusion du moins. Autrement dit, bien que le condensateur soit polaire, il peut être installé sur la carte de chaque côté. Ainsi, pour les électrolytes sur la carte d'origine (et sur le clone), le contact moyen est toujours plus, et les deux sur les bords sont moins. Pour la céramique, ce n'est pas le cas. Comme la céramique n'est pas polaire, elle n'a pas besoin d'une telle protection contre un imbécile et les condensateurs ont les deux contacts habituels. Il y a encore 3 trous sur la carte, mais maintenant la moyenne est négative, comme l'un de ses voisins, et l'autre est plus. Sur le clone, la configuration des trous pour la céramique est la même que pour les électrolytes: plus au milieu. Par conséquent, les contacts des condensateurs céramiques sur le clone sont trop proches les uns des autres, ce qui interfère légèrement avec l'assemblage. C'est là que les différences que je vois s'arrêtent. La chose la plus intéressante est que le kit comprend toutes les puces nécessaires à l'assemblage, y compris la puce avec le firmware du BIOS compatible IBM PC. Certains d'entre eux sont maintenant assez difficiles à trouver, et vous devez toujours pouvoir flasher une puce BIOS propre, car le brochage JEDEC n'a pas été utilisé sur l'IBM 5150. Vous pouvez faire un adaptateur , mais ce n'est pas agréable du point de vue esthétique. Tous les microcircuits du kit ne sont pas neufs, certains ont des traces de soudure à peine perceptibles, mais tous les boîtiers sont en excellent état et en général tout ressemble à un produit de très haute qualité. Inconvénients - le prix. Pour le prix d'un ensemble, vous pouvez acheter 2-3 planches d'occasion originales sur ibee. Mais cela ne m'a pas arrêté: j'avais la planche d'occasion d'origine, ça ne m'a pas beaucoup aidé. Oui, et la joie d'assembler le Spectrum n'est pas encore passée, et là j'ai fait tout ce que j'ai acheté séparément de la carte (enfin, j'avais déjà 80%, car c'était un 74HC différent, et j'ai assez de clones de processeur Z80 dans le stockage). En général, après quelques soirées tuées, la carte était impossible à distinguer de l'original (oui, bien que le BIOS soit un clone open source avec la carte, mais j'ai installé les puces originales d'IBM:



Souder une telle carte de haute qualité est un plaisir, même si je veux restaurer l'original au fil du temps, mais celui-ci fera pour la première fois (tout le monde sait qu'il n'y a rien de plus permanent que des solutions temporaires, non?). Ainsi, après avoir assemblé la carte et l'avoir installée dans le boîtier, nous aurons besoin de:

1. contrĂ´leur de disquette:



L'IBM 5150 d'origine ne peut lire et écrire que sur des disquettes double densité. 360 Ko de données tiennent sur une disquette de 5,25 pouces, 720 Ko sur celle de 3,5 pouces. Mon ordinateur possède un lecteur de 5,25 pouces. Pour écrire des disquettes, je l'ai connecté à un ordinateur plus moderne (486) et enregistré une disquette système avec PC-DOS 3.30, plusieurs archiveurs (calculés pour ajouter un disque dur ultérieur ou son émulation flash), un pilote pour une carte réseau et plusieurs jeux.

2. un peu plus de mémoire:


Évaluez la taille de cette carte de circuit intégré ultra-haute par rapport au clavier.

Cette carte est insérée dans le slot de bus ISA, qui à l'époque n'était pas un bus obsolète de freinage, mais plutôt une extension du bus local du processeur 8088, car ce processeur, bien qu'il était de 16 bits, avait un bus de données tronqué de 8 bits, en outre multiplexé avec le bus d'adresse. L'adresse et les données sont arrivées sur le bus ISA séparément, après le démultiplexeur. Et le bus fonctionnait à une fréquence de processeur de 4,17 MHz.
De plus, cette carte a une horloge en temps réel (oui, il n'y en avait pas sur la carte mère), cependant, ils ont besoin d'un pilote qui extraira l'heure de la carte et l'installera sous DOS au démarrage, et il y a une série et une parallèle port J'ai installé la mémoire ici à l'échec - 384 Ko, afin d'avoir le maximum possible 640 Ko. Bien sûr, cela est exagéré pour le 5150, mais la poche d'approvisionnement ne tire pas.

3. Adaptateur vidéo:

Tout d'abord, j'ai testé un ordinateur avec un adaptateur VGA fonctionnant bien conçu pour un bus 16 bits, mais travaillant sur un bus 8 bits. Mais quel est le VGA pour l'IBM 5150? VGA est environ 386, enfin, peut-être la fin de 286. Il a également besoin de CGA ou Hercules (je ne considère pas MDA, parce que je veux des graphiques). Par exemple, ceci:



Jusqu'à présent, toutes les captures d'écran et vidéos - avec un adaptateur VGA. Mais avec CGA:



Donc, tout est connecté, tout fonctionne, la disquette système est créée, il y a un moniteur avec une entrée composite, puis-je commencer les tests? Pas vraiment. Besoin d'un autre clavier. Les IBM PC 5150 et PC / XT 5160 utilisaient le même connecteur DIN5 que l'IBM PC AT 5170, dont les claviers sont entièrement compatibles avec la norme PS / 2 (à condition que le connecteur soit remplacé), qui est largement disponible aujourd'hui, mais d'autres signaux sont utilisés dans les 5150 et 5160. Autrement dit, si vous connectez le clavier AT ou PS / 2 au 5150, cela ne fonctionnera pas. Vous pouvez acheter des claviers pour 5150 et 5160 sur Ibei, mais ils les demandent comme pour l'ensemble du 5150 sans clavier. Et peu importe combien j'aime le modèle F, je ne suis pas prêt à payer autant pour le clavier.

Heureusement, il existe une issue :


Un petit PIC, 3 résistances, une diode et un condensateur, pour le courage - tout ce dont vous avez besoin pour transformer votre PS / 2 en XT. Oh, et le programmeur, oui. Fait intéressant, le processeur 8 bits de ce microcontrôleur peut fonctionner à une fréquence de 20 MHz. L '«adaptateur» sera alors plus puissant que le processeur 8088 le plus central installé en 5150.

Le premier ordinateur compatible IBM PC qui est apparu dans ma vie était une sorte de clone basé sur un processeur 286 de ma mère au travail. Là, je suis resté dans Golden Axe, Death Track et Prince. Cependant, il y avait aussi de l'expérience sur le clone 8088: beaucoup plus tard, un ami est apparu Search , pour lequel nous avons également passé beaucoup de temps à jouer à divers jeux (nous avons étudié la programmation, si cela pouvait être appelé notre artisanat sur BASIC, nous sommes sur le spectre), et dans mon la mémoire a conservé des souvenirs de la façon dont nous avons joué sur le même ensemble de jeux sur sa recherche, c'est-à-dire, en fait, sur un clone PC, et, assez freinant. Et c'était amusant!

Cependant, comme dans le cas de la Douma à 386, ma mémoire m'a fait défaut. Ou plutôt, avant les exigences de vitesse des jeux, j'avais beaucoup moins. L'IBM PC d'origine était un ordinateur très tranquille. C'est le temps qu'il faut pour charger le jeu Lemmings (le convertisseur de signal composite en VGA n'a pas pu extraire la couleur du signal CGA, donc l'image est en noir et blanc):


En général, c’est exactement comme cela que l’utilisation de l’ordinateur s’est déroulée: démarré à partir d’une disquette système, inséré une autre fonctionnant (néanmoins, un deuxième lecteur était souvent acheté pour travailler afin de ne pas «déformer» les disquettes tout le temps) et chargé le programme. Les disques durs sont apparus plus tard, et il n'était pas si facile de manquer de personnel sur l'IBM 5150: l'alimentation n'était pas conçue pour cela.

Je veux vraiment jouer avec le réseau 5150. Naturellement, cela ne fonctionnera pas dans cette configuration, une disquette de 360 ​​Ko ne peut pas contenir le pilote réseau et la pile TCP / IP. Par conséquent, vous devez briser la tradition. Nous continuons à compléter l'ordinateur:

4. En fait, la carte réseau:

image

La carte pour le bus 16 bits, cependant, elle fonctionne parfaitement sur le bus 8 bits. Il possède un connecteur pour une paire torsadée de 10 Mbps et risque d'être le périphérique le plus rapide du système.

5. Le cinquième et dernier emplacement d'extension sera occupé par le contrôleur de disque dur (Oui, il n'y a que 5 emplacements en 5150. Il y en avait déjà 8 en 5160 (IBM PC / XT), bien qu'il y ait une nuance .):



Il s'agit du XT-IDE open source, car les disques MFM en état de marche sont déjà rares aujourd'hui. Malheureusement, ce contrôleur fonctionnait très mal sur le processeur natif AMD 8088, et je ne l'ai pas compris immédiatement, mais seulement après avoir restauré la carte mère d'origine (voir P.S.). Pendant le fonctionnement, l'ordinateur est constamment bloqué, ce qui donne une erreur de parité mémoire. Le remplacement du processeur par le NEC V20 a complètement résolu le problème,



mais je n'ai réussi à comprendre cela qu'après quelques semaines d'expériences. J'ai vissé le format Winchester 2,5 pouces, afin de ne pas collecter d'éventuels adaptateurs:



En général, c'est bien que les ingénieurs qui ont conçu le boîtier 5150 aient fourni la possibilité d'installer des disques 2,5 pouces!

Mais en général, la poitrine avec des contes de fées a l'air très old-school!



donc, démarrage à partir du disque dur:


Pour démarrer le réseau, j'ai décidé d'écrire un petit fichier bat qui charge le pilote de paquet de la carte réseau et dhcp.exe à partir du package mTCP. Je n'ai pas entassé toutes ces choses dans autoexec.bat, car cela prend beaucoup de mémoire et n'est pas toujours nécessaire. Et si nécessaire, exécutez le fichier de commandes pendant une courte période:


vous devez vérifier si Internet fonctionne:



eh bien, mon ftp, pour lequel tout était à la hauteur:



voyons ce qu'il y a:



enfin, un autre exemple de la lenteur de l'IBM PC 5150:


Notez qu'il y a certainement plus de 4 couleurs.

PS . , mad skillz , , , . , - . , : . , . , , 0. , , , , 1 . . - . 0, . , , , .

Source: https://habr.com/ru/post/fr436288/


All Articles