В общем, идея такая: т.к. у нас проц все равно внутри CPLD, то его можно останавливать, например, сигналом READY и использовать его слот времени для пересылки данных. Такой неполный DMA. Адрес начала и размер задавать в регистрах управления контроллером. Причем, он для карты будет формировать полные 512 циклов чтения сектора, чтобы не сбить логику ее работы, а в память писать ровно столько, сколько надо. Это позволит загружать файлы прямо по месту байт в байт, не затрагивая лишние. Это в нативном режиме. В режиме эмуляции ВГ93 можно сделать останов при чтении из регистра данных ВГ93, как это сделано в контроллере дисковода для Специалиста (чтобы тот софт так же мог работать без изменений).
Касаемо полноценной эмуляции ВГ93, то было бы здорово установить размер кластера кратный 1 сектору дискеты (1КБ же, так?). Т.е., придется форматировать карту памяти с особыми параметрами (лучше если написать специальную программку). В пользу программки говорит и факт ROMless загрузки: чтобы контроллер всегда знал откуда брать загрузчик. Хотя, я думаю с SD/MMC карты никто грузиться не будет и поэтому загрузчик можно положить вместо PCшного, оставив остальные структуры как есть. Карта будет признаваться компьютером и одновременно быть загрузочной для Специалиста.

PS Нечто подобное, я думаю, можно будет сделать и для Спектрума 48К/128К.