sprite_tm строит “1995 PC” из голых микросхем
Шина 486 на 33 МГц связана с 64 МиБ SDRAM через FPGA, поэтому каждое 32-битное обращение к 16-битной памяти занимает два цикла. В VapourDeck этот компромисс даёт около 16 Мбайт/с по авторской оценке, однако 16-КиБ кэш AM486 скрывает значительную часть задержек. Гибридная архитектура собрала DOS-машину в корпусе с 5.7-дюймовым LCD и аккумулятором.
Jeroen Domburg, известный как sprite_tm, завершил VapourDeck — портативный компьютер для DOS-игр на реальном процессоре AMD AM486DX5-133. В устройстве сохранён физический 486-й CPU с 32-битной локальной шиной и дискретный VGA-контроллер эпохи C&T F65545. Логика материнской платы, контроллер современной памяти и существенная часть PC-периферии перенесены в Lattice ECP5 LFE5-45UM; сервисные интерфейсы обслуживает ESP32-S3.
Формула «ретро-PC из отдельных микросхем» в этом случае требует точности. VapourDeck собран вокруг настоящего x86-процессора и отдельного VGA-чипа, однако контроллер SDRAM, PIC, PIT, DMA и Sound Blaster-совместимая логика работают в FPGA. Для части периферийных блоков использован Verilog из проекта ao486_MiSTer. Получилась компактная реконструкция аппаратного контракта DOS-PC: процессор исполняет старый бинарный код напрямую, видеовыход выдаёт специализированная микросхема, а набор чипсета реализован современной программируемой логикой.
Главный системный компромисс лежит в памяти. У 486-й шины ширина 32 бита, установленная SDRAM имеет 16-битный интерфейс. Полное слово процессора разбивается на два обращения к памяти. SDRAM тактируется на 100 МГц, шина CPU работает на 33 МГц, но пропускная способность нынешнего контроллера составляет примерно 16 Мбайт/с по данным автора. Для машины с AM486DX5-133 цифра выглядит скромной, особенно на фоне номинальной частоты ядра 133 МГц. Кэш первого уровня объёмом 16 КиБ снижает число внешних транзакций и позволяет удержать практическую совместимость с целевым классом DOS-программ, где паттерны доступа часто локальны.
Видео не эмулируется внутри FPGA. C&T F65545 подключён к собственной внешней DRAM объёмом 1 МиБ и формирует VGA-изображение для 5.7-дюймового IPS-дисплея 640×480 с параллельным интерфейсом. Такое разделение разгружает ECP5 от генерации VGA и сохраняет поведение реального контроллера, однако добавляет отдельную память, питание и разводку высокоскоростной шины на плотной портативной плате.
ESP32-S3 используется как мост к современному окружению: через него заведены USB и Bluetooth-периферия, microSD и сервисные функции. Накопитель, USB-ввод, LCD, преобразователи питания и аккумуляторный узел принадлежат уже современной элементной базе. Питание обеспечивают две Li-ion ячейки 21700 ёмкостью 4800 мА·ч каждая; мониторинг батареи выполняет STC3115, зарядкой и power-path управляет SGM41511. Потребление всей системы оценено примерно в 8 Вт, что даёт несколько часов автономной работы, хотя независимых измерений режима нагрузки и КПД питания пока не опубликовано.
Аппаратные файлы, прошивки и gateware выложены автором на Codeberg. Часть проекта помечена как продолжающаяся разработка, поэтому опубликованная конфигурация остаётся инженерным прототипом. VapourDeck уже показывает практическую границу между исторической совместимостью и воспроизводимой электроникой: редкий CPU и VGA несут критические свойства платформы, а FPGA берёт на себя логику, которую в оригинальном PC распределяли между северным мостом, южным мостом и набором дискретных контроллеров.