Worker side of the libqemu picsimlab_spi_event_batch / CS-gating change: - _on_spi_batch(): replay a whole SPI transfer in bulk (custom-chip runtime, then ePaper feed, then the spi_batch buffer) instead of one _on_spi_event per byte. Registered as a trailing _SPI_BATCH field of _CallbacksT. - _sync_cs_events(): disable SPI chip-select callbacks for pure-display sims, enable them when an ePaper / custom-chip SPI slave is registered (no-op on older libqemu without qemu_picsimlab_enable_spi_cs_events). - _on_pin_change(): flush the SPI batch before each gpio_change so the byte stream stays ordered against the DC pin now that CS no longer triggers the flush. Backward compatible: an older libqemu never calls the batch callback or the CS setter, so it just keeps the per-byte path. esp32-doom: 0.04 -> ~1.0-1.5 FPS wall-clock (~26-37x), render verified correct. |
||
|---|---|---|
| .. | ||
| app | ||
| scripts | ||
| sdk | ||
| tests | ||
| .env.example | ||
| Dockerfile | ||
| debug_qemu.py | ||
| mcp_server.py | ||
| mcp_sse_server.py | ||
| requirements.txt | ||