Add top-level README

Repo landing page was empty (only firmware/README.md existed) - add an
overview, repo layout, quick-start, and requirements, cross-linking to
firmware/README.md for the detailed changelog.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-14 16:02:01 +03:00
co-authored by Claude Sonnet 5
parent 6d835bc44c
commit 8b0102b56c
+57
View File
@@ -0,0 +1,57 @@
# ZIFI32 — ESP32 WiFi/SPI module for ZX Evolution
Firmware and hardware for the ESP32-S3-based WiFi/SPI module ("ZiFi32") used
by the ZX Evolution / TS-Conf ("Pentevo") retro-computer platform. Adds
WiFi, a WAV/XM/MOD/S3M audio tracker, and (new in this fork, work in
progress) an SMB2/3 network share that exposes the machine's real SD card
to any Windows/macOS/Linux client.
**Base source**: [tslabs/zx-evo](https://github.com/tslabs/zx-evo/tree/master/pentevo/esp32).
See [`firmware/README.md`](firmware/README.md) for the full list of changes
made in this fork and their current status.
## Requirements
- The ZX Evolution/TS-Conf board's own **core firmware must be built with
VDAC2 and ESP32 (ZiFi32) peripheral support enabled** - without both, the
core won't recognize this module on the SPI bus at all, and won't drive
the FT8xx video chip either.
- The **RESET jumper on the IDE connector must be installed** - see
[`hardware/connection_diagram.webp`](hardware/connection_diagram.webp).
## Repository layout
| Path | What's there |
|---------------------|--------------|
| `src/` | ESP32 firmware source (ESP-IDF project) |
| `firmware/` | Ready-to-flash compiled binaries + flashing instructions + changelog |
| `hardware/` | Adapter board connection diagram, PCB photo, Gerber files |
| `doc/` | Protocol/design notes |
| `test/` | Original upstream SPI protocol test scripts (Python, Raspberry Pi) |
| `spi_gpio_probe/` | Standalone diagnostic firmware - logs raw SPI pin edges, used for bring-up debugging, NOT the main firmware |
## Quick start
1. Flash `firmware/esp-spi.bin` (+ bootloader/partition table) to the ESP32-S3
module - see [`firmware/README.md`](firmware/README.md#flashing) for the
exact `esptool.py` command.
2. Wire it up per [`hardware/connection_diagram.webp`](hardware/connection_diagram.webp)
(adapter PCB Gerbers are in [`hardware/gerber/`](hardware/gerber/) if you're
making your own board - see the photo in [`hardware/pcb_photo.jpg`](hardware/pcb_photo.jpg)).
3. Make sure the ZX Evolution core firmware requirement above is met.
4. Build from source instead of flashing the prebuilt binary: ESP-IDF
**v6.1** (not `v6.1-rc1`), `idf.py build flash`.
## Status
WiFi, audio tracker playback, and the SMB2/3 VFS bridge (browse, download,
upload, delete over a real SD card) all work against real hardware. The VFS
bridge is still **actively being developed** - directory creation, in-place
file truncation on overwrite, and live directory-change notifications aren't
implemented yet. Full details in [`firmware/README.md`](firmware/README.md).
## License
This repository vendors [libsmb2](https://github.com/sahlberg/libsmb2)
(LGPL-2.1) under `src/third_party/libsmb2` - see its own `COPYING` and
`LICENCE-LGPL-2.1.txt` there.