|
ZX Format
#04
14 июня 1996 |
|
IS-DOS - пользователям" No4: "Работа с электронным диском в среде IS-DOS".

Рубрика "IS-DOS - пользователям" No 4
"Работа с электронным диском
в среде IS-DOS"
(C) В.Елисеев
,_________________________________________
Сегодня в нашей рубрике "IS-DOS -
пользователям" пойдет речь о том, как
правильно сформировать электронный диск,
как устанавливать его при загрузке систе-
мы на различных моделях Spectrum-совмес-
тимых компьютеров.
1. Что такое "Электронный диск" и для че-
го он нужен в среде IS-DOS.
Электронным диском в системе IS-DOS
называется виртуальное блочное устрой-
ство, организуемое в страничной памяти
Spectrum-совместимого компьютера с объе-
мом оперативной памяти более 48К. Другими
словами, это область памяти, организован-
ная таким образом, что к ней можно обра-
щаться непосредственно из файловой обо-
лочки IS-DOS как к обычному дисководу.
Может быть это покажется Вам стран-
ным, - зачем имитировать дисковод, когда
он уже есть, - но электронный диск обла-
дает одним неоспоримым преимуществом по
сравнению с дисководом и даже винчстером
- это скорость чтения-записи, соизмеримая
со скоростью работы самого компьютера.
Используя электронный диск Вы значительно
сокращаете затраты времени на подгрузку с
диска внешних команд, утилит и оверлейных
модулей программ. Достаточно один раз по-
работать с электронным диском и Вы сразу
"почувствуете разницу".
Разумеется, содержимое электронного
диска во многом зависит от объема памяти
Вашего компьютера. Обычно на электронном
диске размещаются наиболее часто ис-
пользуемые программы и системные утилиты,
например tv.com, filecopy.com, dele-
te.com, текстовый редактор и т. п. Полез-
но также держать там конфигурационные
файлы системы: extent.txt, extkey.txt и
др.
Оптимальный объем оперативной памяти,
при котором наиболее полно реализуются
возможности электронного диска - 256-512К,
отличные результаты показывают компьютеры
с 1 мегабайтом ОЗУ, однако и на обычных
128-х Спектрумах применение электронного,
или, как его еще называют, RAM-диска, то-
же дает вполне ощутимое увеличение произ-
водительности.
2. Драйвер электронного диска.
Работа с электронным диском в среде
IS-DOS организуется системой при помощи
специальной программы, называемой "драй-
вером электронного диска".
Драйвер электроного диска - это аппа-
ратно-зависимая резидентная программа .
Это значит, что для каждого типа ZX-сов-
местимых компьютеров должен существовать
свой собственный драйвер, делающий его
аппаратные особенности "прозрачными" для
системы и пользователя.
На сегодняшний день система IS-DOS
поддерживает все основные стандарты рас-
ширенной памяти ZX Spectrum, это:
1. Стандарт Spectrum 128 (Pentagon 128,
Contact 128 и др.) - используется вся па-
мять выше 48К, что позволяет создать
электронный диск размером 320 блоков
(80К);
2. Стандарт Scorpion (Scorpion 256, Pe-
ters 256, KAY 256) - используется вся па-
мять выше 48К, что позволяет создать диск
с объемом 832 блока (208К), есть возмож-
ность использования только памяти свыше
128К, что уменьшает RAM-диск до 512 бло-
ков (128К), но позволяет одновременно
пользоваться дополнительным буфером 80К
при работе с копировщиками filecopy.com,
copy.com, copy25.com и др.
3. Стандарт Profi (Profi 1024) - ис-
пользуется вся память выше 128К, что поз-
воляет создать электронный диск размером
от 1536 блоков (384К) для Profi 512 до
3500 блоков (896К) для полного ОЗУ 1Мб.
4. Компьютеры ATM - здесь дело обстоит
несколько сложнее в связи с тем, что ад-
ресация расширенной памяти в этих компью-
терах неоднократно менялась от версии к
версии, что вызывает определенные пробле-
мы при написании драйверов. Поэтому су-
ществующие драйверы АТМ могут с успехом
работать на одной плате и совершенно не
работать на всех остальных. В связи с
этим драйверы для АТМ пишутся в нашей
фирме на заказ с предоставлением заказчи-
ком необходимой технической информации по
его плате. На компьютерах АТМ использует-
ся память выше 128К, что дает 1536 блоков
(384К).
5. И, наконец, последнее - для вла-
дельцев 48-х компьютеров с "теневым ОЗУ"
по адресам #0000-#3FFF (HOBBIT и различ-
ные самоделки) разработан специальный
драйвер, позволяющий создать электронный
диск размером 64 блока (16К). Это, конеч-
но, мало, но все-таки лучше, чем ничего.
Специальная программа-настройщик позволит
выбрать номера портов для машин с нестан-
дартным подключением "теневого" ОЗУ.
В случае, если Ваша машина не соот-
ветствует ни одному из вышеперечисленных
стандартов, Вы можете заказать в фирме
ISKRA SOFT специальный драйвер, предоста-
вив нам необходимую техническую информа-
цию по Вашей машине.
3. Первичное создание RAM-диска.
3.1 Создание электронного диска начина-
ется, как Вы уже догадались, с загрузки
драйвера. Драйверы электронного диска,
как и драйверы всех блочных устройств,
находятся в каталоге SERVICE\BLK\ базово-
го комплекта IS-DOS. Для установки драй-
вера необходимо выполнить одно из следую-
щих действий:
1. Выйти в Монитор командной строки
(клавиша m) и набрать команду:
Q:RES\set Q:SERVICE\BLK\xxxx.blk
где xxxx - имя Вашего драйвера
2. Создать в текстовом редакторе и за-
пустить командный bat-файл, содержащий
строку, описанную в п. 1
3. Установить курсор на имя Вашего драй-
вера и нажать клавишу ENTER.
С этого момента драйвер установлен в
системе, в чем можно убедиться, просмот-
рев область драйверов при помощи программ
show.com или eliminat.com.
Драйвер электронного диска при ус-
тановке автоматически присоединяется к
первому свободному устройству (чаще всего
к устройству С, но, если у Вас есть тре-
тий дисковод или винчестер, драйвер уста-
новится на другое устройство). Просмот-
реть соответствие блочных драйверов
устройствам IS-DOS можно при помощи ути-
литы choose.com, она выводит на дисплей
список из 8 возможных в IS-DOS устройств
и напротив каждого - имя соответствующего
ему драйвера. Переустановить драйвер на
другое устройство можно при помощи утили-
ты dev.com.
Стандартный драйвер электронного дис-
ка занимает в памяти около 600 байт. В
последнее время появились новые драйверы,
значительно уменьшенные (менее 256 байт),
они отличаются от старых отсутствием
внутреннего буфера, что, впрочем, никак
не отражается на работе системы, за
исключением единственного случая - сохра-
нения текущей системы командой sv.com на
электронный диск, но, поскольку такая си-
туация, как и любая другая, связанная с
копированием содержимого верхних 16К в
электронный диск, практически не встреча-
ется при работе в IS-DOS, этим вполне
можно пренебречь, сэкономив 500 байт в
основной памяти машины.
Еще несколько слов о драйверах
электронного диска, разработанных фирмой
ISKRA-SOFT для разных моделей Spec-
trum-совместимых компьютеров:
ed_128.blk (04.10.94, 560 байт) стан-
дартный драйвер для всех
машин с 128К ОЗУ Может быть
использован НА ЛЮБОМ ZX
Spectrum для создания
RAM-диска размером не более
80К.
Необходимо помнить, что для создания
электронного диска этот драйвер использу-
ет ту же самую область памяти, что и до-
полнительный буфер копировщиков, поэтому
совместное их использование не допускает-
ся и вышеупомянутый буфер перед установ-
кой электронного диска необходимо отклю-
чить при помощи утилиты copytune.com во
всех копировщиках (filecopy.com, co-
py.com, copy25.com, from_msd.com,
to_msdos.com, from_trd.com. to_trdos.com)
ed128-.blk (24.04.95, 169 байт) умень-
шенный вариант драйвера для
Spectrum 128 и других ма-
шин, имеющих не менее 128К.
ed_scorp.blk (04.10.94, 533 байта) стан-
дартный драйвер для компью-
теров Scorpion и совмести-
мых с ними компьютеров Pe-
ters 256 и KAY 256. Он ис-
пользует 128К памяти, не
входящих в конфигурацию
Spectrum 128, что позволяет
избежать конфликта между
электронным диском и допол-
нительным буфером копиров-
щиков.
edsco+.blk (02.09.94, 546 байт) альтер-
нативный драйвер для
компьютеров, совместимых со
стандартом Scorpion. Он ис-
пользует всю память выше
48К и позволяет создать
диск размером до 208К. Ес-
тественно, требует выключе-
ния буфера копировщиков.
edsco-.blk (29.04.95, 195 байт) умень-
шенный вариант драйвера
ed_sco+.blk
ed_profi.blk (01.11.93, 528 байт) драйвер
для компьютеров Profi с
объемом ОЗУ до 1Мб. Он ис-
пользует только память, не
входящую в конфигурацию
Spectrum 128, что позволяет
спокойно пользоваться буфе-
ром копировщиков и дает
возможность создавать диск
объемом до 896К, что на 300
байт превышает объем диске-
ты в IS-DOS!
edprof-.blk (20.06.95, 178 байт) умень-
шенный драйвер для Profi.
ed_atm.blk (30.09.94, 538 байт) драйвер
электронного диска, работа-
ющий на одном из компьюте-
ров серии ATM, на каком
именно, к сожалению пока
установить не удалось в
связи с разнообразием и не-
достаточной распространен-
ностью этих компьютеров в
нашем городе.
В ближайшем будущем возможно прояс-
нение ситуации и создание драйвера, га-
рантированно работающего на ATM TURBO 2+,
но пока владельцы ATM могут расчитывать
только на получение исходного ассемблер-
ного текста драйвера и самостоятельную
доработку его под свою плату. Написание
же драйвера на заказ возможно только при
наличии технической информации по органи-
зации памяти в каждом конкретном случае.
ed16.blk (27.06.93, 72 байта) специ-
альный драйвер для компью-
теров с "теневым ОЗУ", поз-
воляет создать 16-кило-
байтный электроный диск,
поставляется с настройщиком
ed16tune.com, который спо-
собен настраивать адрес
порта, включающего теневую
страницу на различных моде-
лях компьютеров.
Кроме того, существует ряд специали-
зированных драйверов, как то: ed_3.blk
для компьютеров Amstrad, ed128rom.blk для
компьютеров с системой IS-DOS, прошитой в
ПЗУ, ed128ram.blk для IS-DOS CHIC и т. п.
Разумеется, из всех этих драйверов
Вам понадобится только один - тот, кото-
рый предназначен для Вашего компьютера.
Его-то Вы и должны будете установить пе-
ред началом работы одним из вышеописанных
способов.
3.2 Следующий этап работы - формирование
на электронном диске "системной области",
т. е. запись специальной служебной инфор-
мации и формирование корневого каталога.
Эта операция выполняется при помощи ути-
литы create.com, т. е. так же, как и на
дискетах, с той только разницей, что
электронный диск не нужно размечать при
помощи программы format.com, так как эта
программа выполняет специфическую размет-
ку дискеты на низком уровне, не имеющую
смысла на виртуальном блочном устройстве.
Утилита create.com может работать
как в ручном режиме, так и в командной
строке или командном bat-файле. В первом
случае все параметры задаются вручную в
меню программы, во втором - при помощи
специальных ключей. Внешний вид программы
create.com показан на рис. 1
┌───────────────────────────────────────┐
│ ┌─────────────┐ │
│ ┌──────────┐ │Name:IS-DOS │ │
│ │Drive: C│ │Double │ │
│ │Retry: 4│ │Tracks: 80│ │
│ │Check: Y│ │Sec Size:1024│ │
│ │Exist: ask│ │boot: no boot│ │
│ │Parameters│ │Dev Size: 512│ │
│ │Create │ │Dir Size: 2│ │
│ │Save │ │Continuous │ │
│ │Exit │ │Quit │ │
│ └──────────┘ └─────────────┘ │
├───────────────────────────────────────┤
│ Рис. 1 Утилита create.com │
└───────────────────────────────────────┘
Одним из основных параметров на этом
этапе работы является размер электронного
диска в блоках, задаваемый в строке Dev
Size в правом меню. Эта величина зависит
от объема ОЗУ Вашего компьютера и расчи-
тывается по следующим формулам:
для Spectrum 128,256:
D=RAM-48000\256 (1)
для Spectrum 512,1024:
D=RAM-128000\256 (2)
где D - искомый размер диска в блоках
RAM - общий объем ОЗУ компьютера
В случае если Вы захотите в Spectrum
256 использовать электронный диск сов-
местно с дополнительным буфером копиров-
щика, то его размер следует также расчи-
тывать по формуле (2). Сводная таблица
типовых размеров электронных дисков для
компьютеров с различным объемом ОЗУ при-
ведена в Табл. 1.
Таблица 1
Типовые размеры электронных дисков.
╔════════════╤════════╤═════════════════╗
║ Модель │ Объем │ Размер диска ║
║ │ ОЗУ ├────────┬────────╢
║компъютера │ (Кб) │ блоки │ Кб ║
╟────────────┼────────┼────────┼────────╢
║HOBBIT │ 48 │ 64 │ 16 ║
╟────────────┼────────┼────────┼────────╢
║Spectrum 128│ │ │ ║
║Contact 128 │ 128 │ 320 │ 80 ║
║Pentagon 128│ │ │ ║
╟────────────┼────────┼────────┼────────╢
║Scorpion 256│ │ 832 *)│ 208 *)║
║Peters 256 │ 256 │ ─── │ ─── ║
║KAY 256 │ │ 512 │ 128 ║
╟────────────┼────────┼────────┼────────╢
║ATM TURBO │ 512 │ 1536 │ 384 ║
║PROFI 512 │ │ │ ║
╟────────────┼────────┼────────┼────────╢
║PROFI │ 1024 │ 3500 │ 896 ║
╚════════════╧════════╧════════╧════════╝
*) в числителе - без буфера копировщиков,
в знаменателе - с использованием буфера.
При создании электронного диска наи-
более важными, как уже говорилось выше,
являются размер диска и имя устройства, к
которому подключен драйвер. Остальные па-
раметры можно оставить по умолчанию, од-
нако с их помощью можно несколько оптими-
зировать создаваемый диск, сэкономив не-
которое количество памяти, что особенно
важно на машинах с небольшим объемом ОЗУ.
В первую очередь необходимо устано-
вить опцию "boot" в правом меню в положе-
ние "no boot" - это сэкономит Вам 4 бло-
ка, занимаемые загрузочным сектором, ко-
торый совершенно не нужен на виртуальном
устройстве.
/dM, где M - размер диска в блоках,
/сX, где X - тип корневого каталога:
"0" - если сегментированный,
"1" - если непрерывный,
/sY, где Y - размер корневого каталога в
блоках,
/vZ, где Z - флаг проверки качества дис-
ка, при работе с RAM-диском жела-
тельно установить в "0",
/bQ, где Q - тип загрузочной записи, при
работе с RAM-диском желательно ус-
тановить значение "2" (без загру-
зочной записи),
/n - не пересоздавать имеющийся диск,
/r - пересоздать имеющийся диск,
/m - запросить подтверждение на пере-
создание диска.
Примеры вызова create.com:
для Spectrum 128:
create RAM /-C /d320 /c1 /s2 /v0 /b2 /m
для Scorpion 256 без буфера копировщиков:
create ZX256 /-E /d832 /c1 /s4 /v0 /b2 /r
3.3 Теперь, когда мы с Вами создали
электроный диск, пока еще пустой, настало
время заполнить его первой полезной ин-
формацией. Вообще-то на электронном диске
можно хранить все, что угодно, однако
предпочтительнее поместить на него наибо-
лее часто используемые системные утилиты
и файлы, что позволит значительно уско-
рить работу системы.
Итак, какие файлы лучше помещать на
электронный диск? Ответ на этот вопрос
лучше всего построить на конкретном при-
мере. Расмотрим процесс заполнения
электронного диска для Spectrum 128.
80 килобайт - это довольно мало, поэ-
тому ограничимся только самым необходи-
мым. Предположим, что электронный диск
установлен на устройстве C. Свободный
объем чистого диска равен 316 блокам
(320 минус 2 блока системной информации
и 2 блока корневого каталога):
1. Скопируем в корневой каталог файл
extent.txt, это позволит ускорить ре-
акцию системы на клавишу ENTER и зай-
мет 2 блока дискового пространства:
Q:SHELL\copy Q:extent.txt C:
2. Создадим на электронном диске каталог
SHELL, сделав его непрерывным и задав
размер не более 2 блоков (ключи /с и
/s2):
Q:SHELL\mkdir C:SHELL /c /s2
3. Скопируем в каталог SHELL наиболее
важные системные утилиты и конфигура-
ционные файлы оболочки:
Q:SHELL\copy Q:SHELL\filecopy.com C:SHELL
Q:SHELL\copy Q:SHELL\tv.com C:SHELL
то же самое выполнить для файлов:
extkey.txt, extview.txt, exebat.com,
menu.com, menu.mnu
Это займет примерно 42 блока на электрон-
ном диске.
4. Создадим каталог RES и запишем в него
файл set.com (еще 9 блоков):
Q:SHELL\mkdir C:RES /c /s2
Q:SHELL\copy Q:RES\set.com C:RES
После всего этого у нас остается еще
261 блок дискового пространства, на кото-
рое можно записать текстовый редактор
(файлы dry.com, ed*.ovr, ed_copy.com,
ed_ext.txt, ed_mac.txt, edit+.com, edi-
tor.com, wet.com из каталога EDIT) - это
еще 99 блоков, учитывая и объем каталога
C:EDIT. Оставшиеся 162 блока Вы можете
использовать по Вашему усмотрению и запи-
сать туда те файлы, которыми Вы наиболее
часто пользуетесь.
Аналогичным образом формируется
RAM-диск и в машинах с 256 и 512К памяти,
с той только разницей, что файлов туда
поместится гораздо больше. Принципиальные
отличия имеет только работа с электроным
диском размером в 1Мб, но об этом - чуть
позже.
3.4 И, наконец, последний этап первично-
го формирования электронного диска - наз-
начение его как "быстрого" устройства.
Эта операция выполняется при помощи внут-
ренней команды DOS L_Q:
L_Q /C
(все буквы обязательно заглавные)
После этого система будет искать все
файлы сначала на устройстве "Q", т. е. на
электронном диске, и только не найдя их
там будет обращаться к устройству "S", т.
е. к дисководу.
Разумеется, эту последовательность
операций, даже если ее оформить как
bat-файл, вы вряд-ли захотите выполнять
каждый раз при загрузке системы. К
счастью, это и не нужно. Достаточно один
раз создать электронный диск вручную,
после чего сохранить его образ в файле
для быстрой распаковки на электронный
диск. Поэтому сейчас мы рассмотрим этот
процесс в деталях.
4. Создание образа электронного диска.
После того, как диск создан, необхо-
димо запустить специальную утилиту
sv_image.com, которая позволит сохранить
в файле все содержимое электронного диска
Утилита запускается следующим обра-
зом:
1. На текущей панели открывается диск, на
который Вы будете сохранять образ
RAM-диска.
2. Запускается утилита sv_image.com с
ключом /N, где N - логическое имя
устройства, на котором находится
RAM-диск:
Q:SERVICE\sv_image /C
Эта команда создаст на текущем дис-
ководе файл image.img, который может
быть впоследствии быстро распакован ути-
литой image.com. Его можно переименовать,
хотя рекомендуется сохранять расширение
img, как признак образа диска, и помес-
тить в любой каталог, например специально
созданный S:RAM. Кстати, в состав
img-файла входит только реально занятый
объем диска, исключая пустую область в
конце, поэтому размер файла сильно зави-
сит от заполненности электронного диска.
После этого Вы можете спокойно впи-
сать в Ваш autoexec.bat команды для уста-
новки электронного диска, из которых по-
надобятся только команды установки драй-
вера и распаковки образа диска.
Фрагмент такого файла для Spectrum
128 Вы можете увидеть ниже:
Q:RES\set Q:SERVICE\BLK\ed_128.blk
Q:SERVICE\image S:RAM\image.img /-C
L_Q /C
Поскольку объем img-файла растет по
мере увеличения объема RAM-диска, такие
файлы для компьютеров с 512К могут дости-
гать полутора тысяч блоков,в связи с чем
возникает проблема с их размещением на
системном диске. В таком случае полезно
создать специальный диск с минимальным
комплектом системных файлов и img-файлом
со всеми необходимыми утилитами. В состав
такого диска должны входить следующие
файлы:
S:extent.txt
S:autoexec.bat
S:SHELL\exebat.com
S:UTIL\find.com
S:RES\set.com
S:SERVICE\is_dos.sys
S:SERVICE\con.com
S:SERVICE\boot.com
S:SERVICE\image.com
S:SERVICE\BLK\ed_128.blk (или другой)
S:RAM\image.img
После копирования всех этих файлов
не забудьте сделать диск загружаемым, на
всякий случай напомню, что это можно сде-
лать при помощи следующей последова-
тельности команд:
1. Открыть на текущей панели каталог
S:SERVICE
2. Выйти клавишей "m" в монитор командной
строки и набрать команды:
con is
boot
3. Выйти из монитора командной строки
клавишами SS+A.
Теперь при загрузке с этого диска
Ваш Spectrum 512 будет автоматически рас-
паковывать образ электронного диска.
5. Теперь нам осталось поговорить только
об особенностях работы с электронным дис-
ком на компьютерах с 1Мб ОЗУ. Как уже бы-
ло сказано выше, на такой RAM-диск спо-
собна поместиться целая дискета IS-DOS!
Разумеется, мы не позволим себе проигно-
рировать такую прекрасную возможность,
поэтому специально для пользователей ме-
габайтных электронных дисков существуют
трековые копировщики acca.com и adbc.com.
Копировщик acca.com используется ес-
ли Ваш электронный диск находится на
устройстве "С", а загружается система с
дисковода "A". Копировщик adbc.com ис-
пользуется если электронный диск установ-
лен как "D", а загрузка идет также с дис-
ковода "A". Для копирования дискеты на
электронный диск необходимо вставить ее в
дисковод "А", открыть ее на текущей пане-
ли и вызвать один из вышеупомянутых копи-
ровщиков.
Далее Вы можете назначить электрон-
ный диск как системный, быстрый и текущий
одновременно и на весь день забыть о дис-
кетах (радость-то какая!).
Не забудьте только по окончании ра-
боты совершить обратное копирование с
RAM-диска на дискету при помощи тех же
копировщиков, иначе все результаты Вашей
работы исчезнут с выключением питания.
Обратное копирование выполняется при
помощи тех же программ, только при их вы-
зове на текущей панели должен быть открыт
RAM-диск. Еще одно последнее замечание по
поводу трековых копировщиков: логика их
работы весьма оригинальна, поэтому ее
лучше представить в виде таблицы (см.
Табл. 2)
Таблица 2
Логика работы копировщиков acca и adbc.
╔════════════╤═════════════╤════════════╗
║Копировщик │ Источник │ Приемник ║
╟────────────┼─────────────┼────────────╢
║acca.com │ A │ C ║
║ │ B │ D ║
║ │ C │ A ║
║ │ D │ B ║
╟────────────┼─────────────┼────────────╢
║ │ │ ║
║adbc.com │ A │ D ║
║ │ B │ C ║
║ │ C │ B ║
║ │ D │ A ║
╚════════════╧═════════════╧════════════╝
Ну вот и все. Надеюсь, что эта не-
большая статья расставит все точки над
"i" в вопросе, касающемся работы с
электронным диском в среде IS-DOS и поз-
волит Вам сделать Вашу работу более удоб-
ной и эффективной.
Удачи Вам, дорогие читатели!
_________________________________________
Другие статьи номера:
Похожие статьи:
В этот день... 17 ноября