Насколько я понимаю, с эмулятором связаны две вещи:
1) Ему даются скорее всего образы исправных дисков. Неисправные нужны видимо для ручного вытаскивания нужной инфы.
2) Эмулятор выполняет код ДОСа, а тот код читает служебные структуры сектора из порта ввода, он ожидает их. Генерировать ли их на лету или считывать из файла, это вопрос реализации.
Если говорить о простом образе, то длины можно хранить в виде отдельной таблицы в конце 400кб, в виде LE words. Что либо связанное со здоровьем диска, только у неисправных дисков, после таблицы длин. Завершать файл можно сигнатурой, после таблицы длин или после необязательной карты здоровья.
Завершающую сигнатуру, можно взять что то типаКарту здоровья, в виде таблицы считанных КС, либо просто битовая карта как VTOS. Начало любых структур (таблиц) можно тоже предварять простой двухбайтовой сигнатурой и длиной блока (Type|Length|Value). Начало любого блока выравнивать на границу 512 байт.Код:'RK86DISK', 0
- - - Добавлено - - -
Вот, кстати, скрин работы программы.
Скрин
[свернуть]
Время считывания диска 2м 10с.
Запуск производится из коммандера на SD карточке. Внизу ">", это приглашение модифицированного монитора, с директивой "U", запускающей загрузку с SD без длинной последовательности "R...G".
Все исходники на программу будут открытые, по выпуску первой версии с законченным форматом RDI.






wtf
Ответить с цитированием