Обзор архитектуры Game Boy (+Color)



Восьмибитная портативная консоль от Nintendo — Game Boy вышла в 1989 году — через 6 лет после выхода домашней стационарной Famicom/NES (известной у нас под брендом Денди) и очень сильно опередила всех своих конкурентов. Фактор портативности довольно сильно урезал возможности аппарата и чёрно–белые игры на нём выглядели бледными копиями аналогов на старшем брате, но популярности это нисколько не помешало. А в 1998 году вышла обновлённая версия консоли — Game Boy Color, которая сильно раздвинула и цветовые и другие возможности при этом сохранив обратную совместимость. Сегодня мы обзорно рассмотрим эти две консоли изнутри с точки зрения программиста.

Читать дальше →

Wolfenstein 3D на Game Boy Color

Куда уже только не добрались любительские порты Wolfenstein 3D. Мы уже видели впечатляющие результаты на ZX Spectrum 48K, Atari XL, Sega Genesis. Все эти проекты объединяет стремление адаптировать или написать новый код, работающий в рамках оригинальных возможностей ретро-платформ.

Game Boy Color, с его недо-Z80 на частоте 8.3 МГц с сочетании с маленьким разрешением экрана — довольно интересная платформа для подобных экспериментов. Попытки реализовать игры, аналогичные Wolf 3D, уже были, но они отличались графикой совершенно без текстур с не очень высокой скоростью работы.

Автор находящегося в процессе разработки нового порта Wolfenstein 3D для GBC решил пойти нетрадиционным путём — получить полноценную графику и высокую частоту кадров за счёт применения сопроцессора в картридже. Игра работает на 32-битном микроконтроллере производства NXP с ядром ARM Cortex-M0 на частоте 48 МГц, 16КБ ОЗУ и 128КБ ПЗУ. Интерфейс с GBC представляет собой двухпортовое статическое ОЗУ объёмом 8КБ, в которое с одной стороны идёт рендер видеобуфера от микроконтроллера, а с другой GBC забирает готовые тайлы для отображения. Также на плате присутствует 8-битное ПЗУ объёмом 512 килобайт для обычного GBC кода и маппер MBC1 для работы с ним.

Больше подробностей на странице проекта.