Рекомендация для простого эмулятора x86 и операционной системы
Как личный учебный проект, я хочу портировать существующую библиотеку эмулятора x86 на JavaScript, а затем запустить очень простую операционную систему поверх нее.
Мое единственное требование к библиотеке - чтобы она была написана на C\C++, так как я хочу использовать emscripten и asm.js для компиляции исходных файлов в JavaScript. Библиотека должна как минимум уметь интерпретировать коды операций x86; детали конкретной среды для JavaScript (память, GUI, прерывания и т. д.) я могу реализовать сам. Операционная система не имеет никаких требований, если она достаточно проста и может работать на эмуляторе.
Пока что в моем исследовании Softx86 представляется наиболее жизнеспособным решением, так как кажется достаточно простым для переноса на JavaScript (он выполняет только эмуляцию процессора). Самая простая 16-битная операционная система в реальном режиме, которую я могу найти, - это MikeOS, единственная проблема в том, что ему требуется процессор 386, который Softx86 не может эмулировать, и я не уверен, что они полностью совместимы.
Мой вопрос: знает ли кто-нибудь альтернативную комбинацию эмулятор-ОС, достаточно простую для переноса на JavaScript.
1 ответ
Для тех, кто столкнется с этой темой в будущем, я решил портировать Fake86 на JavaScript и использовать MS-DOS в качестве операционной системы.
Вы можете увидеть живое демо здесь
Он работает очень, очень медленно, и в настоящее время работает только на Firefox, но, тем не менее, работает.
Вы можете увидеть полный исходный код здесь