  # 💾 ZX-Spectrum-BDI-TR-DOS-interface  
  
> [English](README.en.md) | [Русский](README.md)  
    
Открытый проект (Open-Source) легендарного дискового интерфейса **Beta Disk Interface (BDI)** для оригинальных компьютеров **ZX Spectrum 48K / 128K** и их классических клонов.

Интерфейс спроектирован на современной элементной базе с заботой о безопасности вашего ретро-компьютера. Главное отличие от классических схем — использование контроллера гибких дисков **Fujitsu MB8877A** (CMOS-аналог WD1793), работающего исключительно от **+5В**. Больше никакого опасного напряжения +12В на системной шине Спектрума!

Проект обеспечивает 100% аппаратную совместимость с операционной системой **TR-DOS**, открывая доступ к огромной библиотеке софта, игр и шедевров демо-сцены в форматах `.TRD` и `.SCL`. Обе версии плат полностью протестированы в железе и готовы к сборке.

---

## 🎛️ Варианты исполнения (Версии плат)

Проект реализован в двух конструктивных вариантах под любые задачи:

## 1. **Classic Sandwich (Двухплатный «Бутерброд»)**
   * Аутентичный дизайн, вдохновленный классическими расширениями BDI из 90-х.
   * Схема разделена на две платы для удобства разводки крупных выводных компонентов (DIP).
   * Идеальный вариант для любителей ретро-эстетики и простой домашней пайки.
   * Также имеет краевой разъём (Edge connector) Спектрума.

### Нижняя плата  
  
[Схема](Export/ZX%20BDI%202%20PCB%20Lower.pdf) [Монтаж](Export/ZX%20BDI%202%20PCB%20Lower.html) [Gerber](Gerber/ZX_BDI_2_PCB_Lower_Gerbers.zip)
  
  
![](Foto/ZX%20BDI%202%20PCB%20Lower.png)  
  
![](Foto/ZX%20BDI%202%20PCB%20Lower.jpg)  
  
    
### Верхняя плата  
  
[Схема](Export/ZX%20BDI%202%20PCB%20Upper.pdf) [Монтаж](Export/ZX%20BDI%202%20PCB%20Upper.html) [Gerber](Gerber/ZX_BDI_2_PCB_Upper_Gerbers.zip)
  
  
![](Foto/ZX%20BDI%202%20PCB%20Upper.png)  
  
![](Foto/ZX%20BDI%202%20PCB%20Upper.jpg)  
  
  
### В сборе  
  
![](Foto/ZX%20BDI%202%20PCB.jpg)  
  
---

## 2. **Compact Single (Одноплатная версия)**
   * Современная, плотная компоновка всех элементов на одной печатной плате.
   * Минимальные габариты — устройство аккуратно и компактно смотрится при подключении к краевому разъему (Edge connector) Спектрума.
  
  
[Схема](Export/ZX%20BDI%201%20PCB.pdf) [Монтаж](Export/ZX%20BDI%201%20PCB.html) [Gerber](Gerber/ZX_BDI_TR_DOS_Grbers.zip)
  
  
![](Foto/ZX%20BDI%201%20PCB.png)  
  
![](Foto/ZX%20BDI%201%20PCB.jpg)  
  
---

## 🛠️ Технические особенности и преимущества

* **Питание только +5В**: Благодаря чипу MB8877A полностью отпадает необходимость в линии +12В. Вы гарантированно не сожжете редкую микросхему FDC или процессор Z80 из-за случайного перекоса питающих напряжений.
* **Безопасность системной шины**: Отсутствие высокого напряжения (+12В) делает устройство максимально безопасным для оригинального краевого разъема компьютера.
* **Универсальность**: Интерфейс отлично работает как с классическими дисководами 3.5" (при наличии питания +5В), так и с эмуляторами Gotek (с прошивкой FlashFloppy).

---
  
### Внимание! Настоятельно рекомендуется использовать только MB8877 (или его полные аналоги на 5В). Установка классических микросхем КР1818ВГ93 или WD1793 без переделки цепей питания +12В приведет к выходу микросхемы из строя.  
  
### В качестве контролера возможно использование [эмулятора ВГ93](https://github.com/Alex-2-Graf/VG93-MB8877-lgt8f328p-emulator)  
  
---
  
## ⚙️ DIP переключатель для выбора версии TR-DOS  

С помощью которого можно выбрать одну из четырёх версий TR-DOS. [Тут](ROM)
  
---
  
## ⚙️ Переключатель режимов ON/OFF (Управление ПЗУ TR-DOS)

На плате установлен тумблер **ON/OFF**, управляющий логикой активации теневого ПЗУ TR-DOS для решения проблемы конфликта памяти на разных моделях:

### 💾 Режим для ZX Spectrum 128K (Тумблер в положении `OFF`)
* **Настройка**: Для всех моделей 128K (Toastrack, +2 и др.) переключатель должен **всегда находиться в положении `OFF`**.
* **Логика**: Компьютер управляет банками памяти самостоятельно через порт `$7FFD`. Интерфейс находится в режиме ожидания и автоматически перехватит управление только при выборе пункта «TR-DOS» в стартовом меню или при вводе команды `RANDOMIZE USR 15616` из 48-BASIC. Если оставить тумблер в `ON`, возникнет конфликт ПЗУ, и компьютер не загрузится.

### 📼 Режим для ZX Spectrum 48K (Тумблер в положении `ON`)
* **Настройка**: Для оригинальных моделей 48K переключатель переводится в положение **`ON`**.
* **Логика**: При включении или нажатии кнопки `RESET` интерфейс аппаратно подменяет штатное ПЗУ Спектрума на ПЗУ TR-DOS. Система сразу опрашивает дисковод. Если в привод вставлен диск с файлом `«boot»`, компьютер **автоматически запустит систему** без ввода команд. Чтобы выйти в стандартный `BASIC 48` в обход диска, просто переведите тумблер обратно в `OFF` перед сбросом.

