На 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, логика сборки выглядит так:

  1. Получить доступ к SDK бейджа. GitHub обычно публикует репозиторий с инструментами разработки для своих конференционных устройств — ищите в организации github на GitHub.
  1. Найти или адаптировать эмулятор. Стив Франция использовал готовые open-source эмуляторы и адаптировал их под железо бейджа с помощью Gemini. Отправной точкой могут служить проекты вроде gnuboy или SameBoy для Game Boy Color.
  1. Портировать с помощью LLM. Опишите модели целевую платформу: размер экрана, доступную память, API для вывода графики и ввода с сенсорных кнопок. Попросите адаптировать рендер и цикл ввода под эти ограничения.
  1. Собрать прошивку и загрузить на бейдж. Конкретные команды зависят от SDK; как правило, это что-то вроде:
bash
# Пример структуры команд — уточняйте в репозитории SDK бейджа
make build TARGET=badge
make flash PORT=/dev/ttyUSB0
  1. Перевернуть бейдж и проверить управление. Сенсорные кнопки на обратной стороне корпуса работают как геймпад — убедитесь, что маппинг кнопок соответствует раскладке 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.

Источники