Программист и энтузиаст Чарли Биркс недавно достиг уникального результата, запустив Windows 1.0 на современном вычислительном оборудовании с использованием Pimoroni PicoVision и специально написанного эмулятора.
Технические детали проекта
Ранее мы уже обсуждали Pimoroni PicoVision, бюджетное устройство, которое включает в себя Raspberry Pi Pico W и второй SoC RP2040 на обратной стороне платы. В этой конфигурации RP2040 от Raspberry Pi Pico W служит в качестве центрального процессора и обеспечивает Wi-Fi подключение, в то время как второй RP2040 выполняет функции графического процессора для платы разработки.
Для выполнения этой задачи Биркс использовал эмулятор ПК, известный как Probably Average Computer Emulator (PACE). Эмулятор обладает "в основном завершенным ядром процессора 8088", что необходимо для запуска оригинальной версии Windows 1.0, выпущенной в 1985 году.
- PACE также предлагает базовую поддержку чипсетов для различных компонентов, включая контроллеры периферийного интерфейса, программируемые таймеры прерываний и программируемые периферийные интерфейсы.
- Хотя поддержка прямого доступа к памяти (DMA) ограничена, эмулятор включает графику CGA, поддержку контроллера дискет и совместимость с адаптерами фиксированных дисков.
Особенности и ограничения
Несмотря на наличие 16 МБ PSRAM у PicoVision, эмулятор поддерживает только 640 КБ памяти, что соответствует минимальному требованию Windows 1.0 в 256 КБ оперативной памяти. Для запуска Windows Биркс использует MS-DOS 3.3 и Windows 1.01, а поддержка клавиатуры реализована через USB HID.
Для тех, кто заинтересован в попытке повторить этот уникальный проект, Pimoroni PicoVision доступен для покупки, а Биркс сделал свой эмулятор доступным под разрешительной лицензией MIT на GitHub.