На GitHub Universe 2026 бейдж участника снова оказался полноценным компьютером с цветным экраном. Стив Франция пошёл дальше всех: с помощью Gemini он запустил на нём сначала эмулятор NES, потом Game Boy и Game Boy Color — и теперь на бейдже можно играть в The Legend of Zelda: Link's Awakening.
Что представляет собой бейдж
Бейдж GitHub Universe — не картонка с именем. Второй год подряд организаторы раздают участникам устройство с полноценным цветным экраном и собственным процессором. В прошлом году Саймон Уиллисон уже экспериментировал с ним; в 2026-м железо явно стало мощнее, раз потянуло эмуляцию Game Boy Color.
Отдельная деталь конструкции: бейдж можно перевернуть вверх ногами — и тогда на корпусе активируются сенсорные кнопки, имитирующие геймпад. Это не хак и не доработка напильником, а штатная функция, заложенная в дизайн устройства.
Как Gemini помог написать эмулятор
Стив Франция использовал Gemini, чтобы портировать на бейдж сначала эмулятор NES, а затем и Game Boy / Game Boy Color. Подробности реализации в источнике не раскрываются, но сам факт показателен: задача портирования эмулятора на нестандартное железо — с ограниченными ресурсами, нестандартным SDK и без готовых туториалов — решена с помощью LLM за время конференции.
Для разработчика это сигнал: Gemini справляется с низкоуровневыми задачами вроде адаптации эмуляторного кода под конкретную платформу, а не только с генерацией CRUD-бойлерплейта.
Что нужно, чтобы повторить
Если у вас есть бейдж GitHub Universe 2026 и легальный ROM, логика сборки выглядит так:
- Получить доступ к SDK бейджа. GitHub обычно публикует репозиторий с инструментами разработки для своих конференционных устройств — ищите в организации github на GitHub.
- Найти или адаптировать эмулятор. Стив Франция использовал готовые open-source эмуляторы и адаптировал их под железо бейджа с помощью Gemini. Отправной точкой могут служить проекты вроде gnuboy или SameBoy для Game Boy Color.
- Портировать с помощью LLM. Опишите модели целевую платформу: размер экрана, доступную память, API для вывода графики и ввода с сенсорных кнопок. Попросите адаптировать рендер и цикл ввода под эти ограничения.
- Собрать прошивку и загрузить на бейдж. Конкретные команды зависят от SDK; как правило, это что-то вроде:
# Пример структуры команд — уточняйте в репозитории SDK бейджа
make build TARGET=badge
make flash PORT=/dev/ttyUSB0- Перевернуть бейдж и проверить управление. Сенсорные кнопки на обратной стороне корпуса работают как геймпад — убедитесь, что маппинг кнопок соответствует раскладке Game Boy.
Где это ломается
Производительность. Game Boy Color требует эмуляции на частоте ~4 МГц с точным таймингом. Если процессор бейджа не справляется, игра будет тормозить или звук рассинхронизируется с картинкой. Первый признак проблемы — «плывущий» геймплей в динамичных сценах.
Экран. Разрешение Game Boy Color — 160×144 пикселя. Если экран бейджа имеет другое разрешение или соотношение сторон, нужен скейлер. Неправильный скейлинг даёт артефакты или обрезает картинку.
Сенсорные кнопки. Сенсорный ввод добавляет задержку по сравнению с физическими кнопками. В тайминг-зависимых играх (боссы в Zelda, например) это ощущается. Решение — калибровка порогов чувствительности в SDK.
ROM-совместимость. Не все ROM одинаково эмулируются. Link's Awakening DX (версия для GBC) использует специфичные маппер-чипы; убедитесь, что эмулятор поддерживает нужный MBC (Memory Bank Controller).
Что попробовать дальше
Если бейдж GitHub Universe вам недоступен, та же логика — LLM для портирования эмулятора на нестандартное железо — работает на других платформах: ESP32 с TFT-дисплеем, Raspberry Pi Zero, Badge.team устройствах с хакерских конференций вроде DEF CON или SHA. Исходники gnuboy и Peanut-GB (однофайловый эмулятор Game Boy на C) — хорошие отправные точки для экспериментов.
FAQ
Можно ли запустить эмулятор Game Boy Color на бейдже GitHub Universe без навыков разработки?
Маловероятно. Портирование требует работы с SDK устройства, компиляции под целевую платформу и настройки ввода-вывода. Это задача для разработчика, знакомого с C или C++ и embedded-разработкой.
Какой эмулятор использовал Стив Франция?
В источнике конкретное название эмулятора не указано. Известно, что он последовательно запустил эмуляторы NES, Game Boy и Game Boy Color, используя Gemini для адаптации кода.
Законно ли запускать ROM на самодельном эмуляторе?
Сам эмулятор — легален. ROM — нет, если вы не извлекли его из картриджа, которым владеете. Скачивание ROM из интернета нарушает авторские права Nintendo.
Gemini справляется с низкоуровневым кодом эмуляторов?
По опыту Стива Франции — да, достаточно для того, чтобы портировать эмулятор на нестандартное железо за время конференции. Это не значит, что результат идеален: финальная отладка всё равно требует ручной работы.
Где найти SDK для бейджа GitHub Universe?
GitHub обычно публикует репозиторий с инструментами для своих конференционных устройств в организации github на GitHub. Точный репозиторий для бейджа 2026 года в источнике не указан — проверяйте официальные анонсы GitHub Universe.
