A native ESP-IDF Doom port for the ESP32 Cheap Yellow Display, using LVGL as the display owner and targeting the classic ESP32 without PSRAM.

Highlights
- native ESP-IDF build
- LVGL 9.5 launcher and gameplay presentation
- ST7789 320×240 output over SPI
- working Doom-through-LVGL indexed-I8 presentation path
- two 5120-byte DMA buffers for LCD transfers
- microSD WAD discovery, validation, installation, and verification
- Funduino joystick/button input
- no PSRAM dependency
Hardware
The target is an ESP32-2432S028R-style Cheap Yellow Display.

The physical control setup uses a Funduino Joystick Shield V1.A.

WAD management
The launcher can discover compatible WAD files on microSD, validate them, install them to flash, and launch the game.

Rendering path
GBADoom framebuffer
|
v
indexed-I8 view
|
v
LVGL refresh / flush callback
|
v
palette lookup + nearest-neighbor scaling
|
v
two DMA buffers
|
v
ST7789 320x240 panel
This keeps LVGL in control of the display lifecycle while still avoiding a second full-screen RGB565 framebuffer.