Цитата Сообщение от Pyk Посмотреть сообщение
Стоит ли что-то хранить коме длин секторов? В каком виде хранить длины? Хранить ли карту здоровья в образе либо в отдельном файле? Есть ли смысл в хранении другой служебной информации информации, как в rkdisk?
Есть соображения?
Насколько я понимаю, с эмулятором связаны две вещи:
1) Ему даются скорее всего образы исправных дисков. Неисправные нужны видимо для ручного вытаскивания нужной инфы.
2) Эмулятор выполняет код ДОСа, а тот код читает служебные структуры сектора из порта ввода, он ожидает их. Генерировать ли их на лету или считывать из файла, это вопрос реализации.

Если говорить о простом образе, то длины можно хранить в виде отдельной таблицы в конце 400кб, в виде LE words. Что либо связанное со здоровьем диска, только у неисправных дисков, после таблицы длин. Завершать файл можно сигнатурой, после таблицы длин или после необязательной карты здоровья.

Завершающую сигнатуру, можно взять что то типа
Код:
'RK86DISK', 0
Карту здоровья, в виде таблицы считанных КС, либо просто битовая карта как VTOS. Начало любых структур (таблиц) можно тоже предварять простой двухбайтовой сигнатурой и длиной блока (Type|Length|Value). Начало любого блока выравнивать на границу 512 байт.

- - - Добавлено - - -

Вот, кстати, скрин работы программы.

Скрин

[свернуть]

Время считывания диска 2м 10с.

Запуск производится из коммандера на SD карточке. Внизу ">", это приглашение модифицированного монитора, с директивой "U", запускающей загрузку с SD без длинной последовательности "R...G".

Все исходники на программу будут открытые, по выпуску первой версии с законченным форматом RDI.