Halfix est un émulateur portable x86 écrit en C99. Il vous permet d'exécuter des systèmes d'exploitation hérités sur des plates-formes modernes.
J'ai fait cela principalement pour le plaisir, et parce que c'était un excellent moyen de se renseigner sur l'architecture X86 PC. À un niveau plus pratique, il peut être utilisé pour:
Vous aurez besoin de node.js , un compilateur compatible C99, zlib et Emscripten (uniquement si vous ciblez le navigateur). Assurez-vous que les bibliothèques requises sont dans un endroit où le compilateur peut les trouver. Aucune configuration pré-construction n'est requise.
Le pilote d'affichage utilise libsdl , mais si vous êtes sous Windows, il y a un port natif qui utilise l'API Win32 et ne nécessite pas de SDL.
# Debug, native
node makefile.js
# Debug, Emscripten, asm.js
node makefile.js emscripten
# Debug, Emscripten, WebAssembly
node makefile.js emscripten --enable-wasm
# Release, native
node makefile.js release
# Release, Emscripten, asm.js
node makefile.js emscripten release
# Release, Emscripten, WebAssembly
node makefile.js emscripten --enable-wasm release
# Win32 API build (no SDL required)
node makefile.js win32
# Win32 API build, release
node makefile.js win32 release
# For more options and fine tuning
node makefile.js --help
# Chunk an image
node tools/imgsplit.js os.img
# Run in browser
http-serverVérifiez le Wiki du projet pour plus de détails.
Il démarre un large éventail de logiciels de système d'exploitation, y compris toutes les versions de DOS, la plupart des versions de Windows (à l'exception de Windows 8), de nouvelles versions de OS / 2 Warp (3 et 4.5), Reactos, certaines variétés de Linux (ISO Linux, Damn Small Linux, Red Star OS 2, Buildroot, Ubuntu), 9Front, NextStep, plusieurs hêtres ouverts, et probablement plus.
Voir la compatibilité pour plus de détails.
Pouvez-vous exécuter l'émulateur à l'intérieur de l'émulateur?
Oui, mais pas très rapidement.

MS-DOS

OS / 2 WARP 4.5

Windows Vista

Windows 7

La même image de disque Windows 98 que dans la capture d'écran Halfix dans Halfix en cours d'exécution dans Firefox

CPU-Z sur Windows XP

Windows 10

Ubuntu

Créez un répertoire avec tous les fichiers que vous souhaitez transférer et créez une image ISO.
mkisofs -o programs.iso -max-iso9660-filenames -iso-level 4 programs/
Mettez maintenant à jour le fichier de configuration comme suit:
# Note: it does not hae to be ata0-slave.
# I have not tested it with anything but ata0-slave.
[ata0-slave]
inserted=1
type=cd
file=/tmp/programs.iso
driver=sync
Démarrez maintenant votre système d'exploitation et copiez les fichiers du CD-ROM au disque dur.
Licence publique générale GNU version 3
L'émulateur FPU utilise une version modifiée de Berkeley Softfloat à partir de l'émulateur Bochs.