|
ZX Format
#05
11 декабря 1996 |
|
IS-DOS - програмно-аппаратный комплекс поддержки IDE HDD для ZX Spectrum.

Рубрика 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".
Другие статьи номера:
Похожие статьи:
В этот день... 23 ноября