1 comment
AI was used to port to ESP32, and human talent was used to assemble the circuit, hardware, and proprietary knowledge of ESP32 and FreeRTOS optimizations.
Rather than running an emulator, the decompiled C source from mgs_reversing is compiled natively to Xtensa machine code. Everything the original PS1 hardware provided, including the GTE, GPU, BIOS scheduler, and CD drive, is reimplemented in software on top of ESP-IDF and FreeRTOS.
SoC: ESP32-S3, dual-core Xtensa LX7 @ 240 MHz, 512 KB internal SRAM, 8 MB Octal PSRAM.
Display: 320×240 LCD (ST7789 / ILI9341) over SPI at 40 MHz.
Storage: MicroSD card over SPI containing the full game stage assets (STAGE.DIR).
Internal SRAM is fast but limited, while PSRAM provides 8 MB of additional memory but sits behind the same cache subsystem used for external Flash.
Placing FreeRTOS task stacks in PSRAM initially appeared to work, until a task performed file I/O such as fopen().
When external Flash cache was disabled during Flash/PSRAM access, the CPU could no longer safely access task stacks stored in PSRAM, causing an immediate SoC crash.
Read the full thread on Hacker News →
Related stories
- The Nine-Person Game Team Will Soon Outperform a AAA Game Studioclairvoyanceai.comHacker News · 2 points · 5 days ago
- Show HN: Built an online multiplayer game in 2 daysbigbeanbattle.comHacker News · 1 points · 1 day ago
- Show HN: Trade Lord, inspired by Drug Lord 2, quick daily leaderboard gametradelord.theboyvr.comHacker News · 1 points · 2 days ago
- Hacker News · 1 points · 2 days ago
- ESP32: The Arduino Rivals That Changed the Gamepetkovsky.skHacker News · 1 points · 6 days ago
- Hacker News · 1 points · 1 day ago