Вышел рекомпилятор MegaDriveRecomp

от автора

Теперь возможно экспортировать в C++ код игр Sega MegaDrive (Genesis) для последующей модификации, включая ресурсы игры.

https://github.com/testdriveupgrade/MegaDriveRecomp

Рекомпиляция — процесс пересборки консольной игры в нативное приложение для современных платформ без традиционной эмуляции.

Как осуществляется процесс рекомпиляции?

  1. Игра на старой платформе существует в виде файла (ROM, BIN, GEN). MegaDrive Recomp разбирает этот файл, определяя инструкции процессора, структуры данных и точки входа.

  2. Здесь происходит самое сложное: восстановление высокоуровневых конструкций — циклов, функций, условий. Поскольку исходный код утерян, система должна «догадаться», как он выглядел

  3. На основе восстановленной структуры создаётся код, который можно собрать современным компилятором.

  4. Графика, звук и ввод переподключаются к актуальным API (например, OpenGL, Vulkan или SDL), что позволяет улучшить производительность и добавить новые возможности.

Рекомпилятор вдохновлен такими проектами как N64Recomp, Rexglue (360), PS2Recomp

За основу эмуляции был выбрал данный C++ Sega MD эмулятор https://github.com/Izaron/SegaCxx

Благодаря Claude случился новый подъем эмуляторной сцены, об этом в следующих статьях.

ссылка на оригинал статьи https://habr.com/ru/articles/1029360/