svdir.com и проблемы связанные с ее использованием -------------------------------------------------- svdir.com - предназначен для резервирования каталога. так как гибель каталога самая неприятная вещь для дискеты, во многих системах каталог резервируют дважды. в cp/m это не предусмотрено и тут приходится при- думывать выход. так как при работе с каждым файлом идет обращение к каталогу, а при записи каждого файла каталог многократно переписывается то, какие бы дорогие дискеты вы не применяли в итоге дискета все-равно сдохнет и почти всегда в месте каталога. если сдохнет файл, то вы, нас- ладившись ставшей уже для вас привычной надписью: "bad sector", скопи- руете его с резервной дискеты или считаете путем многократных попыток чтения в разных нгмд, восстановите power-м или disk doctor-ом. если же сдохнет каталог - то все, привет семье: это означает для вас гибель всех файлов на данной дискете. самое обидное при этом, что сами-то фай- лы целы и вы даже можете их просмотреть в дисковой утилите, power-е, doctor-е или doke, загружать трэками в озу и собирать по отдельным кусочкам (если файл разбросан по разным "группам" в разных частях дискеты, то это оценит только тот, кто хоть раз собирал так 300 килобай- товый исходник - результат месячного труда). для полного восстановления файла достаточно знать только информацию о размещении его экстентов по дискете, т.е знать записи в каталоге о этом файле. если это известно, то даже если на месте каталога дырка гвоздем, на восстановление файла надо 2 минуты: загрузить disk utility, изменить запись в boot-секторе дискеты о номере дорожки, где хранится каталог (удобно 2-ю или 3-ю дорожку, т.к при 80-дорожечном нгмд они зарезервированы) и скопировать 32 байта (или 64 если файл более 16к), относящиеся к вашему файлу из старого каталога в новый, например на 2-й дорожке. если после этого выйти из cp/m и прос- мотреть каталог "дохлой" дискеты, то мы увидим, что диск теперь содержит всего один, но нужный вам файл, который можно скопировать любым способом. зная данные из каталога так-же вы можете восстановить любой физически це- лый файл. воспользоваться вышеприведенным советом вы можете, или если в каталоге цела запись о вашем файле или если вы позаботились заранее с по- мощью power-а записать 4-ю дорожку (где при 80-ти дорожечном нгмд распо- лагается каталог дискеты). иногда удается восстановить каталог, если убе- дившись, что запись относящаяся к нужному файлу цела с помощью power или du считать (естественно при этом будет сообщение, что есть ошибка чтения), а затем записать назад дохлые сектора каталога (30 секунд работы). если это поможет, то дискета будет теперь читаться, хотя некоторые файлы или попросту исчезнут или будут содержать совсем не то, что до ремонта (ведь вы изменили записи в каталог о том, какие участки диска принадлежат данно- му файлу) поэтому не удивляйтесь, если в исходном тексте вы увидите куски другого или даже в текстовый файл может попасть не текст, а код com-файла). однако если вам вашен лишь один файл - текст вашей программы, то такой 30-ти секундный ремонт оправдан. как видите если у вас есть данные из ка- талога, то вы можете позволить вашему ребенку (сыну или дочке) даже "исты- кать гвоздиком дискетку" при условии, что он не повредит тот файл, который вам особенно дорог. вы всегда при этом сможете скопировать ваши данные. иногда удавалось восстановить файл даже при полностью "дохлом" каталоге (при физической, а не програмной ошибке, ибо если делается новая запись на дорожку дискеты то уже старой информации на ней нет), когда каталог полностью не читался (т.е нельзя даже различить имена отдельных файлов) но было известно, что раньше этот диск был исправен и записи по каталогу не было. дорожка дискеты многократно считывалась в файл, а затем данные обрабатывались спец.программой сдвига битов. в результате удалось узнать информацию о размещении на диске нужного файла и "собрать" его из кусков. несмотря на некоторую трудоемкость этой работы, восстановить данные из каталога значительно полезнее, чем просматривать всю дискету в поисках кусков текста относящихся к вашему текстовому файлу, не говоря уже о том, что восстановить таким способом файл-программу вообще нельзя (если конеч- но вы случайно не запомнили хотя бы несколько первых байтов кода програм- мы и все "группы" программы записаны подряд, а не в разных участках диска). итак, все вышеизложенное позволяет прийти к выводу о полезности резер- вирования данных каталога. для этого еще в 1991 г. были разработаны две програмки: svdir.com и rddir.com. программа svdir делает 3 резервных ко- пии каталога: 2 в файлы и одну копию записывает на 3-дорожку дискеты (ко- личество копий каталога в файлах можно задать ключом). программа rddir восстанавливает каталог из сохраненных данных. все програмки рассчитаны только для 80-ти дорожечных нгмд при формате 2 стороны и двойной плотно- сти. опыт применения программы rddir "чайниками" оказался трагичным и поэтому эта программа дается только по спец.просьбе ("не чайник" в сос- тоянии набрать 1 команду в power-е для восстановления каталога). в заключение следует сказать, что надежность работы дисководов "teac" или хотя-бы их "гдр-аналогов" - "роботронов" во много раз превосходит надежность всех советских дисководов. кроме того срок службы "teac" в 5 раз больше (после 8-ми лет службы "teac" работает лучше, чем новый нгмд мс5311, не говоря уже о полу-дохлых 5305 и 6321 ереванского завода. при применении нормальных дискет вы будете видеть надпись "bad sector", to- только когда забудете снять при записи на диск наклейку защиты от записи. несколько повысить надежность записи позволяет введение в контроллер "корвета" (только очень тщеславные люди могут называть разработкой заме- ну в контроллере одних имс на другие, как это стало модным на "орионе") трэк-компенсации (мпсс, n3,1986, 1 доп.имс). кроме того в качестве об- разца мы использовали "корвет" на печ.плате версии мгу сентябрь 1987 (существует около 5 разных версий его печ.плат, поэтому версия у них на- писана прямо на платах "корвета"). однако уже в версии платы "корвета" ноябрь 1988 добавлено стробирование данных чтения, также как это сделано в синклеровском beta-диске. на "орионе" это впервые сделал в мае 1991 г. в.сугоняко и утверждал, что это дало выигрыш в качестве чтения. как по- казали опыты а.кузнецова летом 1991 - выигрыш почти не заметен. поэтому мы не видели смысла разводить новый негатив печ.платы кнгмд. в мае 1992 одновременно "орион-сервис" и в.сугоняко стали продавать печ.платы кнгмд доработанные стробированием данных чтения. вы можете доработать вашу плату введя трэккомпенсацию и стробирование данных. однако существенно улучшить надежность чтения можно лишь введя фапч, как это сделано в "синклере-профи" (здесь кнгмд лучше, чем у atm-turbo, тоже с фапч). впрочем это важно для советских нгмд с плохой механикой - все-равно са- мый лучший контроллер - это хороший дисковод "teac". подумайте "teac" стоит 33 доллара, роботрон - 31, а советское дерьмо 25. я вас уверяю, что это именно тот случай, когда скупой платит дважды. выбирайте - изучать методику восстановления файлов и страдать, или заплатить подо- роже и не иметь проблем. в качестве примера могу сказать, что когда у меня был отечественный нгмд, мне показалось бы глупым не делать дубля программы, с дисководом "teac" я уже более года не делаю дублей и ... еще ни разу не поплатился за это. еще несколько практических советов. cp/m при своей работе постоянно считывает каталог в озу и по счастью при работе корветовского bdos опять его записывает на диск ... в конце файлов, если остаются свободные секто- ра в группе. поэтому если вирус или очередная безграмотная версия cp/m мастер-бриджа "грохнула" вам каталог, не спешите отчаиваться и форматиро- вать дискету. если на дискете есть хоть одна копия "каталожной" записи о вашем файле - вы полностью восстановите вашу программу (! даже программу, не текст - с текстом проще, его можно найти просматривая диск). исполь- зуя выше указанную особенность попробуйте поискать такую "каталожную" за- пись на диске. я обычно это делаю с помощью простой и удобной програмки du.com (disk utility). установив текущим 4-ю дорожку (t4;s1) выполните команду поиска имени вашего файла (=name.ext). имя и расширение надо указывать полностью (т.е имя 8 символов - если имя меньше 8 символов - дополнить пробелами). если такое имя будет найдено, т.е будет найдена копия участка каталога диска с записью о вашем файле - то спасение ва- шего файла - дело 1 минуты. командой "d" просмотрите эту запись и запом- ните номера групп, входящиих в ваш файл (если есть 2-й экстент и его группы также). далее любой понравившейся вам программой работы с диском, запишите эти группы в файл (или в несколько файлов, если ваш файл был "фрагментирован" - при этом не перепутайте порядок этих кусков програм- мы, слепляя их затем "в кучку"). в "powere" для этого используйте коман- ды readgr/save. и в заключение еще маленький совет владельцам ленинград- ских плат кнгмд "ленинград-90". можно их улучшить, введя стробирование данных чтения (см. beta-disk или кнгмд "орион-сервиса"). при этом "аг3" заменяется 2-мя триггерами. это целесообразно для high-density или при совсем "дерьмовом" нгмд. но почти тот же результат дает простое включе- ние на входе "аг3" - двух последовательно включенных вентилей 1533тл2 (это триггеры шмидта) - особенно это дает выигрыш если "аг3" были 155 серии. выбрасывать "аг3", даже если вы поставили формирователь данных чтения на 2-х триггерах (как это сделано в кнгмд "орион-сервис") - не- целесообразно. при использовании в качестве сигнала "start" выборки дешифратора - на некоторых программах дисковод издает звуки типа - "у-уу-уу-уу-...", постоянно вновь запуская мотор, что неприятно. при наличии "аг3" в формирователе сигнала "start", с констанотой на 5-10 секунд этого нет. но тем, не менее, т.к некоторые программы "орион- сервиса" сознательно борются с кнгмд, имеющим бит "старт" в регистре управления, полезно переключить вход "аг3" на 23/28 ноги бис "вг93" (отрезав от "тм9"). при этом сохраняется время включениия мотора на 5-10 секунд после каждого обращениия и совместимость с такими "под- лыми программами". для ускорения дисковых операций полезно ввести переключаемый такт "вг93" - один коммутатор (напр: кп2), управляемый сигалом "wstb" (gate). при записи такт д.быть по прежнему 1 мгц, а при чтении - 2 (стробировать, как у "профи" совсем не обязательно). при этом головка будет перемещаться вдвое быстрее - за 3 мсек (но учтите, что старые нгмд типа 5305 - не могут этого, только 5311-50). pps: когда вы поставите нгмд 3,5" или 5,25" high-density, то не за- будьте удалить из вашего autoexec-файла нашу древнюю програмку svdir - она вам больше не понадобится. и последний чисто практический со- вет. на рынках сейчас полно дерьмовых фирменных дисководов - китайс- ких, тайваньских, корейских, филипинских и даже ново-зеландских. есть также и американские... наколенной сборки. это в основном дис- ководы 1,2 мб (720к уже не делают - кому надо рэтро идет в музей). это подделки под фирму - часто эти нгмд имеют наклейки известных фирм (ну конечно "teac" даже не подделывают - это бы сразу броса- лось в глаза) - chinon, mitsumi, panasonic ... не верьте наклейкам - послушайте как они скрипят и лязгают. настоящие нгмд (не поддел- ки) легко отличить по отлитому прямо в раме названию фирмы. поддел- ки этого не имеют. в любом случае имеет смысл достать из кармана лишние 10 долларов и взять "teac"... обычно дисководы японского производства лучше европейских... а отечественными можно забивать гвозди, хотя если нгмд сдохнет - то наш вы еще можете починить... кстати из high density-нгмд только "teac" можно будет использовать с обычным кнгмд - если правильно поставить перемычки - он замедляет скорость вращения с 360 об/мин до 300 (как на 720). для других нгмд на 1,2 мб требуется несложная доработка контроллера и такт в ком- пьютере не менее 3 мгц (или наличие пдп). чистяков владимир, санкт-петербург, сентябрь 1992