Balfix - это портативный эмулятор X86, написанный в C99. Это позволяет вам запускать устаревшие операционные системы на современных платформах.
Я сделал это в основном для развлечения, и потому что это был отличный способ узнать об архитектуре ПК X86. На более практичном уровне его можно использовать для:
Вам понадобится node.js , C99-совместимый компилятор, zlib и emscripten (только если вы нацеливаетесь на браузер). Убедитесь, что необходимые библиотеки находятся в месте, где компилятор может их найти. Конфигурация предварительной сборки не требуется.
Драйвер дисплея использует libsdl , но если вы находитесь в Windows, есть собственный порт, который использует API Win32 и не требует 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, чертовски маленький Linux, Red Star OS 2, сборник, Ubuntu), 9front, Nextstep, несколько Hobby Oses и, возможно, в более подробное.
Смотрите совместимость для более подробной информации.
Можете ли вы запустить эмулятор внутри эмулятора?
Да, но не очень быстро.

MS-DOS

ОС/2 Варп 4.5

Windows Vista

Windows 7

Такое же изображение диска Windows 98, что и в Balfix на скриншоте Pailix, работающего в Firefox

CPU-Z в Windows XP

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 General Public Public License Версия 3
В эмуляторе FPU используется модифицированная версия Berkley Softfloat из эмулятора Bochs.