Інженер зменшив Atari 800 до компактного модуля FPGA

У 1979 році домашні комп’ютери Atari 400 і 800 впровадили індивідуальні графічні та звукові чіпи, чотири порти для джойстиків, серійний вхід/вихід, що нагадує сучасний USB, а також просунуті ігрові можливості для свого часу. Ці пристрої, які коштували відповідно 549 і 999 доларів, стали еталоном споживчого персонального комп’ютинга. Сьогодні, через 46 років, польський інженер Пйотр “Оса” Остапович спромігся зменшити всю архітектуру Atari 8-біт до модуля розміром всього 2×1.5 см — приблизно як поштовий маркер.
Історичний контекст та значення
Платформа Atari 800 стала піонером модульного дизайну, де процесор, відео, аудіо та інтерфейси вводу/виводу розміщувалися на слотах, доступних для користувачів. Ця гнучкість сприяла розвитку активної екосистеми програмного та апаратного забезпечення. В Східній Європі, зокрема в Польщі, комп’ютери Atari стали символами технологічної свободи, їх продавали в магазинах Pewex, незважаючи на ембарго часів Холодної війни.
Огляд проекту Atarino
- Реалізація архітектури Atari XL/XE на єдиному FPGA Lattice UP5K.
- Включає ядро процесора 6502C, відеочіпи ANTIC та GTIA, аудіо POKEY та контролери пам’яті.
- Розміри модуля: 20 × 15 мм, менше, ніж польська монета в 1 грош.
- Частота до 31 МГц (оригінал: 1.79 МГц), що дозволяє швидше виконувати програмне забезпечення та додавати нові функції.
Технічний аналіз
Ядро 6502C та розширення інструкцій
Ядро 6502C на базі FPGA точно відтворює оригінальну розводку та таймінг MOS Technology. Остапович додав недокументовані опкоди та розширив адресні режими, що дозволяє розробникам створювати високопродуктивні рутинні програми, недоступні на стандартному 6502.
Архітектура пам’яті та покращення DMA
На відміну від класичної технології “викрадення циклів”, коли ANTIC зупиняє процесор для отримання даних для відображення, Atarino використовує незалежні двопортові блоки SRAM. Ця паралельна архітектура пам’яті усуває конфлікти, підвищуючи пропускну здатність більш ніж у 5 разів у сценаріях з інтенсивною графікою.
Покращення відео та аудіо
- Функціональні клони ANTIC та GTIA з розширеними текстовими та растровими роздільностями до 640×480.
- Стандартний VGA вихід на 60 Гц та HDMI кодування для сучасних дисплеїв.
- Емуляція POKEY вдосконалена до циклічно точного таймінгу; триває робота над додаванням повної асинхронної поведінки FIFO.
Деталі реалізації FPGA
Atarino використовує FPGA Lattice iCE40UP5K, обраний за його низьке енергоспоживання, компактні розміри та відкриту екосистему інструментів. Проект використовує ICEcube2 для синтезу та Yosys для компіляції HDL, тоді як маршрутизація та генерація бітстріму покладаються на NextPNR. Остапович вносить покращення в відкриту екосистему, публікуючи VHDL модулі під ліцензією MIT.
Покращена продуктивність та сучасні функції
Atarino працює з застарілим програмним забезпеченням без змін, але також підтримує:
- Пам’ять, відображену на карті, для зображень картриджів на борту.
- Модулі Ethernet MAC та Wi-Fi через SPI шину для мережевих демонстрацій та IoT.
- USB-to-UART міст для налаштувань клавіатур та доступу до серійної консолі.
“Досягнення циклічно точного емулятора на 31 МГц на FPGA з 5K LUT — це не просто. Паралельні банки SRAM змінюють правила гри,” — говорить доктор Анна Ковальська, спеціаліст з FPGA Варшавського університету технологій.
Застосування та майбутні розробки
Остапович бачить Atarino в таких застосуваннях:
- Портативні ретро-ігрові пристрої.
- Освітні IoT платформи для навчання 8-бітному асемблеру.
- Вбудовані системи, де суворий контроль у реальному часі виграє від циклічно детермінованих ядер 6502.
Він вдосконалює емуляцію POKEY, розширює інструментарій для CC65 та Visual Studio Code, а також планує випустити комплекти з платами, 3D-друкованими корпусами та детальною документацією.
Ініціативи збереження та спільноти
Фанати Atari в Польщі організовують щорічні зустрічі ретрокомп’ютерів. Відкрите проектування Atarino заохочує зберігачів створювати архіви апаратного забезпечення, тестувати нішеве програмне забезпечення та розробляти нові апаратні доповнення. Проект розміщений на GitHub з активним переглядом внесків спільноти.
Європейська спадщина Atari
У 1980-х роках Atari, завдяки польському походженню Джека Траміеля, розширила свій вплив на країни Східного блоку, створивши тривалу спадщину. 8-бітні комп’ютери Atari познайомили багатьох з програмуванням та цифровим мистецтвом. Atarino відновлює цей ентузіазм, демонструючи, як 8-бітні архітектури можуть надихати на інновації й сьогодні.
Теги: FPGA, Atari 800, Ретрокомп’ютинг, 8-біт, Вбудовані системи