Спасибо .
Спасибо .
А как задать адрес начала записи ?NiTr0 писал(а):писать в \\?\Device\Harddisk<номер>
Не проще ли тогда было бы сделать недо-драйвер нефрагментированной ФС? Для этого нужно:b612 писал(а):3. При первом запуске контролёр читает всё подряд пока не найдёт слово и записывает его адрес в свою флэшку
не проще. т.к. бывают фат12,16,32 и размер кластера разный и в корневом каталоге, пара сотен удалённых файлов, среди которых надо искать по имени, что то же самое что сразу по сигнатуре.NiTr0 писал(а):Не проще ли тогда было бы сделать недо-драйвер нефрагментированной ФС? Для этого нужно:b612 писал(а):3. При первом запуске контролёр читает всё подряд пока не найдёт слово и записывает его адрес в свою флэшку
FAT12 на флешкках не бывает. FAT32 - только если явно указать или размер более 2 ГБ.b612 писал(а):не проще. т.к. бывают фат12,16,32
А кого это волнует, какой размер кластера для корневого каталога? Найти начальный кластер файла - и делов-то...b612 писал(а):и размер кластера разный и в корневом каталоге
Не есть проблемой. 1я буква точка - пропускаем 32 байта...b612 писал(а):, пара сотен удалённых файлов, среди которых надо искать по имени
Вычитать, скажем, пару кб (MBR, bootblock, 1й сектор корневого каталога), или вычитать пару сотен кб (31кб до начала раздела, + 2шт фат-таблицы от 64 до 128к, + 16к на корневой каталог из 512 записей - аж за которым начинаются данные) - есть разница? А если нужно 2 файла?b612 писал(а):что то же самое что сразу по сигнатуре.
у меня ровно 200 слов и не примерно, а рабочее устройствоNiTr0 писал(а):В сотню-полторы байт ИМХО собссно процедура поиска по флэшке с FAT16 (вызывающая внешнюю процедуру чтения сектора) вложится легко. Не так уж и много.
А вот по скорости - будет на пару порядков быстрее даже в идеальном для вашего алгоритма случае.
Слов чего?b612 писал(а):у меня ровно 200 слов и не примерно, а рабочее устройство
Нет. В проигрыше. Для полноценного алгоритма опять таки никто не заставляет при каждом обращении вычитывать по новой все. Достаточно запомнить сектор начала файла и размера, либо (для более корректной работы) - запомнить положение записи о файле в корневом каталоге.b612 писал(а):и паузка возникает только при первом включении и то её апсолютно не заметно, а при последующих вызовах чтение начинается не 4 раза, а только 2 так что по скоросости я в выигрыше.
у PICов команда соединена с операндом и занимает это всё 12бит это называеется словом.NiTr0 писал(а):Слов чего?b612 писал(а):у меня ровно 200 слов и не примерно, а рабочее устройство
да ещё если всё это будет после концаNiTr0 писал(а):Кстати, хотел бы я посмотреть, сколько ваш девайс будет стартовать, к примеру, в случае, если машина, записавшая флэшку, заражена вирусом, распространяющимся через файлы автозагрузки
Где-то в теме есть упоминание о пиках? Потому и переспросил.b612 писал(а):у PICов команда соединена с операндом и занимает это всё 12бит это называеется словом.
Не будет. Куча гадости создается в таком случае при первом же обращении к флэшке. Потому - сначала долго парсятся тела вирусов, после - доходит дело и до вавки...b612 писал(а):да ещё если всё это будет после конца
я имел ввиду после конца светаNiTr0 писал(а):Не будет. Куча гадости создается в таком случае при первом же обращении к флэшке. Потому - сначала долго парсятся тела вирусов, после - доходит дело и до вавки...b612 писал(а):да ещё если всё это будет после конца
Это не MBR. Это - бутблок раздела с фат16AI_Disable писал(а):MBR прилагаю]