LDFBAT.C$ - пакетный загрузчик файлов, сопряжение Орион-128 и IBM PCОбмен данными между Орионом и IBM PC c помощью дискет, настройка программ на Орионе 128Продаю платы и наборы микросхем, куплю микросхемы, комплектующие к ПК Орион-128Пакет программ обмена файлами между IBM PC и Орионом по ORDOS. Программа работает с контроллером НГМД авторским, ну я так думаю и с другими контроллерами тоже. Пакет состоит из следующих программ: MSCH$, MSINST$, MSBOT$, MSFOR$, MSFORMAT, LDFBAT, DIR, CUT0A$, INS0A$. *1. Пакетный загрузчик файлов LDFBAT.C$* 2. Формирователь файла каталога дискеты DIR.C$M 3. Утилиты преобразования текстовых форматов При работе над большими проектами в среде ORDOS, после каждого включения ПК приходится во все квазидиски загружать до полутора - двух десятков файлов с дискеты. Утилита LDFBAT.C$M позволяет упростить этот процесс. Она
осуществляет загрузку файлов в квазидиски ПК с дискеты в
соответствии с заранее подготовленным текстовым пакетным файлом,
в котором указано какие файлы, откуда и куда загрузить. Все
предназначенные к загрузке файлы должны быть в формате BRU
(иметь расширение .BRU). Пакетный файл готовится один раз, после Программа LDFBAT.C$M может запускаться с любого диска MS-DOS (кроме виртуального) из корневого каталога или любого поддиректория командой [ВК] или [L]. В первом случае программа ищет в том же директории, где находится она сама, пакетный файл LDFBATCH.BRU, и выполняет загрузку, в соответствии с этим файлом. Во втором случае, после ввода команды [L], в нижней строке экрана появляется курсор, предлагая ввести командную строку, указывающыю путь до пакетного файла. Эта строка должна иметь следующий вид: [X:][DIRECTORY1\][DIRECTORY2\][...\]FILENAME[.BRU] Здесь: LDFBAT.C$M; ВНИМАНИЕ! В отличие от правил задания пути в системе MS-DOS, знак "\" после имени диска вводить не надо! DIRECTORY1, DIRECTORY2 - путь к пакетному файлу; имена поддиректориев отделяются друг от друга символом "\"; FILENAME - имя пакетного текстового файла; имя файла может быть произвольным, а расширение BRU можно опускать. Примеры: 2. Программа LDFBAT.C$M находится в одном из поддиректориев. В этом же поддиректории есть поддиректорий GAPHICS, в котором и находится пакетный файл. В этом случае командная строка может иметь вид: GRAPHICS\LDGRAPH 3. В поддиректории GRAPHICS, входящем в поддиректорий PROJECTS, находящемся, в свою очередь, в корневом каталоге дискеты "A", содержится пакетный файл. Программа LDFBAT.C$M находится в поддиректории, не входящем в поддиректорий GRAPHICS. Командная строка будет иметь вид: A:PROJECTS\GRAPHICS\LDGRAPH 4. Пакетный файл находится в другом дисководе. Вид командной строки: B:PROJECTS\GRAPHICS\LDGRAPH Программа будет правильно работать, если в вышеприведённых
примерах всегда указывать полный путь до пакетного файла, но для
случаев 1 и 2 это потребует излишних затрат времени и труда Заголовок файла и комментарии, также как и пустые строки служат только для удобства пользователя, не являются обязательными и не влияют на ход загрузки. Для того, чтобы строка считалась комментарием, она должна начинаться хотя бы с одного пробела. Количество строк комментариев и пустых строк может быть любым, и вставляться они могут в любом месте файла. С помощью комментариев можно также временно отменять загрузку какого-либо файла, введя с помощью текстового редактора пробел перед его именем. В последствии, когда снова понадобится его загружать, достаточно этот пробел убрать. Естественно, после каждой корректировки, пакетный файл нужно пересохранить на дискете. Имя квазидиска ("B" или старше) должно обязательно сопровождаться двоеточием. Через пробел после двоеточия, при необходимости, указывается ключ форматирования квазидиска /F. Если этот ключ задан - перед началом загрузки файлов квазидиск форматируется (т.е. полностью очищается), иначе - файлы дозагружаются к уже имеющимся в квазидиске. Порядок следования квазидисков - любой. Более того, к их загрузке можно обращаться неоднократно. Так, например, можно сперва загрузить несколько файлов в квазидиск "C", затем в "D" или "B", а потом дозагрузить диск "C" и так далее. Имя дисковода также должно обязательно сопровождаться двоеточием, вслед за которым без пробела должен быть указан путь или имя загружаемого файла, если он находится в корневом каталоге. Если из одного поддиректория загружается подряд несколько файлов, то полный путь достаточно указать только для первого файла. В качестве имени диска для обозначения текущего диска можно использовать символ "@". Если строка начинается с этого символа, то последующий путь к файлу считается начинающимся из корневого каталога того диска, к которому было обращение перед этим. Это может понадобиться, если все файлы пакета загружаются с одной дискеты, которая в процессе работы может оказаться вставленной в любой из дисководов. Имена файлов FILENAME в пакетном файле должны приводиться те, которые записаны в каталоге дискеты, а не те, которые файлы имеют в системе ORDOS, при этом расширение BRU можно не указывать. В процессе загрузки выводится окно с именами загружаемых файлов. Если в процессе загрузки происходит ошибка чтения файла с дискеты - выводится окно с сообщением "Read error!", процесс загрузки прерывается и осуществляется возврат в MSCH$. Если обнаруживается ошибка в пакетном файле (указан несуществующий квазидиск или дисковод, неправильный символ ключа и т.п.) - выводится сообщение "Syntax error!" и также прерывается процесс загрузки. Если в данном каталоге дискеты отсутствует файл или поддиректорий, указанный в пакетном файле - выводится сообщение ┌─────────────────┐ Пользователю предоставляется возможность продолжить загрузку остальных файлов, или прервать этот процесс. Для продолжения надо нажать клавишу [ВК] или [Y]. Любая другая клавиша будет воспринята, как [N]. Могут также возникнуть ситуации, когда не хватит места в квазидиске (выводится сообщение "No space!" с прерыванием загрузки) либо файл с таким именем в квазидиске уже есть. В этом случае выводится сообщение ┌───────────────┐ Если выбрать [Y], то имеющийся файл будет заменён файлом с дискеты, иначе в квазидиске останется существующий файл. При загрузке файлов в квазидиск "B" возможно отключение цвета, если верхняя граница файлов попадёт в область цветовых аттрибутов экрана. После окончания загрузки всех указанных файлов во все заданные квазидиски, если в конце файла нет строки с ключами /R или /G, управление передаётся в систему ORDOS. Если задан ключ /R - осуществляется возврат в программу MSCH$. Это может понадобиться, например, для дозагрузки каких-либо файлов из других каталогов вручную. Если задан ключ /G, то управление передаётся программе ORDOS, указанной далее в этой строке. Перед именем программы должен быть указан квазидиск, в котором она находится (по умолчанию - квазидиск "A"), а также может быть задана командная строка, которую должна выполнить эта программа. При работе над несколькими проектами можно записать на
дискету несколько пакетных файлов, а выбор осуществлять вводом
соответствующей командной строки. Если же на дискете один
проект, то более целесообразно назвать пакетный файл
LDFBATCH.BRU, записать его в одном каталоге с программой
LDFBAT.C$M, и производить запуск её без командной строки.
По ходу работы над проектом, при необходимости, пакетный
файл можно корректировать, изменяя состав файлов и порядок их
загрузки. Данная версия программы работает только с программой MSCH версии 2.1. При попытке запуска её из более ранней версии MSCH выводится сообщение "Incorrect version" и происходит возврат в MSCH. Ниже приведен пример построения пакетного файла. 2. Формирователь файла каталога дискеты DIR.C$M Данная утилита предназначена для формирования полного оглавления дискеты, включая все вложенные поддиректории, в виде текстового файла DIR.TXT в корневом каталоге дискеты. Это полезно для создания архивов файлов на дискетах MS-DOS. Просмотрев файл DIR.TXT командой [T] программы MCSH$, можно сразу узнать какие файлы и где на данной дискете есть, не раскрывая всех подкаталогов. Файл DIR.TXT также может быть загружен в текстовый редактор и распечатан, а распечатка может храниться вместе с дискетой. Ниже приведена структура файла DIR.TXT. - *** - Запуск утилиты DIR.C$M может осуществляться с любого диска MS-DOS, в т.ч. из виртуального. Если на момент запуска утилиты в системе присутствуют более одного диска MS-DOS, то выводится меню выбора диска, каталог которого будет создаваться. Выбор осуществляется либо клавишами [<-], [->], [TAB] и нажатием [ВК], либо символьной клавишей с именем диска. Клавишей [F4] можно отказаться от формирования файла каталога и вернуться в MSCH$. После выбора диска, если он не виртуальный, выводится
предложение вставить в выбранный дисковод дискету, каталог
которой будет создаваться. Нажатие клавиши [ВК] после установки
дискеты начинает процесс формирования текстового представления
каталога дискеты, который отображается на экране дисплея
компьютера. Если в процессе формирования файла DIR.TXT происходит
дисковая ошибка - процесс прерывается и осуществляется возврат в
программу MSCH$. Если обрабатываемая дискета имеет механическую защиту от
записи, программа предлагает выполнить только просмотр каталогов
на экране дисплея ПК без записи файла DIR.TXT. Настраиваться могут следующие константы (указаны смещения относительно начала файла программы DIR.C$M): +3 - байт, управляющий видом выводимых в файл и на экран
имён файлов, при этом: В дистрибутиве программы значения двух последних констант установлены 0AH и 1AH соответственно, что позволяет просматривать, редактировать и распечатывать файл DIR.TXT в среде MS-DOS на IBM-PC совместимых ПК с помощью стандартных средств MS-DOS. В среде ORDOS такой файл может без каких-либо изменений настройки программы DIR.C$M обрабатываться редактором SURED$. Если же предполагается, что этот файл будет обрабатываться другими редакторами ORDOS, в которых конец строки обозначается одним байтом 0DH, а конец текста - байтом 0FFH - то необходимо соответственно изменить исходный файл утилиты DIR.C$M. Кроме того, по адресу +7 записано слово, определяющее постоянную времени реакции на нажатие клавиш управления пунктами меню выбора диска. Значение слова также может быть подобрано пользователем по своему желанию. Для получения программы DIR.C$M необходимо файл DIR из дистрибутива сохранить на дискете MS-DOS командой Copy (не Save!), присвоив ему расширение C$M. 3. Утилиты преобразования текстовых форматов В связи с тем, что большинство текстовых редакторов, работающих под MS-DOS, обозначают конец строки парой символов 0DH, 0AH, а конец текстового файла вообще никак не обозначают, то обработка таких файлов текстовыми редакторами в среде ORDOS оказывается затруднительной. Небольшая утилита CUT0A$ предназначена для приведения формата текстовых файлов MS-DOS к формату, воспринимаемому подавляющим большинством редакторов ORDOS. Она убирает из строк код перевода строки 0AH и вставляет символ конца файла. Программа запускается из среды ORDOS (или из программы MSCH$
с квазидиска ORDOS) с командной строкой вида: FILENAME - имя обрабатываемого текстового файла, предварительно скопированного в квазидиск X с дискеты MS-DOS; Y: - имя квазидиска, в котором будет сформирован преобразованный текстовый файл. Если имя квазидиска Y не указано, то файл формируется в том же квазидиске, где находится исходный файл. В случае, если формирование нового файла успешно завершается, и если в квазидиске-приёмнике существует файл с именем FILENAME (а в случае, если квазидиск-источник и приёмник совпадают - это обязательно имеет место) - существующий файл FILENAME удаляется без предупреждения. Файлу - результату преобразования присваивается имя FILENAME. После завершения работы программа возвращается в ORDOS или в
MSCH$, если запускалась из MSCH$ и пользователем был дан ответ
"Yes" на запрос "Return to MSCH?".
Если не задана командная строка (или задана с ошибками), или
отсутствует файл, указанный в командной строке - выводится
сообщение об ошибке и преобразование не производится. Код символа конца файла 0FFH находится по адресу +3 от начала программы и может быть изменён пользователем с помощью любого редактора памяти непосредственно в файле программы CUT0A$. Утилита INS0A$ выполняет обратную функцию - вставляет код перевода строки 0AH после кода возврата каретки 0DH в строки исходного текстового файла ORDOS (если их нет) и заменяет код конца файла 0FFH на заданный в байте, находящемся по адресу +3 от начала программы. В дистрибутиве он установлен равным 1AH. Запускается и работает утилита аналогично утилите CUT0A$. Исходный текстовый файл ORDOS должен иметь код конца файла, равный 0FFH или 1AH.
MSCOMM$ V1.34 - программа обмена данными (файлами) с помощью дискеты "3,5 дюйма" (720 к), дискеты 5,25 дюйма (360к) между IBM PC и Орионом Работа в CP/M-80 программы и железо Подробнее будет на www.orion128.ru Куплю платы, наборы микросхем 2716, 2732, 2764, 27128, 27256, 27512, 27c010, 27c801 на Орион-128, КР565РУ5В, КР565ру7В, к565ру5г AU, к565ру7г Au в позолоте, куплю микросхемы фирмы NEC, Intel, OkiНа предыдущую страницу На главную страницу На следующую страницу
|
||