Иногда смотря очередной ролик по сборке Спектрум-девайса говоришь себе - "Хочу себе такое!"
У меня нет ответа, почему одна конструкция цепляет, а другая нет...
Сегодня хочу рассказать об эмуляторе FDD. Сейчас меня забросают тапками. Ну сколько можно про одно и тоже? Неужели не хватает многих разновидностей Готека?
Соглашусь. Готек можно считать ультимативным девайсом в данной нише. Про его возможности и преимущества я писать не буду. Все это знают.
Но меня зацепил эмулятор дисковода на "народном" контроллере Atmega328P. Популярные платки Ардуино NANO сделаны именно на этом чипе.
Это старый проект. Его начал EvgenRU еще в 2016 году. Вот большая тема https://zx-pk.ru/threads/26328-plani...a-atmega8.html
В процессе разработки проект изменялся. На данный момент он поддерживает запись (раньше было только чтение).
Надо понимать, что этот FDD-эмулятор поддерживает только trd-образы, но большинству Спектрумистов только это и нужно.
Меня привлекли в этом проекте небольшой размер платы, минимум деталей, использование SD-карты, многострочный режим экрана (в отличие от однострочного экрана Готека).
Итак, схема:
Плата (Автор Alex MicroDRV):
Герберы платы, схема в pdf-формате прикреплены к этому посту.
Пока ждал изготовление платы неспешно собрал все детали, благо их не очень много.
Спаять платку можно за 1-2 часа:
Для управления применяю кнопки. Энкодер не люблю. Раздражает выпирающий вал.
Индикатор I2C OLED 0.96" установил на разъеме. Заказал индикатор на 1.3" - будет крупнее.
Теперь надо прошить Atmega328P. С прошивкой мне помог Rahost. Архив с прошивками прикрепил снизу поста.
AVR USB ATMEGA программатор мне едет с Али уже третий месяц... Поэтому, использовал программатор T48 в режиме ICSP.
Подключаем FDD-эмулятор к программатору согласно схеме:
Внешнее питание на плату FDD-эмулятора подключать не надо.
Выбираем в программаторе чип ATMEGA328P TQFP32, загружаем дамп прошивки (файл с расширением .hex).
Ставим галку режима ICSP port.
Далее идем во вкладку Config и выставляем фьюзы (Fuse):
Fuse low byte - 0xFF
Fuse high byte - 0xD9
Extended byte - 0xFF
Lock bit byte - 0xFF
Все готово. Нажимаем Prog - Program. Если все подключено правильно начнется процесс программирования контроллера.
Отключаем FDD-контроллер от программатора, подключаем внешнее питание 5 вольт со Спектрума на соответствующий разъем платы (он трехпиновый, + по центру). Втыкаем 34-пиновый шлейф флоппи-дисковода.
Включаем питание Спектрума. Если все собрано правильно, то видим надпись NO CARD и краткую информацию. Выключаем Спектрум.
Записываем на SD-карту (FAT32) trd-файлы. Можно использовать папки.
Втыкаем SD-карту в ZX FDD Emulator. Включаем Спектрум. После загрузки эмулятор выводит на экран список из пяти образов. Перемещение по образам - кнопки верх/вниз. Выбор образа - кнопка OK.
После выбора образа на экране будет отображаться его имя, а снизу текущий номер дорожки и головки (как на Готеке).
При загрузке горит светодиод активности диска. Жаль нет звуковой имитации движения головки. Надо попробовать подключить пьезодинамик на выход STEP.
Диззи загрузился успешно. Субъективно, загрузка идет немного медленнее, чем на Готеке.
Функция записи тоже работает, но надо еще тестировать.
Итог.
ZX FDD Emulator мне понравился. Вполне может найти применение в самодельных конструкциях Спектрум-клонов.
Комплект документации из видео:
Скрытый текст
Архив с принципиальной схемой, прошивкой и герберами платы:
fdd_rw_oled1.3.zip