Spectrum-совместимые компьютеры «Байт»,«Байт-01» и прочие раритеты

5 / 2 441

Как смонтировать образ *.img в операционных системах iS-DOS и TASiS

Предполагаю, что пользователь знает хотя бы в минимальном объёме как пользоваться системой iS-DOS (TASiS). Если нет - читайте умные книжки по iS-DOS (они в интернете есть), статьи по использованию iS-DOS в первых номерах журнала ZX-Format, или на худой конец изучите хелпы ко всем программам системы, их пишут не для красоты!

Сначала поясню зачем это нужно - хранить файлы в виде образов *.img. При копировании файлов из iS-DOS в MS-DOS и обратно теряются два важных параметра файла - стартовый адрес и контрольная сумма. И если без контрольной суммы ещё как-то можно прожить, то для com-файлов потеря стартового адреса фатальна - он просто не будет работать. Поэтому для com-файлов приходится дописывать в отдельном текстовом файле стартовый адрес, а потом в iS-DOS вручную вводить его в описатель файла. Чтобы избавиться от этого кошмара выгоднее скинуть все нужные файлы на RAM-диск и сделать с него образ (файл с расширением *.img) и дальше работать с ним. При этом вся информация о контрольных суммах и стартовых адресах полностью сохраняется.

Монтирование образа *.img одинаково что в iS-DOS, что в TASiS, поэтому буду показывать на примере наиболее удобной для меня системы TASiS.

Для начала надо убедиться, что в системе установлен драйвер для RAM-диска. Для TASiS - это скорее всего будет TASi_RAM.blk. Посмотреть список драйверов и резидентов, установленных в системе, можно при помощи программы show.com (на системном диске).

На скриншоте видно, что в системе установлен драйвер TASi_RAM.blk. Если драйвера RAM-диска нет, то надо его найти и установить. Как это сделать - это индивидуально для каждой модели Спектрума, а также для вида системы (для iS-DOS Chic будет совершенно иной драйвер RAM-диска, чем для iS-DOS Classic) поэтому курите доки по Вашему компу и хелпы по доступным драйверам для iS-DOS, я не могу дать подробных инструкций по всем клонам Спектрума за неимением как подробной информации, так и самих клонов для опытов.

Итак, драйвер есть. Если нет, то установим нужный драйвер. Для этого надо просто нажать Enter на нужном файле драйвера, и он установится в систему. Однако при этом может выскочить ошибка 133 (необязательно, что появится, но вполне может):

Почему так происходит? Объясняю: система устроена так, что именно в момент установки драйвера за ним обязательно должно закрепиться устройство, которое этот драйвер будет обслуживать. Устройств всего 8 штук (не будем брать в расчёт совсем старые версии iS-DOS, где устройств всего 6). Соответственно эти устройства обозначаются буквами A..H. Итак, в момент установки драйвера система проверяет - а есть ли хотя бы одно устройство, за которым нет закреплённого драйвера? И если оно есть, то драйвер благополучно ставится в систему и прикрепляется к обнаруженному свободному устройству. Иначе система полагает, что раз нет свободных устройств, то и нечего ставить лишние драйвера и отфутболивает вас ошибкой 133.

Причина выяснена, теперь поясню как с ней бороться. Для этого надо освободить какое-нибудь устройство от прикреплённого к нему драйвера. Для этой операции вызывается программа dev.com:

Как видно в правой таблице напротив всех устройств стоят либо плюсы либо минусы. Это означает, что все устройства уже заняты. Надо выбрать ненужное устройство, которым придётся пожертвовать на время и отсоединить от него драйвер (детали смотрим в описании программы dev.com):

Тут мы отсоединили от устройства "B" драйвер lba_s.blk. Теперь для освободившегося устройства "B" присоединяем драйвер TASi_RAM.blk и выходим из программы.

Если при установке драйвера ошибки 133 не было, то всё равно придётся зайти в dev.com и посмотреть на какое устройство подключился свежеустановленный драйвер RAM-диска.

Для копирования содержимого файла-образа *.img на RAM-диск (и не только на RAM-диск, но в данном случае нас интересует именно RAM-диск) служить программа image.com. Чтобы исключить лишнюю работу по вызову программы из командной строки лучше всего сделать так, чтобы эта программа вызывалась автоматически при запуске файла *.img. Для этого в файле extent.txt должна содержаться строка такого типа:

(Строка подчёркнута красным).

Для вашей системы путь к программе может быть иным, смотрите сами.

Теперь при запуске *.img мы сразу попадём в меню программы image.com:

Укажем в строке "To device:" устройство, которое обслуживает драйвер RAM-диска, и программа скопирует туда содержимое файла образа *.img. Только будьте внимательны, не укажите случайно какой-либо другой диск, иначе убьёте на нём информацию!

Дальше всё просто - содержимое файла-образа уже на RAM-диске, делаем с ним что угодно. Сам файл образа *.img уже не нужен - можно его удалить, если сильно мешает.