Здравствуйте, inquiring, Вы писали:
I>Здравствуйте.
I>Можно ли при помощи 13-го прерывания и функции 02h (чтение сектора)прочитать межсекторные промежутки? Поделитесь мыслями
I>Заранее благодарна.
I>Можно ли при помощи 13-го прерывания и функции 02h (чтение сектора)прочитать межсекторные промежутки? Поделитесь мыслями
Нельзя. На флопике это сделать можно, но только на уровне портов железки.
На IDE и SCSI дисках — невозможно в принципе (ну разве что какими-нить vendor-specific командами, которыми, например, пользуются конторы, восстанавливающие данные с винчестеров).
На сидюках — так пожалуйста, и это будут raw sectors. Структура сидюка описана в MMC-4 spec — см. www.t10.org.
Кроме того — под Windows и юниксами про int 13h лучше забыть навсегда.
Здравствуйте, Maxim S. Shatskih, Вы писали:
I>>Можно ли при помощи 13-го прерывания и функции 02h (чтение сектора)прочитать межсекторные промежутки? Поделитесь мыслями
MSS>Нельзя. На флопике это сделать можно, но только на уровне портов железки. MSS>Кроме того — под Windows и юниксами про int 13h лучше забыть навсегда.
Мне нужны межсекторные промежутки для флоппика пока под дос. Или под досом лучше тоже забыть про 13h?
Здравствуйте, inquiring, Вы писали:
I>Можно ли при помощи 13-го прерывания и функции 02h (чтение сектора)прочитать межсекторные промежутки? Поделитесь мыслями
ДА можно, но наверное очень сложно, много проще непосредственно работая с контроллером, но все же...
Если честно, плохо уже помню подробности, но идею подскажу
1. надо исправить таблицу BIOS'а описывающую дискету _уже_ находящуюся в дисководе, таким образом чтобы размер сектора был не 512, а больше например 1024
2. затем произвести чтение сектора, до которого вы собираетесь прочитать межсекторный промежуток, в результате в буфере будет нужная вам информация.
А вообще если не секрет для чего вам это надо?
Не все кто уехал, предал Россию.
Re[4]: Межсекторные промежутки
От:
Аноним
Дата:
11.12.04 15:29
Оценка:
Здравствуйте, Andrew.W Worobow, Вы писали:
AWW>Если честно, плохо уже помню подробности, но идею подскажу
AWW> 1. надо исправить таблицу BIOS'а описывающую дискету _уже_ находящуюся в дисководе, таким образом чтобы размер сектора был не 512, а больше например 1024 AWW> 2. затем произвести чтение сектора, до которого вы собираетесь прочитать межсекторный промежуток, в результате в буфере будет нужная вам информация.
Я так делала- ничго не вышло, выдает ошибку при чтении такого сектора, что сектор не найден
AWW>А вообще если не секрет для чего вам это надо?
Не секрет Исключительно в целях обучения, задание такое дали
Здравствуйте, inquiring, Вы писали:
I>Здравствуйте, Andrew.W Worobow, Вы писали:
AWW>>Там все не так просто...
I>Я это уже поняла Вот и хотелось бы понять, где тут собака зарыта
Даже не знаю как вам помочь , есть документация... есть исходные тексты байоуса, ищите , идею я вам дал, или вы хотите готовый код? Если так то это видимо вряд ли, тем более, что это у вас образовательный процесс.
Да и настолько давно это было, что всех подробностей я не помню, а копаться в архиве ради вашей учебной задачки как то совсем лень.
PS: Да код можно купить, если в цене сойдемся.
Не все кто уехал, предал Россию.
Re[8]: Межсекторные промежутки
От:
Аноним
Дата:
11.12.04 21:16
Оценка:
Здравствуйте, Andrew.W Worobow, Вы писали:
AWW>Даже не знаю как вам помочь , есть документация... есть исходные тексты байоуса, ищите , идею я вам дал, или вы хотите готовый код? Если так то это видимо вряд ли, тем более, что это у вас образовательный процесс.
AWW>Да и настолько давно это было, что всех подробностей я не помню, а копаться в архиве ради вашей учебной задачки как то совсем лень.
Все равно спасибо, несмотря на то, что Вы мне не помогли
AWW>PS: Да код можно купить, если в цене сойдемся.
Здравствуйте, inquiring, Вы писали:
I>Мне нужны межсекторные промежутки для флоппика пока под дос. Или под досом лучше тоже забыть про 13h?
I>Заранее благодарна!
Лучше забыть. А еще лучше порыться в литературе 8-12-летней давности, посвященной формированию ключевых дискет для защиты от копирования. Там и форматы команд контроллера найти можно, и даже полное решение вашей задачи. int 13h ничего такого делать не умеет, да и не должно.