pureikyubu 1.9 — заметки о релизе

Сентябрь 2026 · предыдущий релиз 1.8 (сентябрь 2026) · Версия в Markdown

Версия 1.9 — релиз новых возможностей. У эмулятора появляется вторая машина — написанное с нуля ядро Game Boy Advance и Game Boy, — второй путь рендеринга — полная программная реализация графических блоков Flipper, — а также новый отладчик, локальный MCP-сервер для LLM-агентов, профилировщик аппаратных интерфейсов, headless-сборка и рекомпилятор DSP. Весь исходный код был проверен на данные, которые он загружает, а отладочный интерфейс теперь говорит на UTF-8. Что касается совместимости: вступительный ролик Metroid Prime стал в несколько раз быстрее и релиз доходит до титульного экрана игры, Super Mario Sunshine загружается и проигрывает вступление, а такие игры, как Star Wars Rogue Squadron III, Super Monkey Ball 2, Prince of Persia и Soul Calibur II, получают своё изображение.

Новый отладчик DebugUI2 с регистрами Gekko, дизассемблером, дампом памяти и картинкой сессии
Новый отладчик.Каждая панель — это Markdown-ответ команды JDI: история сообщений и командная строка слева, регистры Gekko, дизассемблер Gekko, физическая память и картинка сессии справа.
Super Mario Sunshine доходит до вступительной сцены
Super Mario Sunshine.Загружается, проигрывает вступительный ролик и доходит до следующей за ним сцены — после того как инструкции управления кэшем перестали вызывать исключение на сегменте прямого доступа.

Главное

Добавлено

Встроенный Game Boy Advance и Game Boy (задача #388)

Metroid Fusion на встроенном Game Boy Advance
Metroid Fusion.Запущен собственным boot ROM эмулятора на встроенном Game Boy Advance, отрисовка на 60 к/с.
The Legend of Zelda: Link's Awakening DX в режиме Game Boy
Link's Awakening DX.Машина Game Boy внутри GBA запускает картриджи DMG и CGB; путь цветной картинки всё ещё в работе.

Программный конвейер GFX (задача #384)

Новый отладчик — DebugUI2 (задачи #371, #397, #407)

MCP-сервер (задача #383)

Профилировщик аппаратных интерфейсов (задача #394)

Headless-сборка (задача #382)

Рекомпилятор DSP (задача #375)

Переход на UTF-8 (задача #372)

Проверка входных данных и аудит безопасности (задача #381)

Инструменты: прогон демок DolphinSDK (задача #385)

Изменено

Gekko и командный процессор

Единицы времени

Сборка и структура

Исправлено

Графика

Процессор, DSP и прерывания

Игры

Soul Calibur II, отрисованная pureikyubu
Soul Calibur II.Сторонняя 3D-игра, отрисованная через shader-конвейер XF/TEV.

Известные проблемы

Что дальше

Релиз 2.0 станет следующим мажорным релизом — релизом периферии: он нацелен на эмуляцию периферийных устройств консоли — шины EXI и устройств на ней (карты памяти, Broadband Adapter, RTC), последовательного интерфейса и контроллеров, дискового интерфейса и привода, а также порта связи, который уже есть у стороны GBA, — и должен замкнуть множество возможностей эмулятора, чтобы список «ещё не реализовано» выше сократился до того, что действительно не имеет значения.

После этого проект переходит в своё устойчивое состояние: планомерное улучшение — производительность и исправление ошибок от релиза к релизу, а не очередной рывок за новыми возможностями. Архитектура уже на месте; остаётся сделать то, что есть, быстрее, точнее и полнее.

Сборка

Windows. Откройте scripts/VS2026/pureikyubu.sln в Visual Studio 2026 и нажмите Build. Есть конфигурации Debug и Release как для Win32-, так и для SDL-интерфейса; библиотека GBA, gba_bench и цель pureikyubu_headless входят в solution (headless-цель не собирается командой «Build Solution»).

Linux.

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

Тесты.

MSBuild scripts/VS2026/pureikyubu_test.slnx -p:Configuration=Release -p:Platform=x64
vstest.console.exe scripts/VS2026/x64/Release/pureikyubu_test.dll /Platform:x64

У портативных машин собственный стенд:

testing/gba_bench/check.sh

Прошлые релизы по-прежнему доступны: Заметки о релизе 1.9.1 · Release Notes 1.8 · Заметки о релизе 1.8 · Заметки о релизе 1.7. Долгая история работы после релиза 1.6 — в дайджесте.