Рубрика IS-DOS - пользователям No 5 music by DNK _________________________________________ Здравствуйте, уважаемые читатели! Тема нашего сегодняшнего разговора не совсем обычна. Это вызвано, прежде всего, тем, что на нашем не очень-то раз- нообразном рынке периферийных устройств для Speccy появилась новинка, а именно - ПРОГРАМНО-АППАРАТНЫЙ КОМПЛЕКС ПОДДЕРЖКИ НЖМД С ИНТЕРФЕЙСОМ IDE ДЛЯ ZX SPECTRUM В СРЕДЕ IS-DOS другими словами - контроллер IDE винчес- тера, разработанный совместно специалис- тами фирм Iskra Soft и Nemo. Подключение винчестера к Speccy уже с давнего времени интересовало многих пользователей. Еще бы, возможность работы с дисковыми устройствами поистине фантас- тических размеров, более высокая скорость обмена в сочетании с возможностями файло- вой системы IS-DOS - это действительно впечатляет! Учитывая большой интерес пользователей к этой теме сегодня мы пуб- ликуем статью Елисеева В. А. "Работа с винчестером в среде IS-DOS." Надеемся, что она будет интересна многим читателям и сможет помочь тем, кто решит оснастить свой компьютер подобным устройством. Итак, Елисеев В. А. Работа с винчестером в среде IS-DOS 1. Немного истории. Первые эксперименты в этой области были предприняты еще в 1992 году, сразу после создания системы IS-DOS. Как только слухи о создании системы распространились среди пользователей, инженер-системотех- ник Николай Тырсин встретился с руко- водством фирмы и предложил свою разработ- ку - контроллер винчестера MFM. До недавнего времени эта разработка, почти без изменений, являлась единствен- ной реализацией этой темы. Около двух лет контроллер Тырсина работал в офисе фирмы, поражая посетителей своими возможностями и размерами. Более того, при помощи кол- лег из далекого города Челябинска удалось даже наладить к концу 1994 - началу 1995 года серийное производство печатных плат и выпустить набор "сделай сам", с успехом продававшийся фирмой в 1995 году. В процессе продажи наборов выясни- лось, что многие пользователи не рискуют взяться за самостоятельную сборку и на- ладку такого устройства, а производствен- ные мощности фирмы Iskra Soft не позволя- ют наладить серийный выпуск готовых изде- лий. Кроме того постоянно возникали значительные сложности с приобретением как дефицитных деталей, так и самих вин- честеров устаревшей конструкции. Короче говоря, настал момент заду- маться о создании нового контроллера. Ос- новные требования, предъявляемые пользо- вателями - надежность, простота схемы, отсутствие дефицитных деталей, а также постепенное удешевление IDE винчестеров малого размера - окончательно решили воп- рос в пользу интерфейса IDE. Тогда-то и вспомнили о второй разра- ботке, сделанной Николаем для собственно- го домашнего компьютера в 1994 году. К сожалению, важная часть технической доку- ментации к тому времени была утеряна. Совместными усилиями Николая Тырсина и Вячеслава Скутина, более известного синклеристам под псевдонимом "Капитан Ne- mo" схема была восстановлена, отлажена на макете и запущена в серию в мае-июне 1996 года. Тогда же системный программист фирмы Iskra Soft Алексей Леонтьев разработал комплекс программной поддержки нового контроллера, а именно - переработал драй- вер и написал программу для настройки драйвера и разметки диска. Одновременно в систему IS-DOS были внесены изменения, повысившие надежность работы с каталогами большого размера - условие весьма акту- альное для жесткого диска. Описание этого комплекса и основных приемов работы с ним и является основной целью данной статьи. 2. Начало работы, установка контроллера. Контроллер IDE, в настоящее время се- рийно выпускаемый фирмами Nemo и Iskra Soft, комплектуется системной дискетой IS-DOS, на которой, помимо минимально не- обходимого набора системных файлов и ути- лит, содержится дополнительный каталог HDD, в котором размещаются драйвер ide+.blk, программа настройки idetune.com и два bat-файла, запускающие процесс настройки. Контроллер расчитан на непосредствен- ное подключение к системному разъему компъютера KAY 256, однако возможно его подключение и к другим моделям ZX-совмес- тимых ПК. Аппаратная часть контроллера подробно рассматривается в паспорте само- го контроллера, поэтому здесь мы о ней говорить не будем. Позволю себе только напомнить, что стандартный 40-проводной кабель винчестера подключается к разъему в верхней части контроллера, а светодиод служит для индикаци обращения к жесткому диску. После того, как Вы установили контроллер, подключили НЖМД и включили питание, двигатель винчестера запускается и начинается автоматический тест, работу которого можно определить на слух по ха- рактерному постукиванию механизма. Если этого не произойдет, а также если стук механизма будет слишком громким или про- должительным - проверьте еще раз пра- вильность подключения контроллера, поляр- ность и напряжение питания на разъеме винчестера и сам винчестер на предмет его работоспособности. Если же Ваш компьютер с честью выдер- жал первое испытание и хаотичное постуки- вание головок сменилось жизнеутверждающим жужжанием, смело загружайте систему с прилагаемой к контроллеру дискеты и пере- ходите к самой интересной и увлекательной части работы - настройке драйвера и раз- биению диска на логические устройства. 3. Настройка драйвера и разбиение диска. Для чего нужно настраивать драйвер винчестера? Дело в том, что, как Вы на- верное догадываетесь, НЖМД различных мо- делей отличаются друг от друга специфи- ческими параметрами, такими как коли- чество головок чтения/записи, количество треков (дорожек), и количество секторов на дорожку. Эти параметры Вы можете узнать из паспорта на винчестер, иногда из надписи на его корпусе, или из какого-нибудь справочника. В крайнем случае Вы можете попросить кого-нибудь из знакомых пользо- вателей IBM PC определить эти значения при помощи опции Autodetect. Запишите или запомните эти значения, они Вам скоро по- надобятся. Следующее, что Вам необходимо будет сделать - это решить вопрос с разбиением вашего винчестера. Сделать это необходимо по двум причинам: во-первых, система IS-DOS поддерживает устройства размером не более 16 Мбайт; во-вторых, работать с очень большими дисками неудобно, так как это ведет к чрезмерному разрастанию дере- ва подкаталогов и замедляет доступ к фай- лам. Также необходимо учитывать среднюю длину файлов (чем больше файлы, тем больше может быть устройство) и общий об- ъем НЖМД. Оптимальный размер одного устройства составляет 5 - 10 Мбайт, мак- симальный, как мы уже знаем, 16 Мбайт. Общее количество устройств, поддержи- ваемых системой IS-DOS в стандартном ва- рианте равно, как известно, шести, два из которых отводятся под дисководы А и В. Однако, далеко не все знают, что уже в версии 4.0 появилась возможность работы с восемью устройствами. Правда получить доступ к ним привычным нажатием CS+1 или CS+2 невозможен. Для работы с этими "скрытыми" устройствами приходится загру- жать резидентную программу choose.res (в новой версии IS-DOS 4.5, выпуск которой ожидается в этом году, эту программу пла- нируется вставить внутрь системы). Более того, если у Вас только один дисковод, Вы можете освободить устройство "В", по умолчанию зарезервированное под второй дисковод. Для этого необходимо вы- полнить команду: Q:UTIL\dev sys_driv.blk /-b Итак, Вы выбрали количество логических устройств, на которые будет разбит объем Вашего жесткого диска Теперь необходимо сообщить системе выбранное Ва- ми количество устройств. Для этого служит специальный байт в описателе файла ide+.blk. Он так и называется - "Special" (напоминаю, что описатель файла - это его имя и набор параметров, называемых атри- бутами, хранящийся на диске, иными слова- ми - запись в каталоге) Записать значение в этот байт можно при помощи утилиты re- name.com. Делается это так: a) установите курсор на имени файла ide+.blk b) вызовите rename.com клавишей "6" c) нажмите SS+SPACE для вызова редактора атрибутов файла d) найдите строку "Special", установите на нее курсор и нажмите ENTER e) введите выбранное Вами количество устройств и снова нажмите ENTER f) выберите строку "Save", нажмите ENTER Теперь можно загружать драйвер. Дела- ется это, как обычно, командой set.com: Q:RES\set ide+.blk можете просто нажать ENTER на имени драй- вера, система загрузит его автоматически. Далее необходимо произвести настройку параметров драйвера и разбиение диска на логические устройства. Для этого предназ- начена программа ide_tune.com. Она может запускаться в двух режимах: a) режим настройки установленного (нахо- дящегося в данный момент в памяти) драйвера - с ключом /m b) режим настройки параметров в файле драйвера на диске - без ключа в качестве параметра необходимо указывать имя драйвера, например: ide_tune /m ide+.blk Для упрощения задачи существуют два bat-файла - mem_tune.bat и fil_tune.bat, вызывающие настройщик по вариантам a) и b) соответственно. Режим настройки в памяти рекомендует- ся использовать для пробной настройки, или если Вы делаете эту процедуру в пер- вый раз - по крайней мере, это гарантиру- ет Вам сохранность файла и всех парамет- ров в случае ошибки. Также можно ис- пользовать этот режим, если Вам понадоби- лось временно установить другой НЖМД (например принесенный Вашим знакомым для перезаписи) В этом случае после переза- пуска системы автоматически восстановятся старые параметры. В момент запуска настройщика происхо- дит обращение к портам винчестера, при этом светодиод на плате контроллера дол- жен мигнуть несколько раз. Если этого не произошло, проверьте еще раз контроллер и правильность его подключения. Первым делом программа ide_tune.com пытается прочитать служебную информацию о физических параметрах НЖМД - количестве головок, треков секторов - помните мы уже говорили о них выше? Найденные значения выводятся в рабочем окне настройщика в строках "HD", "TR" и "SC" соответственно. Далее возможны три варианта: a) программа правильно считала данные по количеству головок, треков и секторов, полученные значения совпадают с ука- занными в документации b) программа не смогла считать данные, в этом случае в верхней строке экрана выводится сообщение об ошибке "Порты винчестера прочитать не удалось" и настройщик устанавливает параметры по умолчанию (или последние сохраненные) c) программа считала данные, но они рас- ходятся с данными, приведенными в паспорте или на этикетке винчестера Вариант a) наиболее простой и желан- ный и в комментариях не нуждается. Вари- ант b) вполне возможен, особенно на вин- честерах старых моделей, но это не озна- чает, что такой винчестер нельзя ис- пользовать. Просто определите эти данные любым другим способом (см. выше) и впиши- те вручную в соответствующие строки рабо- чего окна. Если же Вы столкнулись с вари- антом c) - попробуйте все же не поверить глазам своим и воспользоваться "фирмен- ной" информацией, если это не поможет - попробуйте то, что выдает программа, а если и это не получится - возьмите другой винчестер. Итак, физические параметры установле- ны. Теперь - разбиение диска. Рабочее окно настройщика, помимо все- го прочего, содержит восемь строк, обоз- наченных буквами от A до H. Эти буквы, как Вы уже догадались, символизируют устройства, доступные в системе IS-DOS. Цифры, стоящие возле каждой буквы - это номер начальной дорожки каждого устройства и точный размер его в блоках по 256 байт. Теперь приготовьтесь немного посчи- тать. Для того, чтобы правильно выполнить разбиение диска Вам необходимо определить номера начальных дорожек для всех Ваших логических устройств. Естественно, для первого устройства номер начальной дорож- ки всегда равен 0. Номера дорожек ос- тальных устройств можно вычислить, зная их объем в Мегабайтах по следующей форму- ле: SZ(n-1) * 2048 T(n) = T(n-1) + ─────────────── SC * HD где T(n) - номер начальной дорожки n-ного устройства, T(n-1) то же для предыдущего устройства, SZ(n-1) - объем предыдущего устройства в Мегабайтах, SC - количество секторов на 1 дорожку Вашего винчестера, HD - количество головок. Полученное значение округляется до целого. Таким образом, мы с Вами вычисли- ли начальные дорожки для всех будущих устройств. Теперь можно определить, каким логическим именам они будут соответство- вать. Для этого впишите полученные значе- ния номеров дорожек в соответствующие строки рабочего окна. При этом помните, что при установке другие драйверы блочных устройств, (главным образом драйвер флоп- пи-диска sys_driv.blk), загружаемые до драйвера винчестера, "закрывают" собой устройства A, B (или другие). Их логичес- кие имена нельзя будет использовать с винчестером. В связи с этим сразу же возникает вопрос: какие значения номеров начальных дорожек приписывать неиспользуемым логи- ческим именам? Ответ - любые из имеющих- ся. Удобнее всего приписать им нулевое значение. После того, как все номера дорожек вписаны в соответствующие строки, внима- тельно изучите числа, появившиеся в столбце "Size" - это окончательный размер устройств в блоках по 256 байт. Обяза- тельно запишите или запомните эти числа и их соответствие устройствам. Это приго- дится Вам на следующем этапе работы. В заключение этапа настройки не за- будьте выполнить "Save", иначе все ваши параметры будут утеряны. Выход из про- граммы-настройщика стандартный - SS+A. Итак, драйвер настроен. Теперь оста- ется только отформатировать каждое из устройств утилитой create.com, используя для параметра "Dev size" значения размера в блоках, предусмотрительно списанные из настройщика. Остальные параметры crea- te.com выбираются следующим образом: boot - необходимо отключить, так как заг- рузочная запись на винчестере будет только зря занимать место, check - не имеет особого смысла на чем-либо, кроме дисководов, поэтому тоже может быть отключен в целях экономии вре- мени. Корневой каталог - лучше сделать Segmen- ted, указав начальный размер в 4 - 5 бло- ков в зависимости от объема устройства и предполагаемого количества файлов и под- каталогов. Остальные параметры можно оставить по умолчанию. Если процесс форматирования прошел удачно - можете переходить к заключи- тельному этапу работы. Как Вы помните, настройку параметров драйвера мы с Вами производили в памяти компьютера. Теперь настало время настро- ить файл. Для этого соберите вместе все данные, которые Вы использовали при настройке, а именно: количество головок винчестера, число треков, количество сек- торов на 1 дорожку и номера начальных строк всех имеющихся устройств, запустите файл fil_tune.bat и впишите данные так же, как Вы уже делали при настройке в па- мяти. Выполните "Save".