Les projets un peu fou du logiciel libre, épisode 33 : Bochs, l’émulateur x86 multiplateforme.

Dans le monde de l’émulation, il y a deux clans : d’un côté la virtualisation avec des projets comme Qemu, VirtualBox ou encore VMWare qui utilise les capacités des processeurs pour pouvoir faire fonctionner des machines virtuelles avec la même architecture matérielle. C’est ainsi que l’on peut faire fonctionner une distribution GNU/Linux, un BSD libre ou encore un MS-Windows dans une machine virtuelle à une vitesse proche du CPU réel.

Et il y a le camp de l’émulation. La plupart du temps, c’est pour traduire des instructions d’un processeur comme le célébrissime MOS 6502 qui a équipé bon nombre d’ordinosaures (Apple II, Commodore 8 bits, Atari 8 Bits, etc…) sur un processeur incompatible. C’est ainsi que fonctionne tous les émulateurs pour les ordinosaures que j’affectionne particulièrement.

Il y a cependant un autre émulateur dont le but est d’émuler au mieux le monde des processeurs x86, c’est Bochs. Un très vieux projet dont les origines remontent à 2001, si en croit les crédits en bas de la page.

Un peu à l’image d’un PCem qui émule des PCs de différentes époques en utilisant des dizaines de roms différentes. Sauf que contrairement à PCem, la configuration de Bochs est une vraie torture. Il faut passer par des menus déroulants et un fichier texte qu’il faut parfois éditer à la main.

J’ai pris le paquet AUR bochs que j’ai légèrement modifié. J’ai rajouté une option au configure, un --enable-sb16 qui comme son nom l’indique permet d’avoir un support de la Sound Blaster 16. J’ai aussi désactivé le débogueur pour ne pas être coincé au moment de l’utilisation.

Le plus gros problème avec Bochs, c’est que si on ne modifie pas le type de CPU émulé, on se retrouve avec une tortue rhumatisante à trois pattes.

Si on y va un peu trop fort, on a droit à des effets secondaires… Comme l’émulation SB16 qui pète un câble… Et l’horloge qui devient complètement folle ! Mais le mieux est de montrer le tout en action.

Vous avez pu l’entendre, si le support SB16 est désactivé par défaut, ce n’est pas pour rien. L’installation du FreeDOS 1.3 a été assez rapide, surtout que j’ai pris l’installation minimale. Bochs est sûrement un très bon projet si on a pas besoin du support du son… Mais comme j’en ai besoin, PCem continuera de remplir mes besoins pour de l’émulation de compatibles PCs ordinosauresques.

De la curiosité à l’origine d’un PKGBUILD sur AUR…

Il y a un jeu homebrew que j’aime particulièrement sur ordinosaure, c’est le jeu d’exploration et d’énigmes Tenebra. Je l’ai découvert avec sa version Commodore 64, puis j’ai pu l’apprécier pour des machines un peu plus diverses comme le ZX Spectrum, le Commodore Amiga, le Commodore Plus/4, l’Amstrad CPC ou encore la Nintendo NES et les ordinateurs MSX.

Mais c’est un port vieux d’une quinzaine de jours – au moment où je rédige cet article, le 30 juillet 2023 – à savoir le mythique BBC Micro sur lequel est né un jeu mythique sur lequel je reviendrai dans un article à venir fin juillet ou début août, si tout se passe bien !

En effet, dans son effort de porter au maximum ce jeu d’exploration et d’énigmes sur un maximum de plateformes, H4plo s’est attaqué au BBC Micro.

Ma curiosité ayant été piquée au vif, j’ai été voir ce qui existe en terme d’émulation BBC Micro sous Linux. Et je dois dire que le résultat n’est pas franchement des plus convaincants. Il y a beebem qui n’est plus développé pour Linux depuis une éternité. En effet, si on regarde dans les actualités de l’émulateur, on voit que le port date de 2006…

Je cite :

BeebEm 0.0.13 released 12th November 2006:

De plus, le paquet sur AUR nécessite une adaptation pour permettre la compilation de ce vénérable ancêtre.

Continuer la lecture de « De la curiosité à l’origine d’un PKGBUILD sur AUR… »

Parfois tomber sur un bug à la con, cela peut servir.

Vous le savez, je suis tombé sous le charme du Commodore 64, que ce soit avec un vrai datant de 1985, le C64Maxi (sa réplique moderne avec un clavier fonctionnel) ou encore via Vice dont je maintiens les version svn pour l’interface gtk3 et pour l’interface sdl2 sur AUR.

Alors que je faisais ma compilation quasi-quotidienne – c’est un logiciel au développement dynamique – de l’émulateur Vice, je tombe sur une erreur coriace qui me fait planter la génération de la documentation en pdf.

Dans un premier temps, j’ai désactivé la génération de la documentation et mis à jour les deux PKGBUILDs concernés, quitte à réactiver plus tard la création de la documentation quand le bug serait corrigé.

En gros, j’avais ce message d’erreur qui me faisait planter la compilation :

../../../vice.t2d/pdf/xtr/vicepdf.texi:123: epsf.tex not found, images will be ignored.

Message d’erreur franchement bizarre, puis j’ai regardé dans texlive-core – qui est une des dépendances de Vice – si je pouvais trouver ce fichier epsf.tex.

En utilisant la vue en liste, je retrouve le fichier. Encore plus bizarre. En effet, je me suis aperçu par la suite qu’il m’avait installé le paquet texlive-basic, une version minimaliste de texlive-core, qui est en ce moment sur le dépôt de test extra-testing.

Après avoir viré texlive-basic et l’avoir remplacé par texlive-core, tout est rentré dans l’ordre. C’est sûrement une mise à jour un peu chatouilleuse qui arrivera bientôt sur les dépôts stables d’Archlinux.

Tant que le paquet texlive-core n’est pas viré, ça ira très bien comme ça. Croisons juste les doigts. C’est juste les petites joies d’utiliser une Archlinux avec les dépôts de tests activés 🙂

En tout cas, j’ai bien fait de ne pas rapporter de bug sur l’outil de suivi de Vice !

Ajout à 20 h 10.

J’ai l’explication pour l’installation du paquet texlive-basic en lieu et place du texlive-core. Il est proposé à l’installation et on doit dire non par défaut pour éviter d’avoir des ennuis avec texlive.

La preuve avec une capture d’écran :

Comme quoi, tout s’explique 🙂

ZEsarUX, l’émulateur qui veut en faire trop ?

Dans le petit monde des émulateurs pour la famille des Sinclair ZX, il existe un projet du nom de ZEsarUX pour « ZX Second-Emulator And Released for UniX » que l’on peut traduire par « Second émulateur ZX et publié pour UniX ».

Ce qui est partiellement vrai, la version 10.2, la dernière version stable au moment où j’écris cet article est aussi disponible pour MS-Windows.

À l’image de RetroVirtualMachine qui propose 6 ordinateurs en un – ce qui est honorable – ZEsarUX fait exploser le compteur. Si je ne me suis pas trompé, on arrive à 22 possibilités, même si certaines se recoupent. La preuve en image avec une version de développement de ZEsarUX 10.3.

Continuer la lecture de « ZEsarUX, l’émulateur qui veut en faire trop ? »

En vrac’ de milieu de semaine…

Minuscule en vrac’ en ce premier mercredi de janvier 2023.

Côté logiciel libre, informatique et internet.

  • Dans la grande famille des distributions basées sur Archlinux, je demande la ArchCraft 2023.01.01.
  • Dans la grande famille des distributions basées sur Gentoo, je demande la Calculate Linux 23.
  • Vous aimez les émulateurs multiplateformes ? Dans ce cas RetroVirtualMachine est pour vous avec au menu l’émulation des ZX Spectrum, de la gamme Amstrad CPC/CPC+, MSX-1, ColecoVision, SG-1000 et Sega Master System. Oui, rien que ça 🙂

Côté culture ?

Dans la série « On fait du neuf avec du vieux », je demande l’album « Time Flies and Memory’s Cruel​(​Remastered) » du groupe chinois Summer Fades Away.

Pour finir, une vidéo de plus de 15 minutes (dont 6 ou 7 de purs jeux) sur RetroVirtualMachine.

Sur ce, bonne fin de semaine !

En vrac’ de milieu de semaine.

Un rapide en vrac en ce dernier mercredi de décembre 2022.

Côté informatique, logiciel libre et internet :

Côté culture ?

Rien pour cette fois.

Dans la série « Faut bien finir les longplays qu’on a entamé », voici les 3 derniers niveaux de « Tenebra 2 ».

Quoi de neuf pour PCem ?

Dans mon utilisation courante de l’émulation et de la virtualisation, il y a principalement 3 logiciels que j’utilise.

  1. Dès que j’ai besoin d’un CPU plus récent que le Pentium 200MMX, Qemu avec l’interface VirtualMachineManager.
  2. Pour tout ce qui est programmes pour MS-DOS, j’utilise Dosbox-X.
  3. Pour les PCs depuis 1981 jusqu’à la génération des Pentium 200MMX, c’est par PCem.

VirtualBox ? Je ne l’utilise plus qu’à la marge. C’est devenu franchement anecdotique.

Cependant, j’ai cru à un moment que le logiciel allait s’arrêter, bien qu’étant libre. La développeuse principale, Sarah Walker annonçait en juin 2021 qu’elle arrêtait le projet. Il a fallu attendre le mois de décembre pour que Michael Manley prenne le relai.

Continuer la lecture de « Quoi de neuf pour PCem ? »

En vrac’ de fin de semaine

Minuscule en vrac’ en ce dernier samedi d’août 2021.

Côté logiciel libre, informatique et internet.

Côté culture ?

Rien, la rentrée sera je l’espère un peu plus remplie. Je dois avouer que j’attends les albums de Collapse, d’Altesia et de Persona que j’ai financé durant la première moitié de l’année 2021.

Bon fin de week-end 🙂

L’émulateur Vice, il devient quoi ?

Vice, c’est un des émulateurs parmi les plus complets dans le monde de la rétro-informatique, en dehors de l’émulateur de machines d’arcade Mame.

Vice, pour « Versatile Commodore Emulator » qu’on peut traduire par émulateur Commodore versatile, c’est la possibilité de reproduire le fonctionnement des ordinateurs suivants :

  1. Le Commodore Pet (1977-1982)
  2. Le Commodore Vic 20 (1980-1985)
  3. Le Commodore 64/64C (1982-1994)
  4. Le Commodore SX64 (1984-1986)
  5. Les Commodore Plus4/16/116 (1984-1985)
  6. Le Commodore 128 (1985-1989)

Et il doit me manquer encore une ou deux références. Sans oublier l’émulation des lecteurs de disquettes, de cassettes, certaines extensions mémoire… Bref, c’est le couteau suisse de l’émulation pour les ordinateurs Commodore 8 bits au point qu’il sert de base à la couche logicielle des projets comme les :

Même si la version de Vice utilisée semble être un brin vieille… Dixit le github de RetroGames Ltd…

L’émulateur a un rythme de publication plutôt lent, à savoir une version majeure par an. La denière version majeure est sortie en décembre 2020.

Continuer la lecture de « L’émulateur Vice, il devient quoi ? »

Inutile donc indispensable : Utiliser Dosbox-X en français :)

S’il y a un émulateur que j’utilise régulièrement, c’est bien Dosbox-X. Récemment, un développeur du nom d’Aybe a ouvert un bug pour aider à la traduction du logiciel et a proposé une première traduction assez brute de décoffrage pour le français.

J’avais déjà parlé des nouveautés à venir de Dosbox-X 0.83.16 dans une vidéo datée du 22 juillet 2021 :

J’ai donc pris ce brouillon et j’ai travaillé une bonne partie de l’après midi du dimanche 25 juillet pour rendre l’ensemble plus lisible. Cela a donné lieu à plusieurs patchs, comme je l’explique dans la vidéo ci-après.

Durant l’enregistrement de la vidéo, je me suis aperçu que j’avais oublié de vérifier l’introduction en mode CGA qui était en partie explosée en vol. J’ai aussi retravaillé l’introduction pour le mode CGA-Mono et Hercules et proposé un patch qui a été ajouté durant la nuit. Ce qui explique la présence de l’addenda en fin de vidéo.

Même si la plupart des personnes laisseront le logiciel en anglais, c’est toujours agréable de l’avoir dans une autre langue par moment, même si on est obligé d’y aller à la tronçonneuse pour éviter les débordements de texte à l’affichage !