ПРИМЕЧАНИЕ. Это было интегрировано в https://github.com/Cuyler36/Ghidra-GameCube-Loader, где с этого момента будет выполняться обслуживание.
Определение языка для варианта процессора Gekko и Broadway, используемого в Nintendo GameCube и Nintendo Wii соответственно.
Поддерживает дизассемблирование и декомпиляцию парных одиночных инструкций и инструкции dcbz_l.
Для квантования определены две новые операции PCode следующим образом:
quantize(PS, type, scale)
dequantize(EA, type, scale)
Где PS — регистр ps, EA — эффективный адрес нагрузки, type — настройка типа GQR (4 = U8, 5 = U16, 6 = S8 и 7 = S16), а Scale — настройка масштаба GQR. Для чистого вывода декомпиляции рассмотрите возможность установки значений GQR, чтобы он мог правильно принять их содержимое, поскольку большинство игр устанавливают их без последующего изменения. Если вы это сделаете, вы можете увидеть в окне декомпилятора предупреждения о недостижимом коде для инструкций psq; это нормально, поскольку декомпилятор оптимизирует квантование, которого не произойдет.
Скопируйте все файлы из папки data/languages
в Ghidra/Processors/PowerPC/data/languages
вашей установки Ghidra. Чтобы использовать язык, выберите его в меню выбора языка (32-разрядный вариант PowerPC с прямым порядком байтов Gekko/Broadway). При использовании языка файл .sla должен компилироваться автоматически.