Halfixは、C99で記述されたポータブルX86エミュレーターです。これにより、最新のプラットフォームでレガシーオペレーティングシステムを実行できます。
私はこれを主に楽しみのために作りました、そしてそれはX86 PCアーキテクチャについて学ぶのに最適な方法だったからです。より実用的なレベルでは、以下に使用できます。
node.js 、C99互換コンパイラ、 zlib 、およびemscriptenが必要です(ブラウザをターゲットにしている場合のみ)。必要なライブラリがコンパイラがそれらを見つけることができる場所にあることを確認してください。ビルド前構成は必要ありません。
ディスプレイドライバーはlibsdlを使用しますが、Windowsにいる場合は、Win32 APIを使用して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-server詳細については、プロジェクトWikiを確認してください。
すべてのバージョンのDOS、ほとんどのバージョンのWindows(Windows 8を除く)、OS/2 Warp(3および4.5)、Reactos、Linux(ISO Linux、Red Star OS 2、Buildroot、Ubuntu)、9Front、Hentstep、Hobby Osesなどを含む、幅広いオペレーティングシステムソフトウェアをブートします。
詳細については、互換性を参照してください。
エミュレータ内でエミュレータを実行できますか?
はい、しかしそれほど速くはありません。

ms-dos

OS/2ワープ4.5

Windows Vista

Windows7

Firefoxで実行されているHalfixスクリーンショットのHalfixと同じWindows98ディスクイメージ

Windows XPのCPU-Z

Windows 10

ubuntu

転送するすべてのファイルを使用してディレクトリを作成し、ISOイメージを作成します。
mkisofs -o programs.iso -max-iso9660-filenames -iso-level 4 programs/
次のように構成ファイルを更新します。
# 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
次に、オペレーティングシステムを起動し、ファイルをCD-ROMからハードドライブにコピーします。
GNU一般公開ライセンスバージョン3
FPUエミュレーターは、Bochs EmulatorのBerkeley SoftFloatの修正バージョンを使用します。