Жизненный цикл эмулятора

Вехи жизненного цикла эмулятора и то, что происходит на каждой из них

В процессе работы эмулятор переживает следующие события:

OnLoad

Пользователь запускает эмулятор.

После запуска приложения загружаются настройки и в BreaksCore создаётся материнская плата, указанная в настройках:

При создании плата сама добавляет все необходимые DebugInfo и MemLayout.

Состояние симуляции — на паузе.

SaveSettings

Если при сохранении текущая плата была изменена, экземпляр материнской платы пересоздаётся — так же, как при запуске приложения:

LoadROM

Пользователь выбирает дамп .nes для запуска:

Плата при этом не пересоздаётся — имитируется нажатие кнопки RESET на консоли.

Симуляция запускается автоматически.

Step

CoreApi::Step вызывается в цикле, пока пользователь не выйдет из приложения или не выберет другой образ .nes.

Exit

Пользователь завершает приложение.

Если симуляция шла, она останавливается.

Вызывается CoreApi::DestroyBoard.

Источник: Wiki/Runtime.md · ещё материалы: О проекте, Руководство пользователя