Тк sdOS здесь упоминалась, вставлю свои пять копеек, хотя это здесь offtop.
Мои доработки sd_dos от b2m шли по двум направлениям, не считая доработки под 'железную' реализацию sd интерфейса.
Первое это доработка командного интерфейса - под нужный мне ПК (изначально из РК-86 в Специалист/МХ, сейчас и другие ПК), - а так как мне хотелось не только запускать программы, но и загружать данные по нужным адресам без запуска (например прошивку ПЗУ для программатора) то я ввел команду чтения файла (R файл,...) в виде данных с указанием по какому адресу и сколько их сложить. Здесь возникло желание таким же образом данные сохранить(прочитанную программатором ПЗУ), что и было сделано, и чтение (R) превратилось в запись (W файл,...) только сектор надо было теперь не читать, а писать, и здесь переход ко второму направлению.
Второе направление - работа с файловой системой и носителем данных. Добавление функции записи сектора с выполнением всех предшествующих этой записи действий по поиску требуемого файла и кластеров\секторов, которые этот файл занимает. В последствии, в целях экономии около полу сотни байт я исключил из кода поддержку FAT12(можно вернуть через define), оставив только FAT16, посчитав, что в реале карты меньше 32МБ врядли кто будет использовать.
А вот FAT32 изначально у b2m не реализована, и, как по мне, это правильно, найдется ли для наших 8 битных ПК ПО с сумарным объемом более 2ГБ? Что же до карт размером более 2ГБ, то кто мешает создать на них раздел не более 2ГБ и отформатировать его в FAT16?

еще больший offtop:

Скрытый текст

у меня давно крутится идея навеянная этим http://www.nedopc.org/forum/viewtopic.php?f=90&t=11548 только не копировать образ диска в отдельную память, а работать с файлами образов на самой SD карте, выполняя 'монтирование' этих образов в виде или сохранения двухбайтового указателя в ОЗУ ПК на первый сектор данных образа(при условии непрерывности файла, те отсутствия его фрагментации, что вполне можно обеспечить) или, сложнее, если файл допускает фрагментацию, то сохранения всех занимаемых им кластеров( а цепочка кластеров для файла образа диска в 800КБ, при кластере в 16КБ займет 100 байт ОЗУ ПК). Ну и соответствующим образом нужно доработать процедуры работы с такой 'виртуальной' дискетой хоть CP/M, хоть любой другой ОС, работающей с реальным дисководом... работать с таким образом, естественно, можно в режиме R/W.
Если у кого есть к этому интерес, то надо создать новый топик и это обсудить, только я не знаю в каком разделе...
[свернуть]