В любительской микроЭВМ внешним накопителем, как правило, служит обычный кассетный магнитофон. Благодаря этому значительно снижаются затраты на постройку компьютера — ведь магнитофон есть почти у каждого. Однако при общении с такой ПЭВМ приходится мириться с нередкими сбоями, происходящими в процессе считывания с кассеты цифровой информации.
Улучшить работу вашего компьютера поможет накопитель на магнитном диске (НМД), который избавит вас от многих неудобств, связанных с использованием магнитофона.
Предлагаем вниманию читателей описание устройства сопряжения персональной ЭВМ «Специалист» с дисководом ЕС-5074. Его контроллер, обладая достаточно высокими техническими характеристиками (отсутствие сбоев, надежность, быстродействие), отличается простотой схемного решения и отсутствием остродефицитных элементов.
Вместе с тем данное устройство сопряжения имеет низкую скорость передачи данных — 64 Кбод вместо 256 Кбод, которую обычно позволяет НМД, и, как следствие, вчетверо меньшую информационную емкость флопи-диска. Дело в том, что скорость передачи данных 64 Кбод максимальная для микросхемы К580ВВ51А, и потому увеличить ее нельзя. Однако этот недостаток можно устранить, снизив скорость вращения диска,— достаточно лишь поменять ведущий шкив привода вращения диска на меньший.
Для сопряжения с НМД автором разработано программное обеспечение — Дисковый Монитор, позволяющий выполнять такие команды, как разметка диска, запись файла, чтение файла, удаление файла и распечатка на дисплее оглавления диска.
При разметке записываются собственные адреса на каждой дорожке и, кроме того, на 00 дорожке создается оглавление, включающее в себя таблицу экстентов и «пустой» список названий файлов.
Таблица экстентов предназначена для того, чтобы была возможность записывать файлы не только на дорожки, следующие одна за другой, но и кусками по одной или несколько дорожек. Выполняя команду «запись», необходимо указывать начальный и конечный адреса программы (или массива данных) и ее имя.
При чтении или удалении файла нужно указывать его имя — полностью или один или несколько первых символов. Имя может состоять из любых символов длиной не более 10.
Чтение или запись на дорожке происходит только после совпадения считанного собственного адреса с текущим. После записи на дорожке происходит контрольное считывание и сравнение с информацией в ОЗУ. Если она не сравнилась или не совпали контрольные суммы, то в оглавлении эта дорожка помечается как дефектная и та же информация записывается на следующую свободную дорожку. При сбое предусмотрены три попытки записи, после этого информация бракуется. На случай сбоя во время чтения предусмотрены три попытки чтения и только после этого выдается сообщение о сбое.
Формат записи на дорожку следующий: собственный адрес — 1 байт, адрес начала — 2 байта, адрес конца — 2 байта, массив — от 1 до 3BF байт, контрольная сумма — 2 байта.
Поскольку скорость передачи данных изменилась, в НМД необходимо скорректировать постоянную времени RC-цепочки — установить параллельно конденсатору С47 еще один, емкость 1000 пФ. Кроме того, из-за низкой нагрузочной способности МС КР580ВВ51А в НМД нужно отпаять резисторы R19, R20, R44, R45, подключенные между сигналами «шаг» и «запись», линиями «земля» и « + 5В».
Программное обеспечение записано на отдельном ПЗУ КР573РФ2 по адресам D000 — D7FF и состоит из следующих подпрограмм:
D 000 — установка на дорожку,
D 02D — инициализация МС
КР580ВВ51А,
D 038 — установка на 00 дорожку, D050 — ожидание индекса, D07С — чтение собственного адреса,
D 0А8 — запись одного байта,
D 0ВА — чтение одного байта,
D 0СС — печать ошибок,
D 0F1 — чтение на одной дорожке,
D 17Е — запись и контрольное считывание на одной дорожке,
D 228 — ввод имени файла, чтение оглавления и поиск файла в оглавлении,
D 2С0 — запись файла,
D 346 — чтение файла,
D 36Е — вывод оглавления на дисплей,
D ЗВС — удаление файла,
D 400 — вход в программу записи или чтения командой (GD400), (адрес начала), (адрес конца), (ВК),
D 444 — вывод оглавления и количества свободных дорожек,
D 471 — разметка диска,
D 49С — запись собственного адреса на дорожку,
D 500 — запись оглавления командой (GD500) (ВК),
D 520 — программа декодировки команд,
D 540 — позиционирование головки в рабочую зону после включения,
D 570 — D 746 — неиспользуемое пространство,
D 747 — D 7FF — текстовые сообщения.
Ножки микросхемы ПЗУ с программой Дискового Монитора подсоединяют к одноименным выводам других ПЗУ, кроме ножки 20, которая подключается к выводу 11 МС DD51 («М-К», 1987 г., № 2, с. 20, 21).
Для программого подключения Дискового Монитора к имеющемуся в ПЗУ Монитору необходимо внести изменения: С8АВ — записать 40, С8АС — записать D5.
Команды обращения к Дисковому Монитору набираются на верхнем регистре (русские буквы).
Для записи файла — <3> <адрес начала> <адрес конца> <ВК>.
Для чтения файла—<Ч> <ВК>.
Для вывода оглавления — <О> <ВК>.
Для разметки диска—<Р><ВК>.
Дисковый Монитор использует пространство ОЗУ с адресами 8В00 — 8Е10 для записи оглавления и 8FD0 — 8FDF как рабочие ячейки.
Для записи можно использовать и вторую сторону диска ЕС-5274, увеличивая таким образом его емкость вдвое — 144 Кбайт. Для этого осторожно лезвием нужно расширить с обеих сторон индексное отверстие пакета (но не диска!) так, как показано на рисунке, и вставлять в дисковод в перевернутом виде, этикеткой вниз.
А. ЖЕНЖЕРУХА, г. Старый Оскол, Белгородская обл.