[Geek] Retro-PC : Retour aux origines avec PCem
@ Nicolas | Saturday, Apr 24, 2021 | 10 minutes de lecture | Mise à jour le Sunday, Apr 25, 2021

La petite pépite découverte pendant mes vacances, le logiciel PCem qui permet d’émuler des machines x86. Parfait pour un retour en enfance en démarrant des vieux PC sous DOS/Windows 3.x/9x.

Introduction

Si vous avez connu l’époque des 286, 386, 486… ce logiciel va vous plaire. Il permet d’émuler (sous Linux et Windows) des machines de ces générations (voire plus anciennes).

Il y a tout une liste de machines supportées, et vous pourrez retomber dans le plaisir de reconfigurer des vieux systèmes à une vitesse… relative.

Je vous invite à consulter le site officiel : https://pcem-emulator.co.uk/

Y’a de quoi s’amuser, hein ?

mcclane

Pourquoi tester ce genre de programme ?

Après avoir passé des années sur des machines de ces générations (386, 486, etc…), on oublie ce que c’était l’informatique des années 1980-2000.

Aujourd’hui tout est rapide, automatique… avant c’était lent, manuel, une vraie galère sur les compatibilités.. et pourtant c’était bien plus amusant :)

A cette époque, toutes les machines n’avaient pas forcement d’interface pour le BIOS, il fallait parfois passer par une disquette dédiée.

Egalement, les BIOS qui détectaient certains équipements comme un disque dur en automatique étaient rares. En général il fallait choisir le disque selon des types prédéfinis et connus par les bios… ou le configurer à la main (il suffisait de reporter le nombre de têtes, cylindres et secteurs…). Le plaisir :D

toold

A défaut de ne plus avoir de machine physique de cette génération (si j’arrivais à remettre la main sur un Compaq Deskpro 486DX2 :love:), retomber sur un programme qui émule ces machines est un vrai plaisir !

Comment ça s’installe ?

Dans mon cas j’ai utilisé la version linux, of course. Si vous êtes sur archlinux, le paquet existe sur AUR :

yay -S pcem

Regardez si le programme n’est pas packagé sur votre distribution.

Sinon, il faut se rendre ici : https://pcem-emulator.co.uk/downloads.html

Un petit tar.gz, puis on compile :

./configure
make
make install

Dans le dossier ~/.pcem/roms, il faudra charger les ROMS que vous pouvez trouver sur github.

git clone https://github.com/BaRRaKudaRain/PCem-ROMs ~/.pcem/roms

Le programme se lance via pcem.

Petit hic si vous utilisez du HiDPI, le logiciel ne le gère pas. Tant pis ça reste utilisable.

Comment ça fonctionne ?

Le logiciel vous permet de créer des profils pour chaque machine.

pcem-1.png

Vous pourrez, un peu comme un logiciel de virtualisation, choisir toutes les ressources.

En premier lieu, il faudra choisir le type de machine. Vous pourrez choisir plusieurs processeurs selon la machine, et la présence ou non du co-processeur arithmétique : kesako?.

La carte graphique, le stockage, les lecteurs disquettes, tout y passe.

Sur l’émulateur, vous pourrez choisir la carte graphique.. plein de modèles sont supportés. Je retrouve donc ma vieille Tseng Labs ET4000 que j’ai eu plusieurs fois, ou plein de modèles très connus (Voodoo, ATI Rage…).

Bref, passez tous les onglets de configuration un à un :p

Et si on installait MS-DOS et Windows 3.1 sur un 386 ?

Un 386.. mon premier PC :) Bon, j’avais le SX 16Mhz, et dans notre cas ici je vais plutôt partir sur un 25Mhz, histoire de gratter un peu de perf !

J’ai eu un Wyse 386SX/16 et un Compaq 386SX/16. Ces modèles ne sont pas dans la liste, mais ce n’est pas un souci il y en a d’autres.

Pour certains modèles de machines physiques, c’est un peu la guerre du BIOS. Il ne reconnait pas forcement le matériel que je lui donne, ou n’a pas de BIOS intégré et nécessite une disquette de configuration que je n’ai pas trouvée, du coup je suis parti sur une machine qui a un interface de BIOS : Acer 386SX25/N.

Configuration

Un petit tour sur la configuration :

pcem-2.png

Je suis sympa, je lui colle le co-processeur arithmétique, en choisissant 387 à FPU (Flotting Point Unit). 8 Mo de RAM, largement suffisant pour 3.1. On pourrait mettre moins (il fallait 2 à 4Mo de RAM).

Vous pouvez cocher la synchro de l’horloge avec l’hôte si vous souhaitez.

pcem-3.png

Pour cette machine j’ai laissé le contrôleur vidéo de base. J’avais l’habitude d’avoir une ET4000 sur mes 386, mais pour faire du DOS, pas trop d’interêt dans l’immédiat.

pcem-4.png

Pour ceux qui n’ont pas connu, à cette époque, les cartes mères n’ont pas de carte son intégrée. Il fallait ajouter une carte en ISA en plus.

D’ailleurs, souvent les cartes sons embarquaient un port IDE pour le lecteur CD (et oui pour charger les jeux), et un port joystick.

Ici je mets donc une soundblaster 16 que j’ai eue à l’époque, et qui était bien gérée par pas mal de jeux (comme la Adlib, mais la Adlib avait moins de fonctionnalités) :)

pcem-5.png

La partie amusante est ici. Je mets un contrôleur IDE standard, et un seul lecteur disquette 1,44Mb. Le lecteur CD est actif, mais je n’en ai pas l’utilité.

Ah le disque dur… Sur une machine pareille, je vais pas coller 500Gb bien évidemment. Mes 386 avaient entre 40 et 120Mo de disque.

Je suis donc parti sur un type disque numéro 32, qui est courant, de 127Mo. Le fichier est au format img en local sur votre machine.

Et le bios ?

Et oui, on ne va pas juste démarrer la machine comme ça. Il faut configurer le BIOS. A minima il faut :

  • configurer le disque-dur
  • Mettre le lecteur disquette en boot primaire pour installer l’OS (pas de touche boot-menu à cette époque :p)
  • Activer le FPU

Sur cette machine, la touche SUPPR entre dans le bios.

Cela fait presque bizarre de revoir ce bios, que j’ai souvent manipulé à l’époque. C’est comme le vélo ça s’oublie pas.

pcem-6

Dans “Standard CMOS setup” vous pouvez configurer l’horloge, les disques et lecteurs disquette. Le bios doit se dire “WTF” quand on lui dit qu’on est en 2021 :D

On voit donc bien ici, le disque de type 32.

pcem-7

Puis dans “Advanced CMOS setup”, on va pouvoir jouer sur des paramètres plus pointus :

pcem-8

Ici on va changer :

  • Numeric Processor : Present
  • System Boot Up Sequence : A:, C: (au moins le temps de l’install)
  • Above 1MB Memory Test : Si vous voulez pas vous frapper le check RAM, mettez disabled

Quand c’est good, un petit F10 et on reboot.

C’est parti

Bien sûr, on aura une machine émulée, mais qui sera pas aussi lente qu’à l’époque.. Forcement.

Le stockage même s’il passe via un contrôleur IDE émulé, est tout de même sur votre machine et les temps d’accès sont du futur :D Je ne sais pas trop à quel niveau le CPU est émulé. Vous allez quand même avoir le temps de ramer, pour avoir mis 30 min à installer 3.1… :D

Pour installer Windows 3.1, il faut d’abord avoir DOS. Windows ne s’installait tout seul qu’à partir de 95.

Il faut charger les disquettes de MS-DOS 6.22 (via clic-droit sur la VM), et booter dessus.

Vous n’avez plus qu’à suivre le process !

A la fin, chargez la disquette 1 de Windows 3.1, et via MSDOS, il suffit d’aller sur A: et lancer INSTALL.exe. Et de repartir pour un assistant d’installation de plus…

Let’s show the magic

Et quand ça redémarre pour de bon…

3.1

Sinon, Windows 95 sur un 486 c’est bien aussi.

A l’époque, j’avais fait souffrir Windows 95 en le démarrant sur un 486 avec 8Mo de RAM. Vous n’imaginez pas le plaisir qu’il y avait à voir le logo animé de 95 au démarrage, quand vous avez passé plusieurs années à faire du DOS.

Bon, après, je dois avouer que je préfère largement une bonne console, au logo de Windows aujourd’hui.

Configuration

C’est parti pour une deuxième machine.

Cette fois-ci, un 486DX2/66Mhz. Le DX2 était un très bon processeur. Sur Windows 95 ça tournait super. Sur un DX ça passe très bien aussi.

pcem-9

Tout comme la première machine, j’ai choisi ici une machine émulée avec un BIOS intéressant, pour pouvoir le manipuler. Dans le cas des processeurs DX, le FPU est intégré, il est donc grisé ici. D’ailleurs, saviez-vous la différence entre les 486SX, DX, et le 487DX ? Petit apparté sur ce point à la fin de ce post.

32Mo sur un 486, c’est le luxe (bon j’ai abusé, 16Mo c’était suffisant) ! Microsoft avait beau indiquer 4Mo de ram minimum, et 8 recommandés, ça restait lent au possible sur 8Mo.

pcem-10

Pour la carte graphique, j’ai voulu tenter la ET4000 que j’ai déjà eue sur 95.

A l’époque je n’avais pas eu la possibilité d’activer l’affichage en 16bits, alors que la carte, avec 1Mo de RAM, pouvait pourtant gérer en 800x600. L’occasion donc de voir si c’est le cas et de résoudre un ancien mystère.

pcem-11

La soundblaster 16 est de retour, bien que je testerai peut-être d’autres cartes.

pcem-12

Concernant le stockage, j’ai effectué la même configuration que précédemment. Windows 95 nécessite 50Mo d’espace environ. J’ajoute juste un second disque plus gros en primary slave pour les jeux que je veux tester :)

BIOS, BIOS, BIOS.

Tout comme la première machine il faut jeter un oeil au bios.

Cette machine à base d’AMI Bios est vraiment bien fichue pour 1993. Interface avec souris, auto-détection des disques… Royal !

Dans le bios, un tour dans les paramètres avancés pour également booter sur lecteur disquette en premier, temporairement.

pcem-13

Enfin, une petite autodétection des disques… et zou !

pcem-14

Et zou !

Maintenant avec les disquettes de Windows 95, c’est parti pour l’installation.

Cet OS fournissait plusieurs types de médias (il y a eu plusieurs versions de 95). Une version en 23 disquettes, une version CD…

Il y avait aussi la possiblité de copier les disquettes 2 à 23 dans un même dossier, et de lancer le setup directement via ce dossier après avoir booté sur la disquette 1.

A l’époque, il fallait prier pour ne pas entendre le lecteur patiner sur un secteur défectueux (et croyez moi ça arrive…).

Et quand ça redémarre… après 45 minutes pour faire 50Mo (les chiffres et des lettres calculent encore la vitesse en Mo/min).

95

More power, Windows 98 sur un Pentium II

Cette partie va venir ;)

Pour conclure

Franchement, bravo aux devs de ce programme et à la communauté qui le maintient.

J’avais testé y’a quelques temps de faire des VM pour installer des vieux OS, ou de passer via DOSBOX, mais ça n’a forcement pas le même rendu sur une machine actuelle.

A défaut d’avoir une vraie machine physique de ces générations, cet émulateur fait vraiment un bon boulot. Le fait de pouvoir avoir accès aux bios, à des ROMS de périphériques de cette génération, redonne vraiment la nostalgie de l’époque.

Ce post montre quelques particularités de configuration de ces machines, mais n’en aborde qu’une infime partie. Il fallait aussi penser au matériel, aux compatibilités/incompatibilités entre un grand nombre de périphériques, le fait qu’il fallait aussi configurer sa carte mère avec des cavaliers dans tous les sens (et oui, fréquences CPU, chipset, voltages…). La belle époque :)

Il faudrait maintenant que je teste ces machines sur des vieux Linux pour voir… je n’en ai pas eu la possibilité à l’époque !

Apparté sur les 486 SX, DX, et 487DX

Lorsque Intel a sorti le 486DX, avec FPU intégré, il y a eu des soucis sur les fabrications. Dans le cas où un DX ne passait pas les tests, Intel détruisaient l’alimentation du FPU par laser, et revendaient ces CPU sous la nomenclature “SX”, du coup moins performants.

Néanmoins, sur certaines cartes mères où le SX était soudé, un emplacement ZIP additionnel permettait d’ajouter un FPU nommé “487 DX”, qui n’était rien d’autre qu’un 486DX maquillé, et qui désactivait le 486SX.

Mais pour éviter qu’il soit revendu seul en tant que 486 DX, celui-ci imposait la présence d’un 486SX… qui était pourtant inactif. Curieux mais rien d’étonnant !

© 2017 - 2021 Some stuff...

Powered by Hugo with theme Dream.

avatar
Me

Nicolas.

Geek, photographe amateur à mes heures perdues, motard du quotidien. Je me passionne de tous les sujets autour de l’informatique depuis bien (trop) longtemps. Les années passent et d’autres passions s’ajoutent, disparaissent, évoluent.

Ce blog est donc mon mélange à moi de tous ces sujets.

Liens sociaux