Обычный Game Boy получил необычный картридж, который позволяет запускать новые версии игр без постоянной перезаписи памяти. Энтузиаст MrFrenchLame придумал, как передавать программы с компьютера прямо на портативную консоль и быстро проверять изменения на настоящем устройстве.
Проект DevCart32K решает знакомую разработчикам ретроигр проблему. Готовый ROM-файл можно записать на флеш-картридж и вставить в Game Boy, но при частых исправлениях такой порядок превращается в бесконечное копирование файлов. Особенно неудобно переносить каждую сборку на SD-карту, запускать игру и повторять процедуру после очередного изменения кода.
Вместо привычной флеш-памяти автор использовал 32 КБ оперативной памяти внутри специального картриджа. Программа поступает туда непосредственно с компьютера, после чего консоль исполняет загруженный код. Запись во флеш-память не требуется, а значит, разработчик может чаще проверять результат на оригинальном оборудовании, не отвлекаясь на перенос носителей.
Связь с компьютером организована через разъём Game Boy, который обычно служит для соединения двух консолей. Небольшой загрузчик устанавливает соединение и принимает новую программу. Для повторного тестирования предусмотрена кнопка на картридже: нажатие позволяет начать процесс загрузки заново. Отдельную команду отправки можно встроить в среду разработки.
Подход удобен именно для создания программ, а не для обычного прохождения игр. Оперативная память не сохраняет содержимое после выключения питания, поэтому загруженная игра исчезает. Вместимость 32 КБ также ограничивает размер программы, а для получения нового кода нужен подключённый компьютер. Полноценной заменой универсальному флеш-картриджу DevCart32K не станет.
Есть и менее очевидная трудность. Текущий вариант предполагает наличие у компьютера физического параллельного порта, который давно исчез с большинства современных ноутбуков и настольных ПК. Автор допускает, что в будущем интерфейс можно переработать с учётом решений из более новых самодельных картриджей, но готового обновления пока не представил.
Проект интересен тем, что переносит привычный цикл программирования на игровую систему конца 1980-х. Разработчик меняет код на ПК, отправляет новую сборку и сразу видит результат на реальной консоли. Такой подход полезен там, где эмулятор не полностью передаёт особенности старого оборудования, а ручная запись картриджа мешает быстро экспериментировать.
Автор посвятил разработке DevCart32K отдельную публикацию. Идея продолжает традицию аппаратных экспериментов с ретроконсолями: энтузиасты уже находили неожиданные способы расширить возможности Game Boy, включая вывод игр на экран с электронными чернилами. Здесь же главной целью стало не новое изображение, а более удобная разработка игр для оригинальной приставки.
