Хэ Чуньхуэй (hchunhui) разработал эмулятор ПК Tiny386 x86 на C (C99) и смог запустить Windows 3.1/3.2 и Windows 95 на devkit ESP32-S3 с 3.5-дюймовым дисплеем.
Ранее уже было замечено загрузку Linux 5.0 на плате ESP32 , и Olimex ESP32-S3-DevKit-LiPo с более свежим образом Linux 6.3 , но, вероятно, это первый случай, когда кто-то загрузил Windows на аппаратное обеспечение ESP32. Следует учитывать, что поскольку Tiny386 является эмулятором, работающим под управлением SeaBIOS, он также может напрямую загружать ядро Linux.
Хэ Чуньхуэй поясняет, что эмулятор ЦП i386 создан с нуля и все еще lacks некоторых функций, таких как отладка, аппаратное планирование задач и некоторые проверки прав доступа. Он также включает некоторые инструкции 486 и 586 для возможности загрузки современного ядра Linux и Windows. Код довольно мал, так как эмулятор ЦП составляет всего около 6000 строк кода (LOC), и также есть опциональный эмулятор x87 FPU.
Проект заимствует код из TinyEMU и QEMU для поддержки периферии: 8259 PIC, 8254 PIT, 8042 Keyboard Controller, CMOS RTC, ISA VGA с Bochs VBE, IDE Disk Controller, NE2000 ISA Network Card, 8257 ISA DMA, PC speaker, Adlib OPL2 и SoundBlaster 16. Как отмечено во введении. Прошивка BIOS/VGABIOS взята из проекта SeaBIOS .

Можно быстро попробовать эмулятор Tiny386 онлайн благодаря демо Web Assembly , загружающему Windows 3.2 (китайская версия Windows 3.1), JSLinux или FreeDOS. Исходный код, базовые инструкции по сборке проекта из исходников, документация по конфигурационным файлам и предварительно собранный образ можно найти на GitHub . Несколько дополнительных деталей, включая два изображения выше, доступны на странице проекта на Hackster.io . В настоящее время поддерживается только ESP32-S3, и более конкретно, devkit GUITION JC3248W535 , но другие микроконтроллеры и платформы могут быть портированы в проект.

Также можно посмотреть демо Guition JC3248W535, работающей под управлением Windows 95. Ключевые моменты из видео, если нет времени его смотреть: время загрузки занимает около 4 минут, система работает медленно, но функционирует с успешно протестированными программами: NotePad, Solitaire и Internet Explorer. Сетевое подключение также реализовано, и сайт info.cern.ch был загружен в демо. Рекомендуется смотреть видео в режиме 2x…
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.

