Что нового
Релиз 2.0 — релиз периферии: периферийные устройства консоли становятся одним пулом — контроллеры, карты памяти, Broadband и Modem Adapter, Game Boy Player и Game Boy Advance на кабеле связи — с одним окном, которое их настраивает. На стороне GameCube появляются сохранения состояния, программный конвейер GFX перестаёт быть экспериментальным, а интерфейс получает восемь тем, японские названия в селекторе и два такта эмуляции в строке состояния.
Один пул устройств
Каждое периферийное устройство — отдельная модель в src/peripherals.cpp:
контроллер, карта, адаптер или Game Boy Player, включённые в разъём шины SI, EXI или
Hi-Speed, со своими настройками и одной таблицей свойств, которая их рисует.
Broadband и Modem Adapter
Оба адаптера последовательного порта 1 эмулируются со стороны консоли, командное слово за командным словом, а поставляемый бэкенд отправляет кадры Broadband Adapter по UDP, так что два эмулятора делят один эмулируемый сегмент.
Game Boy Player и кабель связи
Player достигается через ту самую оконную область ARAM, в которой он и живёт, а Game Pak в его слоте запускает тот же встроенный Game Boy Advance. Кабель связи управляет Game Boy Advance в разъёме SI так, как это делает игра.
Вся консоль в одном файле
F5 и F7, десять слотов, меню File и команды
savestate/loadstate. Портативные машины сохраняют свои
состояния, а состояние, загруженное в машину, которая успела поработать, продолжает
тот же прогон.
Soft GFX — больше не бета
Программный конвейер больше не экспериментальный: он рисует заставку boot ROM и проигрыватели фильмов, уважает маску записи BP в CP, а заголовки, которые он запускает, совпадают с шейдерным бэкендом.
Темы, дамп и такты
Восемь тем на палитре сайта, японские названия в селекторе, текст «один тексель на
пиксель», окно видеовыхода, следящее за своим окном, — и gfxdump, который
хранит последние кадры потока графических команд.
Скриншоты
Снято с текущей сборки (линейка релиза 2.0).
Как собрать
Windows
Откройте scripts/VS2026/pureikyubu.sln в Visual Studio 2026 и нажмите Build.
Есть конфигурации Debug и Release как для Win32-, так и для SDL-интерфейса.
Linux
Сборка через CMake + SDL2, проверена в том числе под WSL2:
sudo apt install libglew-dev
git clone https://github.com/emu-russia/pureikyubu.git
cd pureikyubu && git submodule update --init
cd build && cmake .. && make
./pureikyubu pong.dol
Программный конвейер GFX
У графической подсистемы Flipper появился второй путь рендеринга: программная (CPU) реализация
тех же аппаратных блоков, написанная по спецификациям GameCube, переключаемая на лету
переменной конфига GFX_PIPELINE и рисующая через настоящий массив памяти EFB,
вывод которого (XFB) сканирует видеоинтерфейс.
MCP-сервер
Эмулятор умеет работать как локальный MCP-сервер (Model Context Protocol): LLM-агент запускает его своим дочерним процессом и управляет через него всем отладочным интерфейсом — каждая команда эмулятора становится инструментом (tool). Загрузить образ диска, прочитать регистры Gekko, снять дамп основной памяти, посмотреть счётчики железа, сделать скриншот.
{
"mcpServers": {
"pureikyubu": { "command": "pureikyubu_headless", "args": ["--mcp"] }
}
}
Что дальше
Периферия не закончена, и следующий релиз — это тот, где она будет закончена: верхняя половина сетевого стека за Broadband Adapter, прошивка самого Game Boy Player и поток кадров, который она питает, передача multi-boot, которая всё ещё нужна кабелю связи, и Game Boy Advance от Player или link-устройства, путешествующий в состоянии GameCube.
После этого проект переходит в своё устойчивое состояние: планомерное улучшение — производительность и исправление ошибок от релиза к релизу, а не очередной рывок за новыми возможностями. Архитектура уже на месте; остаётся сделать то, что есть, быстрее, точнее и полнее. Подробности — в заметках о релизе 2.0.
Документация
Release Notes 2.0
English release notes · Заметки о релизе на русском · Markdown
Дайджест после 1.6
Wiki
Внутренности эмулятора: Flipper, GFX, Gekko, Debug UI и разбор IROM процессора DSP.
Архив
Прошлые релизы, оставлены для справки.
Release Notes 1.9.1
English release notes · Заметки о релизе на русском · Markdown
Release Notes 1.9
English release notes · Заметки о релизе на русском · Markdown
Release Notes 1.8
English release notes · Заметки о релизе на русском · Markdown
Release Notes 1.7
English release notes · Заметки о релизе на русском · Markdown
