Вложений: 6
Эмулятор контроллера дисковода beta disk на AVR
Первый вариант.
Я собрал на макетке вместе с дисплеем на ILI9341, там же расположен слот карты памяти.
Вложение 68597
Отлаживал на пентагоне 128.
Удалось запустить чтение и запись на 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:.
Вложение 68729
Выбор дисковода:
Код:
LOAD "d:B"CODE
или
*"d:"
LOAD "B"CODE
Выбор образа:
Код:
LOAD "d:DIZZY.TR"CODE
или
*"d:"
LOAD "DIZZY.TR"CODE
После выполнения команды конфиг записывается на карту.
Переделал на arduino nano.
Частично, не использую загрузчик arduino, отключил его через фьюзы и заливаю прошивку через ISP.
Вложение 68711Вложение 68731Вложение 68713
Схема на arduino nano: https://easyeda.com/vitalian1980/fdcduino
Исходники в ветке arduino для Atmel Studio: https://bitbucket.org/rudolff/z80con...r/src/arduino/
Исходники для Arduino IDE: https://bitbucket.org/rudolff/fdcduino/src/master/
Так как использую petitfs, то нет возможности выделить место под образ и конфиг, поэтому работает только с TRD образами. Для конвертации SCL образов я использую scl2trd из пакета fuse-utils. Добавил путь к этой утилите в переменную окружения PATH. Для пакетной конвертации создал batch скрипт.
Вот картинка поясняющая что из обвязки нужно оставить.
Похожий проект на Stm32
По мне немного перебор, так как на Stm32 можно целый спекки эмулировать, но если он максимально точно эмулирует ВГ93, то почему бы и нет. Stm-ку сейчас наверно проще достать чем ВГ93.