I ported the decompiled C code of the 1998 PlayStation version of Metal Gear Solid to the ESP32-S3.
The game code compiles directly to Xtensa machine code, with the PlayStation SDK, GPU, GTE, CD drive, scheduler, and controller replaced by software layers.
It runs on a Seeed Studio XIAO ESP32-S3 Sense with 8 MB PSRAM and microSD.
The post goes into the porting process, memory layout, scheduler, software rendering, debugging, and the bugs that took the most time to find
The game code compiles directly to Xtensa machine code, with the PlayStation SDK, GPU, GTE, CD drive, scheduler, and controller replaced by software layers.
It runs on a Seeed Studio XIAO ESP32-S3 Sense with 8 MB PSRAM and microSD.
The post goes into the porting process, memory layout, scheduler, software rendering, debugging, and the bugs that took the most time to find