# Leningrad2-DivMMC DivMMC controller for ZX Spectrum computers. ## Описание Интерфейс DivMMC для легендарного клона Leningrad-2. Позволяет использовать современные SD-карты в качестве накопителя. Работает под управлением операционной системы ESXDOS, обеспечивая мгновенную загрузку игр (TAP, TRD, Z80, SNA) и поддержку длинных имен файлов. Проект основан на проверенной схемотехнике от \[AlexEkb](https://github.com/AlexEkb4ever) и реализован на доступной мелкой логике. ## Историческая справка и контекст Если BDI (TR-DOS) — это классика 90-х, то DivMMC — это стандарт сегодняшнего дня. Данный контроллер адаптирован специально для моих версий плат \[Leningrad-2-48k](https://github.com/Alex-2-Graf/LENINGRAD-2-48k) и \[Leningrad-2-128k-SRAM](https://github.com/Alex-2-Graf/Leningrad-2-128k-SRAM), где системная шина уже подготовлена. Однако его можно подключить и к любому другому «Ленинграду-2» при минимальных доработках шины. ## Технические особенности Основные возможности * Носитель: Поддержка двух SD-карт (MicroSD + разъем для подключения второго модуля). * Логика: Собрано на дискретной логике (без использования ПЛИС/CPLD), что упрощает сборку и отладку. * Управление: На плате установлены кнопки NMI (вызов меню навигатора ESXDOS) и RESET. * ОС: Полная совместимость с ESXDOS (версии 0.8.9 и выше)(загрузка файлов .TAP, .TRD, .SCL, .Z80). [iBOM](https://github.com/Alex-2-Graf/Leningrad2-DivMMC/blob/main/Schematics/DivMMC\_L2.html) [Схема](https://github.com/Alex-2-Graf/Leningrad2-DivMMC/blob/main/Schematics/DivMMC\_L2.pdf) [Gerber](https://github.com/Alex-2-Graf/Leningrad2-DivMMC/blob/main/Gerber/DivMMC\_L2\_Gerber.zip) ![](https://github.com/Alex-2-Graf/Leningrad2-DivMMC/blob/main/Photos/1.png) ![](https://github.com/Alex-2-Graf/Leningrad2-DivMMC/blob/main/Photos/2.png) ![](https://github.com/Alex-2-Graf/Leningrad2-DivMMC/blob/main/Photos/DivMMC-L2.jpg) ## Подключение Контроллер подключается к системному разъему. Все необходимые сигналы управления (MREQ, IORQ, M1, RD, WR) и шина данных/адреса задействованы согласно спецификации DivMMC. Важно: Для корректной работы требуется наличие сигнала M1. На моих версиях плат он выведен штатно. ## Программное обеспечение и ROM Для работы контроллера требуется прошитая микросхема ПЗУ с операционной системой esxDOS. Важно: В данном проекте используется модифицированная версия прошивки, адаптированная под схемотехнику AlexEkb и особенности шины «Ленинград-2». Необходимый файл прошивки находится в папке /Firmware. [тут](https://github.com/Alex-2-Graf/Leningrad2-DivMMC/blob/main/Firmware/ROM.bin) Официальный сайт проекта esxDOS: esxdos.org (для ознакомления с командами и структурой системных папок на SD-карте). Карту SD отформатировать в FAT32 и распаковать на неё [архив](https://github.com/Alex-2-Graf/Leningrad2-DivMMC/blob/main/Firmware/esxdos\_disk.zip)