ESP32P4通过JIT运行GBA
KHIL
2026年05月03日 09:27

项目是一个运行在 ESP32-P4 RISC-V 处理器上的 Game Boy Advance 模拟器。该项目基于经典的 gpSP (gameplaySP) 模拟器,通过 JIT (Just-In-Time) 编译技术将 ARM7TDMI 和 Thumb 指令动态翻译为 RISC-V 代码,实现高性能的 GBA 游戏模拟。

### 核心特性

- JIT 编译引擎: 将 ARM/Thumb 指令实时翻译为 RISC-V 原生代码

- HLE 高级模拟: SWI 和 IRQ 处理的高级模拟,减少 BIOS 依赖

- SMC 自修改代码检测: 实时检测并处理自修改代码

- 性能优化: 块链接、直接分支、预编译等多种优化策略

- 完整的 GBA 模拟: CPU、内存、视频、音频、输入等完整模拟

### 核心组件

1. espriscv - JIT 编译引擎:将 ARM/Thumb 指令翻译为 RISC-V 代码

2. gbsp-libretro - GBA 模拟器核心:提供完整的 GBA 硬件模拟

## 已知问题与限制

- 部分 BIOS 功能需要 HLE 实现

- HLE使用后存在有的rom画面异常

- PSRAM 访问延迟影响性能

- 部分游戏可能存在兼容性问题

JIT运行日志
解释器运行日志
ROM运行画面