Редактор дисков Disk Fixer Версия 3.1 FIXER3.COM П.А. Земцов, г. Новосибирск, 1989 0. ПРЕАМБУЛА. 1. Редактор Disk Fixer, а также настоящий документ, являются объектами распространения лишь при условии, что не будут полностью или частично скопированы, переданы по сетям связи и переведены на любые другие носители, любыми средствами и методами, иначе как в целях личного использования и предохранения от потери при порче носителя, а также не будут проданы, сданы в аренду либо подарены кому-либо без предварительного согласования с автором либо представляющей его фирмой, с которой у автора имеется соответствующий договор. 2. Законные владельцы Disk Fixer имеют право на свободное получение версий с исправленными ошибками, если таковые будут обнаружены, а также на льготное получение очередных версий Disk Fixer, если таковые будут написаны. 1. ВВЕДЕНИЕ 1. Редактор дисков Disk Fixer предназначен для ручной работы с внутренней структурой диска, которая бывает обычно необходимой, если операционная система дала сбой и что-то не туда записала, либо если сбой дал сам диск. Таким образом, редактор - в первую очередь средство восстановления испорченных дисков. 2. Из этого не следует, что редактор не умеет работать с нормальными дисками, более того, он с ними работеат даже лучше. 3. Редактор может работать с односторонними и двусторонними дисками, в любой конфигурации дисководов (включая виртуальный диск), на любой машине типа MSX или MSX2. 4. Редактор предоставляет средства для работы как с самой мелкой единицей информации на диске (сектор), так и с их логической организацией более высокого уровня (кластеры, каталог, FAT, Boot-сектор) и еще более высокого (файлы). 5. Редактор требует от пользующегося им некоторых знаний по структуре диска. Так, полезно знать, что диск разбит на сектора, и что длина одного сектора 512 байт, а также иметь общее представление о том, что такое кластер и что такое FAT и зачем он нужен, какова его внутренняя структура, что хранится в каталоге, где и как. Без этой начальной квалификации работа с Disk Fixer может оказаться опасной для Вашего диска, поэтому, если Ваши познания в этой области слабы, Вам настоятельноз рекомендуется заглянуть в книгу "MSX Technical Data Book" (части C, D) и другие популярные издания. 6. Редактор является прямым потомком редакторов Disk Fixer 1.0 и 2.0, унаследовал от них основные возможности и многие элементы интерфейса. В то же время новая версия выгодно отличается многооконным пользовательским интерфейсом, а также возможностью работы с нестандартными дисками, в том числе записанными на IBM PC и Atari (без поддержки подоглавлений). 2. ОКНА, МЕНЮ И ИМИТАТОР МЫШИ 1. Основной единицей пользовательского интерфейма является окно. Окно - это прямоугольник на экране, через который мы обозреваем какой-то объект. В обычных системах такое окно тоже есть и совпадает со всем экраном. Здесь же окон на экране может быть несколько, и они могут друг друга заслонять (что с неизбежностью происходит, если их достаточно много), от чего, разумеется, объект, наблюдаемый сквозь это окно, не страдает. Окно можно увеличивать и уменьшать, а также размещать на экране произвольным образом, при этом если два окна попадают на одно и то же место, то ведут себя так же, как и документы на столе: одно из них (верхнее), заслоняет другое. Поверхность стола - это та часть экрана, на которую не попало никакое окно. Из эстетических соображений она заполнена радующим глаз фоном. Можно "спрятать" окно, вообще убрать его с экрана (аналогия - упрятывание документа в стол). Наконец, можно окно "закрыть" - это значит уничтожить окно вместе с объектом, с которым оно связано. Оно тоже убирается с экрана, но впоследствии его можно открыть для другого объекта. 2. Окно отделяется от внешнего мира рамкой, в которой есть два выделенных инверсом образования, называемые именами. Верхнее имя - это идентификатор окна, отличающий его от других окон, а нижнее - обычно указывает координаты текущего места в окне и в объекте. 3. Одно из окон называется активным окном - это то, где мы сейчас "находимся" и которое (точнее, объект которого) редактирууем. Оно отличается от всех прочих двумя признаками: оно имеет двойную рамку и курсор (инверсное образование внутри окна). Кроме того, оно всегда является самым верхним - его не заслоняет ничто. 4. При изменении количества окон на экране их размеры и позиции изменяются по некоторому правилу. Именно, для каждого количества окон на экране имеется стандартное их расположение на экране: если одно окно, то это окно почти на весь экран, если два - то два по пол-экрана, в левой и правой его половине, и т.д. Так, если было два окна, и одно из них спрятали, оставшееся станет на весь экран. Если окна были вручную перемещены на экране, то их новое расположение станет стандартным: если когда-нибудь вновь количество окон станет таким же, они расположатся так же. 5. Основным средством пользовательского интерфейма является меню. Меню эти имеют иерархическую структуру: выбрав альтернативу меню, мы можем попасть в другое меню - так пока не дойдем до конца - до того меню, альтернативы которого делают некоторые конкретные действия. Для некоторых особо характерных путей в этом дереве есть сокращенные обозначения. 6. Самое главное меню постоянно находится на экране, на самой верхней строчке его. Все остальные меню появляются при необходимости (когда выбрана соответствующая альтернатива верхнего меню), заключены в рамку и имеют вертикальную структуру. Главное меню (и его подменю) зависят от того, какой объект мы редактируем и потому изменяются при переходе из окна в окно. 7. С меню надо уметь делать три вещи: войти в меню, выбрать там альтернативу и выйти из меню. Вход в меню осуществляется по клавише ). Если альтернатива меню - это подменю, то обычно нажатия этих клавиш не требуется: подменю появляется само. Такие меню называются выпрыгивающими (в отличие от вытягиваемых, которые появляются лишь после выбора альтернативы). В этом редакторе почти все меню выпрыгивающие. Более того, почти все меню верхнего уровня имеют подменю, поэтому при нахождении в меню работают все четыре стрелки: стрелками вверх/вниз выбираем внутри подменю, стрелки влево- вправо выбирают между подменю. 8. Если желание что-то выбирать пропало, нажатие клавиши или , или приведет к выходу из меню. Выбор альтернативы нижнего уровня также приводит к выходу из меню (после того, как действия, предусмотренные этой альтернативой, будут выполнены). При этом все подменю исчезнут, и курсор погаснет. 9. Главное меню является одновременно и подсказкой. Для всех альтернатив меню существуют сокращенные варианты их вызова - обычно это первая буква альтернативы либо какая-то другая буква - она обычно большая. Достаточно без всякого входа в меню нажать клавишу с этой буквой, и соответствующая альтернатива будет выполнена (либо будет осуществлен вход в подменю, соответствующее этой альтернативе). Если Вы уже находитесь в меню нижнего уровня (из которого не растет подменю), нажатие первой большой буквы альтернативы тоже приведет к ее выбору. Цифры здесь приравнены к большим буквам. Исключение составляют лишь те альтернативы меню, на которых сразу запрашивается ввоз чего-то (например, номера сектора): находясь на них, к другим альтернативам можно перейти только стрелочками. 10. Имитатор мыши - это третий вид интерфейса, примененный в редакторе (первые два - это просто нажатие клавиш, и меню). В недалеком будущем (в следующих версиях редактора) будет возможность использование и настоящей мыши, а пока есть лишь ее имитация с клавиатуры как универсального (не привязанного ни к какому окну) курсора, имеющего вид косой стрелки. В отличие от большинства других мышиных систем, курсор этот не присутствует постоянно на экране, а появляется при включении мыши, причем появляется там, где стоит основной курсор (чтобы не искать его по всему экрану), и исчезает при отказе от мыши. Мышь включается нажатием клавиши и остается включенной, пока эта клавиша нажата. Стоит отпустить ее, и мышь исчезнет (такое решение было принято не без колебаний; было много возражений, самыми вескими из которых были доводы пользователей о невозможности работы с мышью одной рукой, тогда как другую хотелось бы использовать для других дел; но операции, выполняемые с помощью мыши, кратковременны: основная работа все-таки связана не с мышью, а с редактированием, и поэтому нужно уметь быстро мышь выключать). Мышь можно перемещать по экрану стрелками, и нажатием клавиш пробела, перевода строки и , стрелками добравшись до этой альтернативы, или же просто нажав "B"), мы получим подменю с именами всех десяти буферов, например: 0:Sector A:0123 1:Sector B:0000 2:Sector 3:Free buffer 4:Parameters of A: 5:Free buffer ..... Выбрав альтернативу (стрелками либо набрав ее номер), мы заставим редактор: a) если этот буфер находится на экране - перейти в него (сделаеть его активным); б) если этот буфер не находится на экране, но вообще есть - разместить его на экране и см. п. а). в) если это альтернатива Free Buffer - создадть новый буфер, предварительно запросив, какого типа буфер создавать. Для этого выдается подменю с запросом. Оно имеет вид: for Sector for Cluster for FAT for Directory for Parameters Для выбора можно набрать первую букву типа буфера (S,C и т.д.) После этого редактор поступает как указано в п. б) 2. Для создания нового буфера есть сокращенный вариант - клавиша N, которая сразу входит в подменю запроса типа буфера для первого же найденного свободного буфера. 3. Альтернатива windOw предназначена для убирания окна с экрана. Подменю имеет две альтернативы: Hide и Close. Hide - в нашей терминологии спрятать окно, а Close - закрыть его. После Close буфер пропадает и в следующий раз мы увидим его в меню как Free buffer. Активным становится другое окно - самое верхнее из оставшихся. 4. Если же было убрано последнее окно с экрана, то мы попадаем в особое состояние: верхнее меню содержит лишь две альтернативы: Buffer и Quit, и можно лишь перейти в какой-то буфер, создать новый либо покинуть Disk Fixer. 5. Кроме этого, для перехода из буфера в буфер и создания новых буферов есть и другие средства, доступные в любом окне. - - переход в следующий буфер на экране (по циклу) - - переход в буфер сектора, если он есть; создание, если нет; - - то же, буфер кластера; - - то же, буфер каталога; - - то же, буфер FAT; -

- то же, буфер параметров. Если нажать , уже находясь в буфере сектора, то активным станет следующий буфер сектора (по циклу). 4. ОСНОВНЫЕ ПРИНЦИПЫ И СРЕДСТВА РЕДАКТИРОВАНИЯ 1. Здесь будут описаны принципы и средства редактирования, общие для всех видов буферов. Как уже было замечено, пустой буфер редактировать нельзя. Пусть он заполнен. 2. Редактор бывает в двух режимах: в обычном и в режиме редактирования. Стандартным режимом является обычный режим. Курсор в нем имеет вид инверсного прямоугольника, выделяющего текущий элемент (число, имя файла, символ и т.д.) Переход в режим редактирования осуществляется по клавише перевода строки, а обратно - по клавише . В обычном режиме ничего редактировать нельзя. Подход этот (наличие двух режимов) является нестандартным для редактирующих систем для MSX. Обычно применяется другой подход, когда есть лишь один режим, курсор в нем стоит на одном символе, и можно редактировать сразу. Вот несколько причин, по которым сделано два режима: а) так было в предыдущих версиях Disk Fixer; б) диск ответственная вещь, особенно такие его части как FAT, каталог и т.д., и не хотелось бы их случайно изменять; в) в обычном режиме почти все клавиши становятся доступны для различных команд (входов в меню и специальных команд). Реально почти все из них и используются. 3. Во всех видах буферов в обычном режиме действуют следующие клавиши: - <перевод строки> - вход в режим редактирования; - стрелки - перемещения курсора - , - листание страницы вверх/вниз - - переход в верх окна - - при переходе в другой буфер по - при включении мыши по - при нажатии В этом режиме также действуют клавиши перемещения курсора: стрелки, , , . А сам курсор имеет вид маленькой планки под символом (как обычно выглядит курсор вставки в MSX-BASIC), и стоит он на первом символе текущего элемента. Ввод нового значения осуществляется нажатием клавиш с цифрами и буквами от A до F (в поле шестнадцатеричного числа), либо любой неконтрольной клавиши в поле обычного символа. Ввод числа можно закончить либо нажатием перевода строки, либо набрав столько цифр, сколько число содержит. Курсор при этом перейдет на следующий элемент. 5. БУФЕР СЕКТОРА 1. Заполненный буфер сектора может быть в четырех режимах отображения информации: смешанном, цифровом и двух текстовых: а) смешанный режим (hex + text) - слева байты в шестнадцатеричном виде, справа - они же в текстовом; в обычном режиме не один, а два курсора - на соответствующих байтах в обеих половинах; б) плотный цифровой режим (dense hex) - байты в шестнадцатеричном виде без пробелов между ними; в окно влезает вдвое больше информации, чем в режиме hex + text; в) текстовый режим (text) - байты в текстовом виде, причем контрольные символы выводятся в виде точек; г) плотный текстовый - то же, без пробелов между символами. Самый плотный режим - в окно размером пол-экрана помещается сектор целиком. 2. Редактирование производится описанным выше способом, есть лишь одно добавление: в смешанном режиме нажатие в режиме редактирования переводит курсор на текстовую часть окна (вправо) и назад; в текстовых режимах (и в смешанном на текстовой половине) комбинация - префикс контрольного символа: после нее можно нажать любой символ, включая контрольный, и он запишется в буфер. 3. Верхнее меню сектора имеет вид: Read Write driVe Buffer windOw Mode Locate Erase Quit Альтернативы Buffer и windOw уже описаны. Альтернатива Quit - покидание редактора, она одинакова во всех видах буферов. Альтернатива driVe бкдет описана в разделе, посвященном дисководам, остальные альтернативы описаны здесь. 4. Read - считать сектор. Это подменю, имеющее вид: Sector .... Next Sector Prior Sector First of Находясь на альтернативе Sector, можно сразу набирать номер сектора. В начале там высвечен номер текущего сектора, если он есть. Нажатие перевода строки вызовет чтение этого сектора. Если набрать новый номер сектора и нажать перевод строки, будет считан новый сектор (предварительно редактор проверит правильность номера этого сектора). Таким образом, чтобы считать сектор 123, достаточно в окне сектора набрать 123 <перевод строки> Next Sector - будет считан следующий сектор с диска Prior Sector - будет считан предыдущий сектор с диска. Предыдущий и следующий сектора пожно считать и другим способом - нажатием яункциональных клавиш: F1 - чтение предыдущего сектора F2 - чтение сдедующего сектора F3 - чтение предыдущего сектора данного файла, если есть FAT F4 - чтение следующего сектора данного файла. First of - чтение первого сектора какой-то структуры на диске. Это тоже подменю, имеющее вид: Cluster ... FAT #1 FAT #2 Directory Boot Sector STS Sector Cluster - считать первый сектор кластера, номер которого сразу запрашивается; при входе там находится номер кластера, которому принадлежит текущий сектор, если он принадлежит какому-то кластеру. FAT #n - считать первый сектор FAT с этим номером (на обычных дисках это сектор 1 для FAT #1 и сектор 4 для FAT #2. Directory - считать первый сектор каталога диска (на обычных дисках это сектор 7). Boot Sector - считать сектор 0. STS Sector - это сектор 59F, который используется широко распространенной версией COMMAND.COM фирмы STS для записи даты, функциональных клавиш и т.д. 5. Write - записать сектор. Здесь никаких вариантов, кроме как записать непосредственно по номеру, нет. 6. Mode - сменить режим отображения. Доступна лишь при заполненном буфере. Выдает подменю следующего вида: hex + text dense hex text dense text Выбор режима в этом подменю сразу отображается в окне. 7. Locate - переместить курсор на байт в секторе с заданным номером. Номер тут же запрашивается. 8. Erase - стереть текущее содержимое буфера и заполнить буфер чем-то. Предлагаются следующие варианты: заполнить нулями, заполнить байтам E5 (байты стандартной празметки диска), заполнить произвольным байтом (запросив его), и заполнить стандартным Boot-сектором. Последняя возможность особенно полезна для борьбы с компьютерными вирусами, размещающимися в этом секторе (а такие есть). 9. В нижнем имени окна изображается текущая позиция курсора внутри буфера в виде Byte XXX. 10. В заголовке окна (непосредственно под именем) отображается, чему принадлежит данный сектор: в виде: Boot Sector Sector #x of Directory Sector #x of FAT #n Sector #x of Cluster NNNN STS sector Если есть возможность определить и позицию кластера, она выводится в круглых скобках после его номера. 5. БУФЕР КЛАСТЕРА 1. Кластер - это несколько подряд идущих секторов (на наших дисках два). Именно из кластеров состоит файл; кластер - основное понятие при работе с FAT и с каталогом. Буфер кластера и предназначен для их хранения. 2. Все возможности редактирования сектора применимы и к кластеру, вплоть до того, что совпадают их меню. Некоторые отличия ниже перечислены. 3. Возможности Read и Write в меню имеют в подменю альтернативы: Cluster ... With Sector ... В альтернативе Cluster набирается номер кластера, который надо считать/записать, а в альтернативе With Sector - номер любого сектора, принадлежащего тому кластеру, с которым хотим работать. Кроме того, в Read имеются альтернативы Prior и Next, действие их аналогично таким же возможностям в секторе. Функциональные клавиши F1 - F4 здесь также работают. 4. Возможность Erase не содержит альтернативы Boot Sector. 5. Нижнее имя окна имеет вид: [Sector XXXX (y)] Byte ZZZ, где ZZZ - позиция курсора в буфере, XXXX - абсолютный номер редактируемого в данный момент сектора, y - его относительный номер в кластере. 6. В заголовке окна (под именем) изображается позиция кластера, если ее можно определить. именно, если есть FAT, то выводится либо Free (кластер не лежит ни в каком файле), либо [XXX] at #YYY, где XXX - стартовый кластер файла, а YYY - номер кластера в файле. Если же есть каталог, и данный стартовый кластер встречается в в нем, то вместо [XXX] выводится имя файла. 6. БУФЕР КАТАЛОГА. 1. Меню каталога имеет следующие альтернативы: Read Write driVe Buffer windOw Quit 2. Read и Write соответственно читают и пишут каталог. Подменю не имеют. 3. Строка в окне каталога имеет следующий вид: iii:NNNNNNNN.EEE CCC LLLLLLLL dd.mm.yy hh:mm:ss D Здесь: iii - номер входа в каталоге; NNNNNNNN - имя файла (если файл удален, вместо первого символа выводится знак "?"; EEE - расширение файла; CCC - номер первого кластера; LLLLLLLL - длина файла в шестнадцатеричном виде dd.mm.yy - дата создания файла hh:mm:ss - время создания файла D - [Deleted], если файл удален 4. Редактируетмя каталог обычным образом. 5. Имя буфера имеет вид Directory of D:, где D: - дисковод. Последний посещенный каталог данного дисковода считается активным - именно по нему выдаются имена файлов в заголовках секторов и кластеров. 7. БУФЕР FAT. 1. Меню буфера FAT имеет вид: Read Write Buffer windOw Locate erase Quit 2. Read - считать FAT, предварительно спросив, который FAT считывать (их обычно на диске два). 3. Write - записать FAT в обе копии FAT на диске. 4. Locate - установить курсор на вход с данным номером. Следует иметь в виду, что входы нумеруются от 2 и до максимального номера кластера. 5. erase - заполнить FAT нулями. Поскольку никакого подменю здесь нет, эта возможность доступна только из меню (чтобы случайно не стереть FAT), что и отражается отсутствием больших букв здесь. 6. Если кластер свободен, в FAT в соответствующем входе 0. Если он - часть файла, то там записан номер следующего кластера, либо признак конца файла, здесь он отображается символами $$$. Если кластер плохой, он отображается !!! либо EEE, в зависимости от того, кто отмечал его плохим (большинство систем отмечает его EEE, хотя стандартным является FF1@, которое и выдается как !!!. 7. Кроме обычных средств перемещения по FAT, есть клавиши < и >, которые перемещают назад/вперед в пределах одного файла. 8. Есть следующие отличия режима редактирования от стандартного: - записывает !!!; - записывает $$$. - после набора значения, курсор оказывается не на следующем входе, а на том, номер которого равен этому значению (так удобнее). 9. Последний посещенный FAT данного дисковода становится активным: по нему вычисляются позиции кластеров и работают F3 и F4. 8. ДИСКОВОДЫ И ОШИБКИ ВВОДА-ВЫВОДА 1. Меню любого буфера имеет возможность driVe. По ней мы попадаем в подменю выбора активного дисковода. Активный дисковод отобразается в правом нижнем углу экрана в виде Current Drive is D:. 2. Весь обмен с диском производится по активному дисководу. 3. Если данный дисковод является виртуальным (на одном дисководе моделируются два), выдается сообщение: Insert diskette for drive B: and press any key 4. В случае ошибки ввода/вывода, появляется окно с сообщением о виде ошибки и месте, где она возникла, а также меню с различными вариантами, например: Drive not ready reading Sector A:000F Sector #1 of Cluster 002 (COMMAND.COM at #000) What to do about it? Abort Retry Ignore Здесь Retry - повторить попытку обмена, Ignore - игнорировать ее; Abort - прекратить обмен, остановившись на том состоянии, которое достигнуто. Например, если ошибка произошла при чтении первого сектора каталога, то каталог остается таким, каким он был до нажатия , есле же при чтении второго сектора - это будет эквивалентно чтению первого сектора, а потом нажатию Ignore до самого конца каталога. Если же эта ошибка произошла при записи, что что успело записаться, то и остается. 9. БУФЕР ПАРАМЕТРОВ ДИСКА. 1. Этот буфер используется обычно лишь при работе с нестандартными дисками. Здесь собрана вся информация, которая хранится в Boot-секторе в виде: 0200 - Bytes per Sector (длина сектора в байтах) 02 - Sectors per Cluster (длина кластера в секторах) 0001 - Unused Sectors (неиспользуемые сектора) 02 - FATs (число FATов) 0070 - Directory Entries (количество входов в каталоге) 05A0 - Sectors per Disk (количество секторов на диске) F9 - Media ID (дескриптор дисковода) 0003 - Sectors per FAT (количество секторов на FAT) 0009 - Sectors per Track (количество секторов на треке) 0002 - Sides (количество сторон на диске) 0000 - Hidden Sectors (никто не знает, что это такое) Здесь приведены значения параметров для двустороннего диска; для одностороннего диска Sectors per Disk = 2D0, Media ID = F8 и Sides = 1. Каждый дисковод имеет такую таблицу, по стандарту считается, что все диски двусторонние, и все таблицы в начале имеют такой вид, как приведенная. Однако параметры можно изменить, либо считать с диска. Последний посещенный блок параметров становится активным для данного дисковода (даже если из него вышли по Close). 2. Как используются эти параметры? Некоторые - никак: например, размер сектора всегда 200, и на треке всегда 9 секторов; другие диски Disk Fixer читать не умеет. Эти параметры нельзя и менять. 3. Считается, что диск имеет следующую структуру: - 0 сектор - Boot SEctor - далее Unused Sectors - 1 неиспользуемых секторов - далее находится FAT #1, он занимает Sectors per FAT секторов; - если FATs = 2, то далее FAT #2, он занимает столько же; - далее каталог; он занимает Directory Entries/16 секторов. - далее область данных - находятся кластера, начиная со второго. Нулевого и первого кластеров вообще нет. Каждый из них занимает Sectors per Cluster секторов. Область данных простирается до конца диска. 4. Соответственно, при изменении некоторых параметров другие буфера могут стать бессмысленными: так, если изменяется начальное положение либо длина каталога, то каталог этот не имеет более смысла. Поэтому при выходе из буфера параметров, если были исправлены какие-то параметры, от которых могут зависеть другие буфера, то буфера эти (только те, которые связаны с тем же дисководом), опустошаютсмя. 5. Альтернативы меню: Read - считать параметры из Boot-сектора активного дисковода; Write - записать их туда. Make - получить стандартные параметры разных типов дисков. 6. Media ID может быть лишь F8 либо F9. Если ввести другой Media ID, то при обмене с диском будет выдана ошибка "BAD Media ID". Если все же очень нужно прочитать диск с другим Media ID, то следует вручную установить Media ID равным F8 для одностороннего диска и F9 для двустороннего. 10. ВХОД В РЕДАКТОР И ВЫХОД ИЗ НЕГО. 1. Файл с редактором называется FIXER3.COM, что отражает номер версии редактора - 3.1. После вызова этого файла, на экране появляется приветствие системы и меню выбора начального расположения окон: предлагается на выбор либо три окна (для кластера, для FAT и каталога), либо одно для каталога, либо одно для сектора. Последний вариант удобен для посекторного редактирования диска, первый - для восстановления затертой файловой структуры (например, при потере FATа). Разумеется, это лишь начальное расположение окон: потом можно установить любое. 2. В каждом буфере в меню есть возможность Quit - по ней осуществляется выход из редактора, с предварительным перезапросом, чтобы не выйти случайно. 11. ПОДСКАЗКИ. 1. В любом месте редактора, кроме меню, можно получить подсказку по доступным в этот момент возможностям, нажав клавишу "?". 2. При включенной мыши нажатие "?" вызывает вывод подсказки по работе с мышью. 12. СООБЩЕНИЯ ОБ ОШИБКАХ Кроме уже упоминавшейся ошибки обмена, редактор выдает следующие сообщения: 1. Invalid cluster number: should be in xxxx..yyyy - неправильно введен номер кластера, указывается интервал, в котором он должен быть. 2. Invalid sector number: should be in xxxx..yyyy - то же самое с сектором. 3. This sector is not in data area - попытка считать кластер, содержащий сектор, который лежит за пределами области данных. 4. First cluster of file и Last cluster of file - выход за пределя файла по F3 и F4 либо <, >. 5. Free cluster - попытка сделать F3 или F4, когда кластер не лежит ни в каком файле. 6. First/Last Cluster/Sector - попытка считать предыдущий или следующий сектор или кластер, уже находясь на первом или последнем. 7. Sorry, value should be in xxxx..yyyy - при редактировании блока параметров введено недопустимое значение параметра. 8. Sorry, can't do because of lack of memory - оперативной памяти машины не хватает для требуемого действия. 13. ЗАКЛЮЧЕНИЕ. 1. О всех неполадках в работе и замеченных ошибках, а также мнения по качеству настоящего документа просьба сообщать по адресу: 630090, пр. ак. Лаврентьева 6, ВЦ СО АН СССР, к. 261, или по телефону 8 (3832) 35-09-74 (домашний) или 8 (3832) 35-54-70 (рабочий), спросить Пашу. 2. Желаю Вам приятно провести время, работая в системе Disk Fixer и восстановить много-много дисков.