Spiiin's blog

Mesen - лучший эмулятор NES для отладки

Нашёл эмулятор NES, который лучше, чем FCEUX, подходит для отладки - Mesen.

Это проект одного человека, однако уже сейчас он выглядит лучше многих других эмуляторов и поддерживает некоторые очень нужные для отладки фичи. Во-первых - из коробки понимает отладочную информацию, генерируемую популярными ассемблерами asm6 и ca65, во-вторых (именно поэтому он удобнее для меня) - в него естественно интегрирована поддержка Lua. В отличие от Lua для Fceux, здесь из неё можно получить намного больше информации о состоянии эмулятора (не только CPU и память, но также внутреннее состояние PPU и ALU). Бонусом также идёт удобное окно редактирования скрипта, поддержка выполнения одновременно нескольких скриптов и невозможность завесить эмулятор простой опечаткой в коде.

За счёт этого можно наглядно посмотреть устройство спецэффектов в реальных играх. Например, небольшой скрипт для того, чтобы отрисовывать линию в тех строчках кадра, где PPU меняет позицию горизонтального скролла (это одна из немногих возможностей для создания эффектов графики видеопроцессора консоли). За счёт этого видны “слои”, на которые делится картинка:


Верхний первый слой здесь используется для отображения интерфейса, второй и четвёртый слой отображают передний план, а третий слой - стены пещеры. Следующим постом выложу набор гифок, который показывает эффекты, достигаемые сменой позиции горизонтального скроллинга в разных играх.