Эмулятор Game Boy с полным отладчиком?

В рамках работы, которую я выполнял, чтобы ответить на этот вопрос о технической работе сбоя в Pokémon Red , я искал способ использовать стандартный отладчик для отладки ПЗУ Game Boy. Хотя многие из эмуляторов, которые я нашел, имеют некоторую поддержку отладки, ничто из того, что я нашел до сих пор, не помогло.

В качестве фона на данный момент я попытался использовать встроенные функции Visual Boy Advance для выполняют отладку, но они не особенно полезны для того, что я пытаюсь сделать. VBA не имеет возможности устанавливать точки останова, и поскольку он продвигается вперед на уровне фреймов, а не инструкций, я не могу увидеть, как выполняется код, когда мне это действительно нужно. Хотя VBA говорит, что поддерживает отладку GDB, мне не удалось заставить ее работать. Я попытался выполнить кросс-компиляцию GDB для ARM в соответствии с инструкциями, но не смог заставить GDB подключиться к эмулятору (он распознал бы, что есть программа для подключения, но сообщил, что протокол был нарушен). Я повторил это с одинаковым успехом как в Windows с Cygwin, так и в Ubuntu Linux. Мы с другом пытались использовать Insight / GDB, но столкнулись с точно такими же проблемами.

Я также пытался использовать отладчик NO $ GBA, но он отказался загружать мой ROM для Pokémon Red (а затем оскорбил меня, сказав что я ничего не смогу исправить, так как файл был абсолютно неправильным).

Кроме того, я попытался загрузить эту версию Visual Boy Advance, которая утверждает, что в ней есть отладчик , но почему-то не могу заставить его включить отладчик. Нажатие F11 в соответствии с его инструкциями не имеет никакого эффекта.

Я считаю, что приложил все усилия, пытаясь заставить работать отладчик, и удивлен, что ни один из них не сработал. Кто-нибудь знает простой и понятный способ отладки игр Game Boy с использованием стандартных методов отладки? Меня больше всего интересует возможность установить точки останова на запись в память (чтобы увидеть, какая процедура затирает определенные части памяти). Я был бы очень признателен, если бы кто-нибудь, имеющий непосредственный опыт, мог бы предоставить подробную информацию о том, как это сделать, поскольку онлайн-ресурсы по этой теме кажутся довольно ограниченными.

7
задан Community 23 May 2017 в 12:08
поделиться