ESP32-P4 запускає Game Boy Advance на повній швидкості завдяки RISC-V JIT

Розробник nnicultra портирував gpSP на ESP32-P4 з RISC-V JIT і досяг 59.7 FPS без пропуску кадрів.

olya_nro2026-10-04· r/emulation

Любителям незвичного заліза буде цікаво: розробник nnicultra портирував емулятор gpSP на мікроконтролер ESP32-P4 і написав для нього власний RISC-V JIT. Першокласні ігри від Nintendo працюють на повній швидкості (59.7 FPS) без пропускання кадрів, що є гарним результатом для таких плат.

Тестування проводилося на платі Waveshare ESP32-P4-NANO-WIFI6-DB із чипом P4 rev 3.x на частоті 400 МГц, а управління здійснювалося через геймпад 8BitDo за допомогою його 2.4G USB-донгла. Важкі сцени в Metroid Fusion забирають близько 14 мілісекунд на кадр, тож запас потужності ще є. Проте є і нюанси: ігри, які генерують код у оперативній пам’яті та постійно його змінюють, наприклад Doom, поки що працюють дуже повільно.

Розробник ще не задіяв SIMD через те, що рендерер виконує чимало розсіяних звернень до палітри, а інструкції Zcmt із ревізії 3.x виявилися занадто сирими й глючними. У плани на свята входить оптимізація роботи з кодом у RAM та викладання проєкту на GitHub.

Джерела: reddit.com