ZX Power #02
24 мая 1997
  Софт  

Рабочий стол - Как работать с программами: Corrector v2.0.

<b>Рабочий стол</b> - Как работать с программами: Corrector v2.0.
       FISHERMANS SOFTWARE
            presents

********************************
*     -= CORRECTOR v2.0 =-     *
********************************

Useful software
           for your enjoyment...

Written by:
         Roman Yatsenko (FISHER)
         Ukraine, Kharkov
         310111 Saltovskaya str.
         157, flat 172.
         phone:62-80-93

basic loader:Metallica soft

last version:13.03.1997 01:43 pm
________________________________

Внимание!
   Работоспособна  только автор-
ская  версия, за  действия прог-
раммы  после  инородного  вмеша-
тельства  автор  ответственности
не несет.

Аппаратные Требования:
   Для работы программы требует-
ся  Цветной телевизор/монитор  и
желательна стабильная шина  дан-
ных на Вашей машине !

Отличия версии 2.0 от версии 1:
- Редактирование и  автоматичес-
  кое исправление ошибок катало-
  га;
- работа с каталогом, как с мас-
  сивом записей;
- нахождение  Basic  файлов   на
  дисках, с абсолютно убитым ка-
  талогом;
- обработка дисковых ошибок;
- улучшение работы  с курсором;
- ускорение печати и пр.

Условные Обозначения:
 (!) - Внимание!
 (?) - Зачем?  Пояснение исполь-
       зования.
 (s) - Стандарт.Стандарт TR-DOS.
 <<Выражение>> - может быть.

    Общие сведения о файловой
    структуре системы TR-DOS.

  Информация, обьединенная неки-
ми общими параметрами, свойства-
ми,признаками и т.п. записывает-
ся на диск в виде файлов. В сис-
теме  TR-DOS информация о распо-
ложении файлов  на диске записа-
на в Каталоге Диска  (s)  дор.0,
сек.0. Сектора с 0 по  7 исполь-
зуются для хранения информации о
файлах (по 16 байт на файл), что
дает  возможность  хранения  (s)
максимально 128 файлов на диске.
Сектора  с 9 по 15 восновном не-
используются   и зарезервированы
системой.

  Сектор:  Назначение:
 0...7    Каталог диска;
 8        Информационный сектор;
 9...15   Резерв;

Формат Каталога следующий:
  Байты:   Назначение:
 0...7    Имя файла в ASCII;
 8        Тип файла;
 9,10     Начальный адрес;
 11,12    Длина файла;
 13       Длина в секторах;
 14       Номер первого  сектора
          файла;
 15       Номер  первой  дорожки
          файла.
   Если первый  байт имени файла
равен #01,то файл считается уда-
ленным. Если первый  байт  имени
файла равен #00, то это соответ-
ствует концу  каталога. Файлы  в
системе TR-DOS записаны (s) пос-
ледовательно один,за другим (го-
лова к концу) Т.е. самый  первый
файл всегда записан на (s)дор.1,
сек.0,следующий файл будет запи-
сан на дорожке, идущей сразу  за
концом первого файла. Причем ни-
каких "Дырок",  т.е.  расстояний
между  концом одного и   началом
другого файла  (s) быть неможет:

  Пример типичной "Дырки":
 1файл:        дыра  2 файл:
 ▓▓▓▓▓▓▓▓▓▓▓▓■■■■■■■■▓▓▓▓▓▓▓▓▓▓
 начало конец        нач. конец

   Наряду с "Дырками" существует
понятие:  "Пересечение  файлов".
Т.к. для каждого  файла отведено
определенное  количество  секто-
ров, занимаемое им на диске ((s)
максимально 255 секторов),и каж-
дый последующий файл будет запи-
сан после этой группы используе-
мых секторов,то если, некий файл
будет начинаться  в той  области
диска, которая уже занята файла-
ми, то это вызовет ошибочную си-
туацию.Пример это обьяснит более
понятно:

Пусть 1 файл: ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
      2 файл: ▓▓▓▓▓
  Тогда Пересечение Файлов может
быть таким:

 начало       конец
 ▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒▒▒
Файл2 записан в середине файла1;

 начало           конец
 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓
Файл2  записан на  конец файла1,
перекрывая его; и т.п.

  Именно расположение "хвост-го-
лова" дает возможность безболез-
ненно  работать в системе  и  не
портить  диски и нервы. За  этим
изо всех  сил  пытается  следить
сама система. Для этого в 8 сек-
торе 0 дорожки  находится инфор-
мация, гарантирующая необходимые
условия  "голова-хвост".  Каждый
диск  имеет  свой  собственный 8
сектор, в котором приведена сле-
дующая информация:
 Смещение от начала   Назначение
+ #E1 - Первый свободный сектор;
+ #Е2 - Первая свободная дорожка
+ #Е3 - Тип диска:
   #16 -  80 дорож., двухстор.;
   #17 -  40 дорож., двухстор.;
   #18 -  80 дорож., одностор.;
   #19 -  40 дорож., одностор.;
+ #Е4 - Общее количество файлов;
+ #Е5,#Е6 - Кол-во свобод. сект.
+ #Е7 - Код #10;
+ #F4 - Кол-во удаленных файлов;
+ #F5-#FC - Имя диска в ASCII.
   При инсталляции,чтении,записи
и других дисковых операциях сис-
тема  считывает 8 сектор и пере-
считывает его, проверяя  на сво-
бодное пространство,максимальное
количество  файлов  и т.п., т.е.
нельзя записать  файл на диск на
котором нет достаточного свобод-
ного места или количество файлов
на диске уже 128 и т.д.
   Вот почему  необходимо, чтобы
8 сектор содержал только  ту ин-
формацию,   которая   отображает
реальное состояние каталога ((s)
8 сектор полностью  опирается на
каталог (по каталогу диска и пе-
ресчитываются   все  значения  8
сектора)). Должно  быть понятно,
что порча 8 сектора (как и ката-
лога)  может  привести к непред-
сказуемым последствиям. В лучшем
случае  компьютер  зависнет  при
обращении  к  диску (не испортив
файлы).

    -C-O-R-R-E-C-T-O-R- v2.0
         Documentation.

   Главная цель программы - про-
смотр, редактирование  и  запись
изменений в 8 сектора 0 дорожки.

          Управление.

   Управление  курсором осущест-
вляется при помощи клавиш: O, P,
Q,A,Space, SINCLAIR или KEMPSTON
JOYSTICK'ом (который будет опра-
шивается только  на тех машинах,
где он есть).
   Выбор среды вне текущего окна
расценивается, как CANCEL.
   В  начале  работы   программа
тестирует компьютер и результаты
теста отображаются в правом ниж-
нем  углу  экрана  ниже  надписи
COMPUTER:
 CLOCKS   - количество  тактов в
            прерывание  (!)  для
            версии  2.0 число, с
            точностью до 50 так-
            тов;
 EXTENDED - имеется   ли  память
            сверх 48 К;
 KEMPSTON - имеется  ли  возмож-
            ность работы с KEMP-
            STON джойстиком;
 AY_CHIP  - имеется  ли звуковой
            сопроцессор.

         Меню и Функции.

1.MAIN MENU.
   Главное  меню программы  сос-
тоит из следующих пунктов:
 DIRECTORY WORKS - работа  с ка-
                  талогом;
 EXEC CORRECTOR - вызов редакто-
                  ра;
 VIEW CATALOGUE - просмотр ката-
                  лога;
 SAVE CATALOGUE - сохранение ка-
                  талога;
 RESTORE RECORD - восстановление
                  каталога;
 PROGRAM SETUP  - конфигурация;
 HARD SEEK      - поиск    Basic
                  файлов;
 QUIT PROGRAM   - выход.
   Теперь рассмотрим  каждый  из
пунктов MAIN MENU.

      1.1.DIRECTORY WORKS.

   Этот пункт  меню дает возмож-
ность  просматривать, изменять и
записывать измененный каталог на
диск.
   В появившемся  окне можнo вы-
брать дорожку/сектор  с  которых
будет считан каталог.  Если  это
ZERO TRACK,то каталог считывает-
ся со  своего  стандартного мес-
та,т.е с 0-й дорожки 0-го секто-
ра. Если выбран пункт TRK: SEC:,
то Вы сами можете  задать распо-
ложение каталога, указав  на ка-
кой  дорожке/секторе он находит-
ся.
   После чего  вставив диск (IN-
SERT DISK) и выбрав пункт OK, Вы
непосредственно  попадете  в Ре-
дактор Каталога.
   В окне RECORDS TABLE  предос-
тавлена   информация  о  записях
(файлах) каталоге.Для каждой за-
писи приводятся поля:

 filename.e addr len all sec trk

1. filename - имя файла;
2. e   - тип файла;
3. addr- начальный адрес;
4. len - длина файла;
5. all - объем файла в секторах;
6. sec - номер  первого  сектора
         файла;
7. trk - номер   первого   трека
         файла;

 т.е. иформация о том,что это за
файл,какова его длина, начальный
адрес и где он находится на дис-
ке.
   В одно и  то-же  время в окне
показана  информация о трех фай-
лах. Средняя  запись   считается
доступной, т.е.  ее можно  изме-
нять, выбрав  курсором (напротив
нее стоит Стрелка-Указатель).

  (!) Все символы с кодами мень-
ше 32 и больше 128 заменяются на
знак "?". Первый символ стертого
файла (#01)  заменяется на  знак
"deleted".Конец каталога (файл с
первым символом #00) маркируется
знаком  "deleted"  и  помечается
пунктиром слева от файла.
   Также в окне отображается но-
мер текущей записи  (RECORD:001)
в диапазоне 1..128.
   Пункты меню:
PREVIOUS RECORD - предыдущая за-
   пись;
NEXT RECORD - следующая  запись;
LEAVE - выйти из DIRECTORY WORKS
TOP - перейти на 1 запись (в на-
   чало);
BOT - перейти на  128  запись (в
   конец);
FILL - заполнение  0  начиная от
   текущей записи [включительно]
   и до конца каталога. (?) Очи-
   щение  каталога  от  ненужной
   дряни;
RMV  - текущая  запись  делается
   стертой, т.е. в первый символ
   файла  записывается  значение
   #01 (s);
END - текущая запись  становится
   концом каталога,т.е. в первый
   символ   файла   записывается
   значение #00 (s);
DEL  - стирает  текущую  запись,
   сдвигая  остальные вверх. (?)
   Очень полезная  функция в си-
   туациях с файлами  0  длинны,
   т.к. они занимают место толь-
   ко в каталоге, а не на диске;
INS - вставляет в каталог  новую
   запись, раздвигая старые. (?)
   Добавление  записей  в  любое
   место каталога.

(!)  DIRECTORY  WORKS   работает
только! с каталогом  диска, и не
вносит  никаких   изменений  в 8
сектор!

(!) При  печати  номера  сектора
используются две цифры,т.е. чис-
ло 99 и число 199  будут напеча-
таны одинаково - "99".

(!) При выходе Окно SAVE CHANGES
(Запись   Изменений)  появляется
только в том  случае, если  были
произведены  какие-либо  измене-
ния в каталоге.

       1.2.EXEC CORRECTOR.

   Самый главный пункт CORRECTO-
R'a, т.к. дает  Вам  возможность
самому отредактировать 8 сектор.
   В появившемся  окне  выберите
CANCEL для отказа или OK,если Вы
хотите  приступить к 'осмотру' 8
сектора.После этого будет прочи-
тан только этот сектор. На экра-
не появится окно, в верхней час-
ти которого:
TITLE - наименовние пункта;
OLD - старое значение -/-;
NEW - новое значение -/-  (Может
      быть изменено Вами).
   Под  TITLE  Вы можете  видеть
пункты, содержащие  информацию о
диске:
FIRST FREE SECTOR - первый  сво-
   бодный  сектор, (s)  значение
   изменяется от 0 до 15;
FIRST FREE TRACK  -  первая сво-
   бодная дорожка,значение изме-
   няется от 0 до 165;
DISK TYPE - тип диска (s):
  80Т\DS - 80 дорожек 2 стороны;
  40Т\DS - 40 дорожек 2 стороны;
  80Т\SS - 80 дорожек 1 сторона;
  40Т\SS - 40 дорожек 1 сторона;
ALIEN - тип диска  не определен;
TOTAL FILES  -  общее количество
   файлов,(s) значение изменяет-
   ся от 0 до 128;
FREE SECTORS - общее  количество
   свободных секторов на  диске,
   значение изменяется  от  0 до
   2640;
SEPARATOR #10 -  (s) разделитель
   #10,если он есть, то YES,ина-
   че - NO. По этому разделителю
   TR-DOS определяет 'свои' дис-
   ки (т.е.если подсунуть MS-DOS
   диск, то загрузки не произой-
   дет  (зависание в лучшем слу-
   чае));
DELETED FILES - количество  уда-
   ленных файлов (s) значение
   изменяется от 0 до 128;
DISK NAME  -  (s)  имя  диска  в
   ASCII.

   Под OLD  Вы  можете наблюдать
текущие  значения всех этих пун-
ктов. Теперь Вы сами можете оце-
нить все значения,и если захоти-
те что-либо изменить, то выбери-
те необходимый  пункт и  введите
новое значение в графе NEW. COR-
RECTOR  сделает все  необходимые
проверки сам.

   Чтобы записать все  изменения
и (или) выйти из редактора выбе-
рите пункт LEAVE THIS ITEM. Если
Вы хотите записать изменения, то
в  появившемся   окне   выберите
пункт YES.

(!) Окно SAVE CHANGES  появляет-
ся только в том случае, если  Вы
изменили какое-либо значение.Ес-
ли Вы только  просмотрели 8 сек-
тор,то CORRECTOR не будет произ-
водить  записи на диск, а просто
выйдет в MAIN MENU.

   Пункты меню:
LIKE NEW DISK  -  автоматическая
   установка всех  параметров  8
   сектора  в исходное состояние
   системы TR-DOS,т.е. такое же,
   как  и после  форматирования.
   (?) Быстрая  настройка  диска
   на новую работу;
DISK AFTER ERRORS - автоматичес-
   кая установка диска в аварий-
   ное состояние,т.е. такое сос-
   тояние,при котором на диск (в
   каталог) ничего  нельзя запи-
   сать  (имеется  ввиду  запись
   файлов);
AUTOCORRECT ERRORS - moщная фун-
   кция, которая  сама автомати-
   чески исправляет ошибки ката-
   лога и по исправленному ката-
   логу   заново  правильно  вы-
   страивает 8 сектор! (?)- Глу-
   пый вопрос.Рассмотрим подроб-
   нее эту функцию:

   Сразу   после   выбора  этого
пункта меню будет прочитан ката-
лог диска  и начнется сканирова-
ние.Процесс сканирования отобра-
жается в специальном окне.
   В основном цикле функция счи-
тает общее  количество файлов на
диске (сканирование  ведется  до
конца  каталога  -  значения #00
первого символа файла),правильно
считает количество  стертых фай-
лов. По последнему файлу катало-
га  определяется  свободная  об-
ласть  (вычисляется первая своб.
дорожка, первый своб. сектор,ко-
личество свободных секторов).
   Сканируются   также  имена  и
расширения всех файлов каталога.
И  если  встречается запрещенный
символ:  31<X<128, то Вам предо-
ставляется  возможность   самому
отредактирорать  испорченную за-
пись. (?) - В  случае, если  имя
файла.тип   представляет   собой
жуткое месиво не ASCII символов.
   В появившемся окне Вы видите:
1. Прочитанное имя и тип файла;
2. Имя  и  тип файла, на которое
можно  изменить испорченное зна-
чение.
   Пункты меню:
DONE - Старое исп.значение заме-
    няется на новое  значение из
    пункта 2.
ABORT - завершение всего и выход
    в Редактор 8-го сектора.
IGNORE - игнорировать  испорчен-
    ную запись  и  оставить все,
    как было.
   Имя и тип файла  можно  изме-
нять выбрав пункт 2.

   Функция   AUTOCORRECT  ERRORS
проверяет файловую структуру  на
пересечения,  наличие   "дырок";
проверяются стандартные диапазо-
ны изменения дорожек 0..165,сек-
торов (s) 0..15,файлы проверяют-
ся на нулевую длинну причем,при-
вязка ведется к текущему  файлу.
Если что-либо  из параметров за-
дано  неверно,то появляется гро-
мадное окно, в котором можно по-
стараться исправить досадное не-
доразумение. В окне отображается
информация  о расположении  двух
"конфликтующих" файлов:
PREVIOUS - предыдущий файл (имя.
   тип);
SEC:00 TRK:000 LEN:00 - его нач.
   сектор, дорожка и длинна;
NEXT FILE RECOMMEND  -  рекомен-
   дуемое начало следующего фай-
   ла (т.е. текущего),получаемое
   из  пересчета TRK.SEC + LEN =
   TRKnew.SECnew, т.е.  значение
   которое  действительно  полу-
   чится, если TRK.SEC сложить с
   LEN.При изменении SEC,TRK,LEN
   пересчитывается  и  NEXT FILE
   RECOMMEND;
CURRENT -текущий файл (имя.тип);
NEXT  FILE  STARТS  -  начальный
   сектор,   дорожка  следующего
   файла (Именно те значения,ко-
   торые записаны в каталоге);
RECOMMENDATION SEC:0 TRK:0 - ре-
   коменуемое  начало следующего
   файла, просчитанное.
Цифры, чуть  левее  области CUR-
RENT FILE - номер  текущего фай-
   ла,причем,если этот файл пер-
   вый  в  каталоге, то  область
   PREVIOUS FILE  незаполнена, а
   пункт   NEXT  FILE  RECOMMEND
   имеет значение: SEC:00,TRK:01
   т.е. (s) самая первая свобод-
   ная дорожка.Если же файл пос-
   ледний  в  каталоге, то будет
   выведена соответствующая над-
   пись   (LAST)  над  счетчиком
   файлов.

   Пункты меню:
DONE  - записать  все  сделанные
   изменения в каталог;
ABORT - прервать все  и  выйти в
   Редактор 8-го сектора;
IGNORE -игнорировать ошибку (!);
REFERENCE - следующий файл будет
   начинаться с SEC.TRK, указан-
   ных в CURRENT RECOMMENDATION;
LIST ERRORS  -  обьяснить какого
   типа  ошибки были  обнаружены
   при сканировании:
* SECTOR OVER THAN 15  -  сектор
   текущего  файла  больше допу-
   щенного значения 15;
* TRACK OVER THAN  165 - дорожка
   текущего  файла превысила до-
   пустимое значение 165;
* HOLE EXISTS - обнаружена "дыр-
   ка",недозволительное расстоя-
   ние  между концом предыдущего
   и началом текущего файла;
* FILE CROSSES -текущий файл пе-
   ресекается с предыдущим;
* ZERO LEN FILE  -  текущий файл
   нулевой длинны;
LEN COUNT - oчень  полезная фун-
   кция, вычисляющая  расстояние
   в секторах между предыдущим и
   текущим файлом по их trk/sec,
   т.е. из trk/sec текущего фай-
   ла "вычитается" trk/sec  пре-
   дыдущего   файла и получаемая
   длинна (в секторах) заносится
   в   поле  длинны  предыдущего
   файла, таким образом произво-
   дя правильное вычисление рас-
   стояния между Началом  Преды-
   дущего и   Началом   Текущего
   файла. Если НП=НТ (файл нуле-
   вой длинны), то в этом случае
   при выборе LEN COUNT  вылетит
   сообщение  ZERO  LEN  FILE  и
   функция ничего считать не бу-
   дет. Функция также  откажется
   вычислять   расстояние  между
   файлами, если они пересекают-
   ся.

(!) Запомните,что функция вычис-
ляет расстояние  в секторах меж-
ду  Предыдущим и Текущим  файлом
(а не текущим и следующим). Т.е.
сделать  LEN COUNT  для  первого
файла в каталоге неполучится.

(!) При  печати  номера  сектора
используются две цифры,т.е. чис-
ло 99 и число 199  будут напеча-
таны одинаково - "99".

(!) Для "убитых каталогов", если
последние файлы  каталога, начи-
наются  с последних (>159) доро-
жек, а их длины  велики, (ситуа-
ция, прямо таки, не  совсем нор-
мальная), то может случиться пе-
реполнение при пересчете количе-
ства свободных секторов.

       1.3.VIEW DIRECTORY.

   Этот пункт MAIN MENU предназ-
начен  для  просмотра   каталога
диска.
   В появившемся  окне  VIEW DI-
RECTORY Вы можете выбрать,откуда
будет производиться чтение ката-
лога:
TARGET -> FILE - чтение  катало-
   га  будет  производиться   из
   файла, имя которого Вы введе-
   те (!) Нежелательным является
   чтение каталога диска из фай-
   ла, в котором его нет;
TARGET -> TRACK - чтение катало-
   га будет  производиться с за-
   данного сектора,дорожки.

   Если чтение прошло успешно,то
на экране Вы увидите большое ок-
но, содержащее информацию о фай-
лах на диске - каталог диска.Ес-
ли файл  не найден  или  каталог
Вашего  диска пуст, то Вы верне-
тесь в MAIN MENU. Информация вы-
водится на экран виде (1.1.)

      1.4.SAVE DIRECTORY.

   В этом пункте меню Вы  имеете
возможность  запомнить каталог в
файле  или записать  каталог  на
определенную дорожку.Выбрав один
из пунктов записи каталога,вста-
вьте  диск  с каталогом, который
Вам нужно сохранить (SOURCE),по-
том диск на который будет произ-
ведена запись архивного каталога
(DESTINATION).Запоминание ведет-
ся  путем чтения 0 сектора 0 до-
рожки (каталог диска) и записи в
файл/на дорожку.

      1.5.RESTORE RECORD.

   Пункт  позволяет восстановить
каталог из файла или  с  опреде-
ленной дорожки. Действие  пункта
аналогично  действию SAVE DIREC-
TORY с точностью наоборот.
   Восстановление ведется  путем
чтения из заданного файла/дорож-
ки и  записи в 0 сектор 0 дорож-
ки.Если файл с каталогом не най-
ден, то функция  выйдет  в  MAIN
MENU.

      1.6.CORRECTOR SETUP.

   В этом  пункте  можно устано-
вить конфигурацию CORRECTOR'а:
AUTO SAVE - включена / выключена
   авто-запись  изменений в COR-
   RECTOR'е  (окно  SAVE CHANGES
   не появляется,изменения запи-
   сываются  автоматически). (!)
   Будьте очень осторожны с этой
   штукой;
DEC INPUT - ввод значений  в де-
   сятичной системе;
HEX INPUT -  -/-  в шестнадцати-
   ричной системе;
2544 MODE,2640 MODE - Выбор мак-
   симального количества свобод-
   ных секторов на диске.

        1.7.QUIT PROGRAM.

   Выход из CORRECTOR'a  в среду
TR-DOS. В поздних версиях возмо-
жен выход в совместные  приложе-
ния.

         1.8.HARD SEEK.

   Очень полезная функция,позво-
ляющая в первом  приближении на-
ходить  BASIC  файлы, составлять
каталог  и  записывать  его   на
диск.  (?) Если  каталог   диска
убился насовсем,а Вам нужно вос-
становить  ваши BASIC'и. Принцип
работы функции:
   Кратко строение  BASIC  файла
(со взгляда возможности его вос-
становления):
   Каждая строка начинается с 2х
байтового номера. BASIC файл за-
канчивается символами: #80, #AA,
далее следует номер строки авто-
старта. Функция HARD SEEK скани-
рует  диск  в  поиске последова-
тельностей байт #80, #AA, n, m и
если последовательности найдены,
то данные о них сводятся  в таб-
лицу, по  которой  выстраивается
каталог! (Но не 8 сектор!).
             
   После  выбора   HARD  SEEK  в
главном меню, на экране появится
окно, где   можно  выбрать какая
часть диска  будет сканироваться
в поисках BASIC файлов:
WHOLE DISK - весь диск;
TRK,SEC,LEN  -  задание  области
   вручную,точно указав откуда и
   сколько секторов обыскать.

(!) Желательно!  задавать значе-
ние сектора  SEC  равным 0, т.к.
все дальнейшие  расчеты  ведутся
относительно него.

   Вставьте  диск, и  наблюдайте
процесс  сканирования  диска.  В
нижнем окне  отображается  коли-
чество  найденых  BASIC  файлов.
( Вернее найденных концов  BASIC
файлов. Функция в первом проходе
ищет концы  BASIC файлов). После
того, как  процесс  сканирования
закончится и функция  нашла что-
то на диске, то появиться окно -
DO YOU WANT TO VIEW RESULTS.Выб-
рав пункт OK в этом окне вы уви-
дите результаты первого прохода.

(!) HARD SEEK  записывает заново
созданный каталог, пишет его по-
верх предыдущего,т.е. старый ка-
талог,после записи функцией HARD
SEEK теряется!

   Итак,после первого прохода мы
получили в каталоге полное! чис-
ло BASIC файлов на диске. Значе-
ния    стартовых  адресов, длины
файлов в байтах и секторах равны
0, т.к. эти  параметры  файлов в
первом  проходе  определить   не
удается. В каталоге мы  получили
информацию о  концах  BASIC фай-
лов.  Далее, чтобы  восстановить
BASIC  файлы есть один проверен-
ный метод:загрузить какой-нибудь
DISK DOCTOR  и в  нем  исходя из
данных о концах BASIC файлов ис-
кать начала этих файлов, т.е. 2х
байтовый номер начальной строки,
потом записать номер дор/сек,где
был  найден этот номер в каталог
в  параметр  начальная  дорожка/
сектор файла,и вычислить длину в
байтах (от начальной  строки  до
конца), и в секторах (от началь-
ной дор/сек до конечной). В этом
случае Вы восстановите почти все
параметры потеряного  BASIC фай-
ла, кроме параметра длинны BASIC
файла (LEN). Как известно Start-
полная длина BASIC файла  вместе
с областью переменнюх (т.е. рас-
стояние в байтах от начала файла
до значений конца #80,#AA,n,m).A
LEN - длинна BASIC файла без об-
ласти  переменных. Но, в принци-
пе,можно восстановить и этот па-
раметр, просто переписав  его из
поля START BASIC файла, т.к. это
на работе/копировании BASIC фай-
ла никак! не отразится.

(!) Этот метод (с некоторыми из-
менениями)  применим  и  ко всем
другим типам файлов.

   В окне COMPLETE SEEK выберите
пункт OK для продолжения восста-
новления  BASIC  файлов  (второй
проход). Второй проход осуществ-
ляется по  алгоритму  описанному
выше. В цикле обрабатываются за-
писи о концах  BASIC файлов, со-
ставленные в первом проходе. Для
каждого найденного в первом про-
ходе   файла   появляется   окно
LOOKING FOR в котором:
AUTOSTART - строка автостарта;
NEW VALUE - новое значение стро-
   ки. В этом  окне  задается та
   самая  строка, которая  будет
   искаться, как начальная стро-
   ка BASIC файла. Строка  авто-
   старта  не всегда совпадает с
   начальной строкой, поэтому Вы
   сами   можете   задать  какую
   строку  искать в  пункте  NEW
   VALUE.

(!) Строки  в  AUTOSTART  и  NEW
VALUE  заданы в   обратном  виде
(старший,младший), т.е. так, как
это задано в формате BASIC стро-
ки.

   В случае  нахождения  похожей
последовательности байт на экра-
не  появляется  окно:  BEGINNING
FOUND, а далее смещение от нача-
ла буфера дорожки; сектор, в ко-
тором найдено значение; десятич-
ный  дамп области в которой была
найдена последовательность, при-
чем сама  последовательность на-
ходится строго по центру (2 бай-
та); ниже печатается  ASCII дамп
(последовательность по центру).

(!) Т.к. пока нет  никакой  вож-
можности  компьютерной   технике
"вставить   нормального ума", то
Вам прийдется  самому  визуально
разбираться - похоже ли  то, что
было найдено, на начальную стро-
ку или нет.

   По окончании всей  работы Вам
опять предложат  просмотреть по-
лученные результаты  и  записать
их на диск.

(!) Функция HARD SEEK  позволяет
восстановить только  BASIC  час-
ти,если же файл представляет со-
бой  monoloader  (а  большенство
программ сейчас таковыми  и  яв-
ляются), то  будет восстановлена
только его  BASIC часть, это ни-
как  не отразится на его работо-
способности, но  переписать  его
без  предварительного  пересчета
полной длины  не  удасться, т.к.
будет скопировано ровно  столько
секторов, сколько  занимает  его
BASIC часть. В этом  случае могу
предложить Вам функцию LEN COUNT
в Редакторе 8 сектора.

   Вот в принципе и все по  COR-
RECTOR'у. Надеюсь  он  будет Вам
полезен.

             * * *

   При написании CORRECTOR'а ис-
пользовались:
- TASM 4.0 (c) Rst7; Aig; Xld;
- STS 3.3 (c) STALKER;

И напоследок немного приветов:
   Стольный град системных прог-
раммистов:
   Kharkov:
   Кого знаю в лицо:
FIX (здоровая и нездоровая в не-
   которых местах критика ;-) );
NMI (DOOM 4EVER!);
NAVIGATOR (АРИЯ RULES!);
JESUS (ХГТУРЭ RULES!);
METALLICA (Спасибо! за идею вос-
   становления BASIC файлов);
COBRA (Спасибо!  за идею автома-
   тического восстановления длин
   файлов);
DR.SQUIZER (ZX POWER RULES!);
MIRAGE (MUSIC RULES!);
DEN (MORTAL RULES!);
S.SYSTEM (Nice PICTURES!);
   Кого незнаю:
JOKER (Новье RULES!);
STALKER (без слов, один RULES!);
ALEM (ALASM навернутая штука, но
   если б дисковые  операции по-
   быстрее, а то при includе та-
   кая тоска...);
RST 7 (TASM 4.12, соответственно
   RULES!);
Max Iwamoto,  J.Advent, JV-Soft,
VVV-Soft,   В.М.Г.,   Dismaster,
Dreamer...
   Иные миры:
KSA,   Cooper Feet,  ZX-Masters,
XL-Design,   Oldman, Magic Soft,
Lorgos, Step,Progress,Rush, VAV,
Delirium Group,Flash Inc,Digital
Reality, Nicodim, Hazard Dreams,
Omega HG, Slash, Kamikaze,  Aig,
Tankard, Hammer, Inferno, Titus,
Virtual Brothers, Centronix, Si-
licon Brains, Greedy Guys, Soft-
land, Roversoft, Golden Disk,Pe-
restroika, Outland, Umc, We, and
You!
        Оце i все хлопцi.

 Thank U 4 using our production.
________________________________




Другие статьи номера:

Железо - Микропроцессоры Zilog: Z80, 80,Z8000,Z80000.

Железо - Модем: мифы и реальность.

Железо - Об AY-mouse (вопросы и ответы).

Железо - Последовательный порт -VCOM- для Спектрума.

Железо - Расширенный экран.

Игромания - Описание игры Ghost Busters 2.

Игромания - Описание игры Satan 2.

Игромания - Описание игры Zombi.

Интервью - VIC (X-Project) - как я начинал?

Интервью - Интервью с Joker'ом (Mafia).

К нашим читателям - "Время перемен"

Ликбез - Борьба контроллеров или о том, как я ломал 800К дискеты.

Ликбез - Восстановление программ (О причинах восстановления, характе- ристика мультифейсного взлома, типы мультифейсных взломов, восстановление методом поиска старого загрузчика).

Ликбез - Структура MS-DOS диска.

Обозрение - Gateway выпускает остатки Amiga.

Обозрение - O компьютере "Silicon Graphics" (продолжение).

От авторов - описание оболочки, приветствия и благодарности, адреса и контакты.

Отдохнем - 60 американских анекдотов.

Отдохнем - Бессознанка в армии.

Отдохнем - Кремлевский трабл.

Отдохнем - Протокол заседания по выборам главврача в психбольнице N15.

Первый блин - Описание программы RAM-TEST v1.0.

Первый блин - Путь к известности...

Перспектива - Анонс STS v6.0.

Перспектива - Новелла к игре WORDS.

Перспектива - О игре 3D Killer (демо версия - Doommania).

Перспектива - Предисловие к игре СТАЛКЕР.

Рабочий стол - Как работать с программами: Cache File Manager 512k.

Рабочий стол - Как работать с программами: Corrector v2.0.

Рабочий стол - Как работать с программами: Melon Terminal.

Рабочий стол - Как работать с программами: Symed v1.1

Рабочий стол - Как работать с программами: ZX-Turbo Disassembler.

Разное - Занимательная Вирусология.

Разное - Новости от Progress, Dream Team, Rush, Phantasy, Copper Feet и т.д.

Разное - О ZX сетях и не только...

Разное - Письмоносец - обзор писем читателей.

Реклама - Реклама и объявления.

Фантастика - Винни Пух - 10 лет спустя.

Фантастика - Г.Гарисон (продолжение, часть 4-6).

Фантастика - Рассказ Е.Нестеренко "Корона и кольцо" (часть 1)

Фантастика - Фантастический рассказ Театр.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
The_hacker_club - Принцип работы АОН
Мозаика - Взломан отгрузочный блок игры "Страна Мифов". О программах "на весь диск" : Last Battle, Пираты. O регестрации пользователей в телекоммуникац. сети ZXNet.
Печатается с продолж. - Сборник маразмов советских программистов.
Железо - Интерфейсы принтеров.
FidoNET - Сети, ФИДО, BBS и ZX-Spectrum.

В этот день...   29 апреля