Первый вариант.
Я собрал на макетке вместе с дисплеем на ILI9341, там же расположен слот карты памяти.
Удалось запустить чтение и запись на SD карту на контроллере Atmega64a. Работает с TRD образами. У Atmega64 осталось много свободных ног. Если не наворачивать дополнительный функционал, то можно и на arduino перенастроить.
Вывод дебага идет через USART.
Для удобства смены образа на SD карте должен быть создан файл IMAGES.CFG достаточного размера до 512 байт.
Формат простой: имена файлов разделенные переводами строки, 1-я строка - дисковод A:, 2-я - B:, 3-я - C: .
Для пустого дисковода указывается "-".
На 4-й не пустой строке путь до папки с TRD файлами: "/" - для корня. Если указана папка, то без слэша в конце: "/TRD".
Диск D: - управляющий. Для него доступны команды CAT и LIST. От имени файла показываются только первые 8 символов, это ограничение tr-dos.
Для смены образа нужно выбрать дисковод куда будет смонтирован образ, по умолчанию уже выбран дисковод A:, он обозначен стрелочкой при выводе каталога диска D:.
Выбор дисковода:
Выбор образа:Код:LOAD "d:B"CODE или *"d:" LOAD "B"CODE
После выполнения команды конфиг записывается на карту.Код:LOAD "d:DIZZY.TR"CODE или *"d:" LOAD "DIZZY.TR"CODE
Переделал на arduino nano.
Частично, не использую загрузчик arduino, отключил его через фьюзы и заливаю прошивку через ISP.
Схема на arduino nano: https://easyeda.com/vitalian1980/fdcduino
Исходники в ветке arduino: https://bitbucket.org/rudolff/z80con...r/src/arduino/
Так как использую petitfs, то нет возможности выделить место под образ и конфиг, поэтому работает только с TRD образами. Для конвертации SCL образов я использую scl2rtd из пакета fuse-utils. Добавил путь к этой утилите в переменную окружения PATH. Для пакетной конвертации создал batch скрипт.