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:
@@ -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.
|
||||
Reference in New Issue
Block a user