ZIFI32 — модуль ESP32 WiFi/SPI для ZX Evolution

Прошивка и аппаратная часть модуля ESP32-S3 (WiFi/SPI, "ZiFi32") для ретро-компьютера ZX Evolution / TS-Conf ("Pentevo"). Даёт WiFi, аудио-трекер (WAV/XM/MOD/S3M), а также (новое в этом форке, в разработке) сетевую шару по SMB2/3, открывающую доступ к реальной SD-карте машины с любого клиента Windows/macOS/Linux.

Исходная база: tslabs/zx-evo. Полный список изменений этого форка и их текущий статус — в firmware/README.md.

Требования

  • Прошивка ядра платы ZX Evolution/TS-Conf должна быть собрана с поддержкой VDAC2 и ESP32 (ZiFi32) — без этого ядро вообще не увидит модуль на шине SPI, а видеочип FT8xx работать не будет.
  • Перемычка RESET на разъёме IDE должна быть установлена — см. hardware/connection_diagram.webp.

Структура репозитория

Путь Что там
src/ Исходный код прошивки ESP32 (проект ESP-IDF)
firmware/ Готовые к прошивке скомпилированные файлы + инструкция по прошивке + список изменений
hardware/ Схема подключения переходной платы, фото платы, Gerber-файлы
doc/ Заметки по протоколу/архитектуре
test/ Оригинальные тестовые скрипты протокола SPI из апстрима (Python, Raspberry Pi)
spi_gpio_probe/ Отдельная диагностическая прошивка — логирует сырые фронты на пинах SPI, использовалась для отладки при разработке; НЕ основная прошивка

Быстрый старт

  1. Прошейте firmware/esp-spi.bin (+ bootloader/таблицу разделов) в модуль ESP32-S3 — точная команда esptool.py в firmware/README.md.
  2. Подключите по схеме hardware/connection_diagram.webp (Gerber-файлы переходной платы — в hardware/gerber/, если делаете свою плату; фото платы — hardware/pcb_photo.jpg).
  3. Убедитесь, что выполнено требование по ядру ZX Evolution (см. выше).
  4. Собрать из исходников вместо прошивки готового бинарника: ESP-IDF v6.1 (не v6.1-rc1), idf.py build flash.

Статус

WiFi, воспроизведение аудио-трекера и SMB2/3-мост (просмотр, скачивание, загрузка, удаление на реальной SD-карте) — всё работает на реальном железе. Мост к SMB всё ещё активно дорабатывается — пока не реализовано создание директорий, обрезка файла при перезаписи более коротким содержимым и уведомления об изменениях в реальном времени. Подробности — в firmware/README.md.

Лицензия

В этом репозитории вендорится libsmb2 (LGPL-2.1) в каталоге src/third_party/libsmb2 — см. его собственные файлы COPYING и LICENCE-LGPL-2.1.txt.

S
Description
Прошивка для ESP32-S3
Readme
3.3 MiB
Languages
C++ 88.3%
C 10%
Python 1.4%
CMake 0.2%
Shell 0.1%