Мало знать, надо и применять.
Мало хотеть, надо и делать.
—И.В.Гете
Редактор дисков Disk Fixer (автор: Земцов П.А., Новосибирск, НГУ) предназначен для непосредственной («ручной») работы с внутренней структурой диска. В первую очередь он является средством восстановления «испорченных» дискет (из этого, конечно же, не следует, что редактор не умеет «работать» с «нормальными» дискетами).
Редактор может работать с односторонними и двусторонними дискетами, в любой конфигурации дисководов (включая виртуальный диск), на любой машине типа MSX или MSX-2 с видеопроцессором, совместимым с MSX-2.
Редактор предоставляет средства для работы как с самой мелкой единицей информации на диске (сектор), так и с их логической организацией более высокого уровня (кластеры, каталог, FAT, Boot–сектор) и еще более высокого (файлы).
Редактор требует от пользователя некоторых знаний по структуре дискеты, без этого работа с Disk Fixer может оказаться опасной для Вашего диска!
Информация в редакторе организована в буфера.
Буфер — это объект, точнее, его внешняя оболочка (некий прозрачный контейнер). Буфер может быть пустым, может заполняться информацией, может увеличиваться и уменьшаться в зависимости от количества этой информации. Максимальное количество буферов равно 10.
Каждый буфер имеет номер. Номер — это индивидуальный его идентификатор, он дается ему при создании и никогда не меняется. В момент создания буфер пуст. Посередине окна с пустым буфером видна надпись «Empty buffer», и больше там ничего нет. Никакого редактирования над пустым буфером не выполняется.
Редактор может находиться в двух режимах: в обычном и в режиме редактирования. Стандартным режимом является обычный режим. Курсор в нем имеет вид инверсного прямоугольника, выделяющего текущий элемент рабочей области буфера.
Переход в режим редактирования осуществляется нажатием клавиши Ввод ⏎, выход из режима редактирования осуществляется нажатием клавиши ESC.
В обычном режиме редактировать нельзя, так как работа с FAT, каталогом и т.д. требует от пользователя величайшей осторожности и любые случайные изменения здесь нежелательны.
В любом месте редактора можно получить подсказку по доступным в этот момент возможностям, нажав клавишу ?.
Перечислим управляющие символы в режиме редактора.
Клавиша(и) | Действие |
---|---|
ESC | Прекращение любой команды |
ЕSC+ (F6÷F10) | Покинуть режим |
F1 | Чтение предыдущего блока |
F2 | Чтение следующего блока |
Клавиши управления курсором | Перемещение курсора по экрану |
HOME | Перемещение курсора к началу страницы |
CLS | Перемещение курсора к началу буфера |
INS | Вставка нулевого байта |
DEL | Уничтожение байта |
SELECT | Переход к режиму 40/80 символов |
J | Перемещение страницы вверх |
Q | Перемещение страницы вниз |
CTRL+V | Префикс специального символа |
CTRL+T | Ввод текста |
Приведем теперь команды Disk Fixer… (в угловых скобках указывается клавиша, по которой происходит вызов команды)
Команда | Содержание | |
---|---|---|
[L] | Переход к байту | |
[I]dent | Идентификатор системы | |
[E]xit | Выход из программы Disk Fixer | |
[F]AT | Подсистема FAT FIXER: | |
[R]ead | чтение FAT | |
[W]rite | запись FAT | |
[М]оvе | копирование FAT | |
[C]ompare | сравнение FAT | |
[A]nalysis | анализ FAT | |
«TAB» | запись признака конца файла ($$$) | |
[D]irectory | Подсистема DIRECTORY FIXER: | |
[R]ead | чтение Справочника | |
[W]rite | запись Справочника | |
[K]ill | уничтожить файл | |
[U]p | обмен строки с верхней | |
[D]own | обмен строки с нижней | |
[S]earch | поиск первого вхождения файла в каталог | |
[N]ext | поиск очередного вхождения файла в каталог | |
[C]lear | очистка каталога | |
«TAB» | уничтожение имени файла в Справочнике | |
[R]ead | Чтение блока | |
[W]rite | Запись блока | |
В командах R и W можно, используя клавиши «Стрелка вверх» и «Стрелка вниз», вводить номер в единицах, не совпадающих с масштабом | ||
[T]ype | Вывод информации в кодах ASCII | |
dri[V]e | Установка имени дисковода. Доступные дисководы изображаются в DSK:XXXXX Текущий дисковод изображается в NOW:X |
|
[B]uffer | Выбор буфера: B <Цифра 0÷9> Система имеет 10 буферов объемом 1Кбайт. В основном режиме имеется индикатор: Buffers: <номера непустых буферов> Now : <номер текущего буфера> |
|
[S]cale | Устанавливает масштаб редактирования (при этом буфер чистится): [B]lock (128 байт), [S]ector (512 байт), [C]luster (1024 байт). Заметим, что S = 2×C +10 ; B = 4×S |
|
radi[X] | Устанавливает систему счисления для номеров блоков, секторов, кластеров, входов FAT и байтов: X,H — шестнадцатеричная; D — десятичная. |
|
[M]ode | Установка вида отображения информации: М <цифра 1÷4> 1 — смешанный: 8 (16); 2 — числовой : 16(32); 3 — текстовый: 16(32); 4 — плотный : 32(64). |