ОРИОН-128. Print-Master в ПК Орион-128, программа печати текстов и графики
Подключение принтера по схеме Орион Софт, как подключить принтер к ПК Орион-128 к порту F600
Публиковалось в журнале Радиолюбитель № 10, 11, 12 - 1993 год
В. СУГОНЯКО. В. САФРОНОВ.
ОРИОН-128. PRINT-MASTER - программа печати текста и графики
Смотрите также:
Подключение принтера Орион Софт
Подключение принтера: Упоминание подключение принтера Орион Сервис
Для этой статьи коды программы не привожу, коды программ можно взять из журнала Радиолюбитель № 10, 11, 12 - 1993 год
Внимание из-за низкого качества статьи возможно плохое распознавание текста
В общении с компьютером для пользователя наиболее
важны два устройства вывода данных - дисплей и принтер. Все. что
возникает на экране дисплея, остается гам ненадолго. Правда, при
необходимости можно одно и то же выводить на экран бесконечно, но в
таком виде информация существует до тех пор, пока включен компьютер.
Отпечатанное же на бумаге хранится долго.
Однако, если проблема с дисплеем как-то решается с помощью домашнего
телевизора, то с принтером сложнее. Принтер - это специализированное
устройство и в бытовом эквиваленте пока не существует. Но. несмотря на
немалую стоимость, многие пользователи уже им обзавелись. Поэтому
проблема вывода информации на печать очень актуальна.
Мы не будем вдаваться в теорию печатающих устройств, а рассмотрим
конкретную программу, разновидность интерфейсов к ней и способ
подключения принтера.
Наиболее известна программа для вывода текстовой и графической
информации на "твердый" носитель - бумагу. Это - PR1NTMS, написанная
авторами для ПК "Орион". Существует и целый ряд ее модификаций,
выполненных уже пользователями. Все они ориентированы на матричный
EPSON-совместимый принтер.
В этой статье мы расскажем об усовершенствованной версии программы -
"РМ4$" (PRINT - MASTER V4.XX). Коды программы и контрольные суммы блоков
приведены в таблице 1.
Источником информации для "РМ4$" служат текстовые и графические файлы,
созданные иод управлением операционной системы "ORDOS". Сама программа
машинно-независима. Диалоге печатающим устройством осуществляется через
дополнительные программы-драйверы печати байта (LPT).
РАБОТА С ПРОГРАММОЙ
Программа построена по принципу "вижу-выбираю", т.е. клавишами установки
курсора выбирают необходимую строку меню и нажимают клавишу | ПК 1. если
не оговорен другой порядок управления.
При запуске программа выводит входное меню. В нижней его части указаны
"горячие" клавиши. Для перехода в основное меню необходимо нажать любую
другую символьную клавишу.
Основное меню имеет следующие функции:
1. "ВЫВ. ДИСКА" (выбор диска) - первоначально устанавливается диск "В".
Нажимая клавишу [ВК], можно поочередно, по кругу, выбрать другой диск
(С, D, В...). Функции переключения выполняют также клавиши |F11 -
"назад" и |F3) - "вперед".
2. "ЧТ.ФАЙЛА" (чтение файла) - при нажатии клавиши |ВК| в командной
строке поочередно будут выводиться имена файлов текущего диска. Просмотр
меню <вперед-назад) может осуществляться клавишами |F1 J и (F31 . При
появлении нужного имени файла клавишей (КУРСОР ВВЕРХ| перейдите к
следующей позиции меню, тем самым зафиксируется выбранный файл.
3. "ТЕКСТ" - вход в меню для работы с текстовыми файлами.
4. "УСТ.ПЕЧАТИ" (установка печати) - вход в дополнительное меню для
предварительной настройки принтера. Настройка ведется только для
текстового режима.
5. "ГРАФИКА" - вход в меню для работы с графическими файлами.
ТЕКСТОВЫЙ РЕЖИМ
Меню текстового режима устанавливает атрибуты страницы и имеет следующие
функции.
1. "СТР.ТЕКСГА" (страница текста) - номер страницы по файлу.
Однозначного значения не имеет, т.к. зависит от количества строк в
странице. По умолчанию устанавливается "I", т.е. распечатка с начала
файла. Размер страницы (40 и 60 строк) соизмерим со страничной системой
редакторов "EDIT" и "AVITEX".
2. "ЛЕВОК ПОЛЕ" - поле с левой стороны текста на странице.
По умолчанию устанавливается величина рапная 8 символам шрифта "пика".
При переходе па другие шрифты абсолютный размер сохраняется.
3- "КОЛ.СТРОК" - количество строк па выводимой странице. По умолчанию
устанавливается 60 строк и расстояние между ними один интервал. При
включении интервала 1.5 (в дополнительном меню) автоматически
устанавливается 40 строк. Однако, пользователь может задать значение по
своему усмотрению.
4. "N СТРАНИЦЫ" - помер страницы, выводимый внизу распечатанного листа
текста. При установке "СТР. ТЕКСТА" авюмати-чески уста на вливаете я и
идентичный номер страницы, однако по желанию его можно изменить. Если
установить значение "0" - печать номера страницы отменяется.
Для изменения установочных параметров установите курсор в нужную позицию
и введите новое значение, а затем нажмите клавишу |ВК|
5. "ПЕЧАТЬ" - при нажатии клавиши |ВК| или |ПРОБЕЛ| начинается сам
процесс печати. После распечатки листа и заправки нового необходимо
повторно нажать одну из вышеназванных клавиш. При нажатии любой
символьной клавиши в момент печати текста процесс прерывается и принтер
допечатывает только то. что осталось в его буфере.
Перед нажатием "пусковой" клавиши (|ВК| или |ПРОБЕЛ|) можно включить
дополнительные режимы нажатием символов "R", "'/.", "Р"
"R" - включается режим печати на рулонную бумагу. Рядом со значением
количества строк на странице появится символ "R". Повторный ввод "R"
выключит режим. Если установить значение "N страницы" - 0. то вывод в
рулонном режиме будет происходить без деления на страницы.
"Z" - заправка бумаги. Клавишу "Z" держат нажатой до полной заправки
бумаги, при агом программа посылает па принтер байт 1.1' - 0AII. В
некоторых (старых отечественных) принтерах значение байта ЕЕ может быть
другим.
"Р" - включение режима повторения печати текущей страницы. В строке "СТР.ТЕКСТА"
выводится символ "+". Режимы "R" и "'/." блокируются. Прерывание печати
и выход в меню - АР2 (ESC). Выключаемся так же, как и "R".
11осле загрузки файла для распечатки программа "РМ4$" проверяет имя
расширения файла. Если файл имеет расширение ".AS" (исходный текст
программы па языке ассемблер) - включается специальный режим выделения
меток при распечатке исходных текстов ассемблера, созданных редакторами
"EDIT" или "AV1TEX". При :>том устанавливается интервал между строками -
1.0.
ДОПОЛНИТЕЛЬНОЕ МЕНЮ ПЕЧАТИ
Управление (в основном ESC-коды) печатающим
устройством в процессе распечатки файла осуществляется редактором путем
размещения ; этих кодов в тексте. Общие установочные параметры, всего
текста устанавливаются в дополнительном меню. Дополнительное меню
позволяет определить один из трех драйверов ЕРТ, а также шрифты, вид
(черновой/чистовой) печати, интервал между строками (1,0 или 1,5). Выбор
(или отмена) необходимого режима осуществляется клавишей |ВК|.
ГРАФИЧЕСКИЙ РЕЖИМ
В графическом режиме программа "PRINT-мастер V4.XX" выводит на печать
файлы, созданные графическим редактором "PENXS" (SPRITE-файлы -
расширение ".PC").а также файлы-копии экрана (SCRENN-файлы - ".PS")
SCREEN и самом простом случае создаются директивой "SAVE" "ORDOS"
в графической области ПК.
Меню графического режима имеет следующие функции:
1. ". PC/..PS" - переключение union 111.1 водимых графических файлов. По
умолчанию устанавливав имя "PC", под файлов, созданных графическим
редактором. Чтобы перейти на вывод SCREEN-файлов, необходимо ввести
символ "S и {ВК}
2. "ГРАФ. РЕЖИМ" (графический режим) - .<количество точек по
горизонтали. Интервал значений - О...о ,Чл: 'У совместимых прите ров
может иметь следующие значение
0 - одинарная ПЛОТНОСТЬ М
ПРОПУСК ИНФОРМАЦИИ ИЗ-ЗА НИЗКОГО КАЧЕСТВА
Примечание: Дюйм равен 2.54 мм.
Режимы 4 - 6 являются специальными режимами, которые изменяют плотность
и горизонтальном направлении для обеспечения пропорциональности, к
примеру, но отношению к монитору (дисплею) компьютера. 11о умолчанию
"PM4S" устанавливает режим 4.
Колес подробную информацию можно найти в инструкции по эксплуатации
Вашего принтера.
3. "ЛЕВОЕ ПОЛЕ" - то же самое, что и ickccobom режиме. По умолчанию - 64
точки. 11ри переключении горизонтальной плотности ( ГРАФ. РЕЖИМ")
изменяется обратно пропорционально плотности.
4 "ПЛОТНОСТЬ" - количество проходов печатающей головки но строке, что
определяет качество пропечатки изображения.
5. "НАЧАТЬ" - включение процесса печати в графическом режиме.
Первоначально графическое изображение выводится на экран, а затем на
притер.
Дополнительно можно включить режим заправки бумаги. Клавишу "/," держат
нажатой до полной заправки бумаги, а затем нажимают
[ПК] - для начала печати.
Выход из текущего меню в предыдущее - клавиша |АР2|. Чтобы вернутся в
DOC - нажмите функциональную
клавишу |F4|.
АДАПТАЦИЯ ПРОГРАММЫ
"РМ4$" имеет установочную таблицу. Расположенную и начале программы. С адреса 0010 но 003711 находя коды, используемые ; для настройки принтера из дополнительного меню.
ПРОПУСК ИНФОРМАЦИИ ИЗ-ЗА НИЗКОГО КАЧЕСТВА
Коды управления, приведенные как стандартные. Так и в самой программе.
относятся к принтеру D100MPC. Возможно, для других EPSON-совместимых
(из-за неполной совместимости) принтеров коды придется скорректировать,
liaiir "ЕЕ" в конце каждой строки является " тормозным".
Далее ( и далее программы) расположены имена драйверов"LPT"
для их загрузки в автоматическом режиме. По умолчанию "РМ4$" загружен
драйвер "LPT". Имена
драйверов даны условно, однако они должны совпадать с реальными на диске
"А" или "В"
Программа позволяет оперативно подключать LPT
драйвера "LPT" и режиме
распечатки текстов. Такая возможность можем использовался по-разному. В
одном случае это удобно при наличии нескольких разнотипных принтеров, в
другом - для упрощения функции печати.
К примеру, можно настроить притер (EPSON-совместимый) па установку
знакогенератора с альтернативной кодировкой при его включении. 11ри этом
для распечатки текстов с различной кодировкой (КОИ-7, КОИ-8, ЛЕТ -
кодировка, графика и т.д.) используют различные драйверы "ЕР Г", которые
внутри себя должны содержать перекодировочные таблицы.
ПРОПУСК ИНФОРМАЦИИ ИЗ-ЗА НИЗКОГО КАЧЕСТВА
TPOI.E" - нам. значение ясного поля с i роки для шрифта "PICA"
"TPOI.EK" - нач. значение левого поля строки для шрифта -КЫ'ГА"
"TP0LES" - нач. значение левого ноля строки для этого этого шрифта.
"GRI'Ol Е" - нач. значение ясного поля строки при выводе графической
информации.
"MODI-:" - режим (О - 6) установки горизонтальной плотности печати
принтера.
"THDI.N" - "C'R" и "ЕЕ" .для перехода строки и возврата головки принтера
на начальную позицию. Если принтер использует только один байт (ООП).
значение в горою (ОЛИ) меняется на ООП.
"1.1;Л - кол (ОЛИ), используемый принтером для продвижки бумаги при ее
заправке.
Пользователь может установись свои Значения применительно к своим по1
репное I ям или особенностям используемого принтера.
Управление графикой в некоторых ("У 113". 1)100 и $.д.) принтерах
отличается oт общепринятых правил. Чтобы иметь возможность использовать
такие устройства, программа печати строки в режиме графики размешена
также в начале и доступна для модернизации (разумеется, для icx.kio
можно запрограммирована языке ассемблер или в кодах). Ниже приводится ее
листинг с частичным комментарием.
Правила расчета констант (N1, N2) команды включения графическою режима "ESC"
приводится обычно в описании на принтер. Приведенный выше листинг
программы рассчитан на EPSON-совместимый принтер. Для других
(нестандартных) принтеров необходимо создать свою подпрограмму печати
строки графической информации.
ПОДКЛЮЧЕНИЕ ПРИНТЕРА
Большое количество имеющихся в эксплуатации типов принтеров и
совершенно разный подход в управлении и протоколах обмена создают
определенные сложности при разработке универсальных программ 1К'смотря
на то. что очень часто принтер объявляется как "KPSON-совместимый", на
самом деле оказывается, что по каким-либо управляющим кодам и
последовательностям управления есть различия. Кроме того, принтер
содержит набор переключателей для задания установок (режимов) при
включении. Зачастую их неправильное положение может свести па нет все
Ваши усилия. Потому следует очень внимательно ознакомиться с
документацией па принтер.
Для "Ориона" разработан свой подход к печати, дающий возможность снести
к минимуму привязку конкретного НУ (печатающею устройства) и базовых
программ. И частности, для вывода байта на печать используется
программа-драйвер, находящаяся в файле с именем "LPT".
Псе программы, использующие печать, сначала находят и "сажают" этот
драйвер, чтобы вести обмен с 11У только через него. Если у Вас какой-то
уникальный по управлению принтер. Вам достаточно только сделать или
заказан, свой драйвер и записать ею как файл под именем "LPT".
Никаких изменений в основных программах ("РМ4". "BASIC". "AV1TEX")
делать не придется.
При создании драйверов "LPT" необходимо
придерживаться следующих правил:
- стартовый адрес драйвера не имеет значения, лишь бы он при "посадке"
не конфликтовал с другими программами и драйверами;
- печатаемый байт передается драйверу в регистре "С", обращение к
программе печати байта происходит но адресу "посадки". При ;>том драйвер
должен сохранять все регистры;
- по адресу "посадки"+3 - вход в подпрограмму определения плотности ПУ.
Возвращается флаг пуля ("/,"). Если '/.-О - есть готовность, /.-/-О -
притер не готов. Некоторые программы вообще не используют данный вход.
работая по упрощенному алгоритму.
Драйверы LPT должны находиться на одном из RAM(ROM)
- дисков (А. В) в виде файлов
ORDOS. Но без
признака самозапуска. "PM4S" (в отличие от
PRINTM$)
может оперировать четырьмя такими драйверами: три - для печати текста и
один - для графики. Необходимый драйвер выбирается п дополнительном
меню, а его загрузка происходит автоматически. Первоначально поиск
производится на диске "В", а затем - на "А". Имена драйверов не имеют
особого значения и могут задаваться при настройке программы.
Этот же принцип следует применять при работе с принтером в
СР/М-80.
Своего рода "LPT", но в виде СОМ-файла
"садится" в конец BIOS, переключив соответствующие векторы па себя. Это
тема - для отдельной статьи.
В 90-е года у меня принтер СМ6337 успешно работал под ОРДОС и CP/M-80
Авторы проводили эксперименты с принтерами СМ6337, DIOOMC (Centronics),
ROBOTRON 6329.01 (RS232, ИРМP). СМ6312.
В таблицах 2 - 4 приведены три драйвера для различных типов интерфейса:
Параллельные - ИРПР-М (Centronics). ИРПР.
Последовательный - С2 (RS232. V24).
Вам необходимо выбрать подходящий для Вас и. если он полностью
удовлетворяет все потребности, присвоить соответствующее имя и прошить в
ПЗУ ROM-диска.
В силу некоторых различий принтеров предлагаемые драйверы, возможно и не
решат все проблемы. В этом случае приходится писать свой драйвер,
учитывающий особенности вашего принтера.
Таблица 2. ИРПР-М (Centronics)
АППАРАТНАЯ ЧАСТЬ
В зависимости от типа интерфейса принтера подключение можно выполнить
по одной из схем, приведенных на рисунках 1,2,3. Относительно
согласующего устройства для последовательного интерфейса следует
добавить, что питающие напряжения H2V и -12V несложно вывести с
принтера, избавив себя от дополнительных источников.
В самом простом случае ("по бедности", а теперь de-facto) интерфейс
принтера можно подключить к разъему XI (F600 - "пользовательский") .
Распределение выводов порта данных и управления для большинства
читателей не окажутся неожиданными. Они точно соответствуют тому. что
кооператив "Поиск" распространяет уже не первый год. Реальные адреса
порта задействованы только в "LPT". Тем не менее, учитывая
долговременную перспективу, лучший вариант - подключение к системной
шине дополнительной микросхемы КР5Н0ВВ55А по адресу 0F720-0F723H.
Впоследствии у Вас не возникнут проблемы в совместимости. Особенно это
относится к подключению контактных игровых манипуляторов - джойстиков,
опрос которых производится на уровне битов порта. Порт 0F600H следует
оставить для своего прямого назначения - эксперимент, временные
проработки новых идей, работа с программатором ПЗУ.
На рис.4 приведена схема подключения принтера с интерфейсом "Centronics"
и двух игровых манипуляторов - джойстиков. DD1 - дополнительная
микросхема БИС КР580ВВ55А. Сигналы по разъему Х2 подключаются на
системную шину компьютера (Х2). Проводник "А" подключается к
аналогичному проводнику на рис.5. Порт "А" выделен для подключения
джойстиков. С тем, чтобы подключи>, два манипулятора, применено
управление общим проводом каждого джойстика через порт "С". Если разряд
D2-0 (вывод РС3) - включен джойстик N1, a D3-0 (вывод РС4) - включен
джойстик N2. В реальной ситуации включение производится поочередно.
Порт "В" - шина данных принтера (исключение для RS232 - вывод РС1).
Микросхемы DD2, DD3 - буферные элементы с инвертированием. Для принтера
MС6312 можно их не ставить, однако в этом случае в "LPT" необходимо
внести изменение - исключить инвертирование данных. Управляющие сигналы
для всех типов интерфейсов (_STROBE, _Bi:SY,
SO, SC. AO, AC, DTR) передаются и принимаются через порт "С".
Если есть проблема с микросхемами К155J1H2 - можно использовать другие
аналогичные инверторы с открытым коллектором (K155JIA8). Если не
применяются специальные меры по согласованию, то длину кабеля не следует
делать более 1.5 метра.
На рис.5 приведен полный дешифратор порта расширения. Он выполнен на
доступных микросхемах по двухступенчатой схеме. Более компактно
дешифратор можно выполнить на "прошивке" ПЗУ.
Первая ступень - это дешифрирование адресного прост пространства 0F700...0F7PFH
(микросхема DD1) на 16 блоков по функциональному назначению. Краткий их
перечень и адреса приведены в таблице 5. Более подробно - в 11). Вторая
ступень - разбивка (не обязательна для всех блоков) на разделы, кратная
четырем. В нашей ситуации, для блока 2, необходима дополнительная
дешифрация на четыре раздела. Она выполняется микросхемой DD2. По
адресам 0F720 0F723Н включена микросхема порта принтера и джойстиков
(DD1, рис.4). Остальные адреса предназначены для дополнительных портов
N1 и N2 (КР580ВВ55А). Адреса 0F72C-0F72FH - зарезервированы (под
"мышь").
Контроллер дисковода 11 также можно подключить к данному дешифратору.
Для этого в схеме контроллера исключают микросхему DD14, а проводник,
ранее подключенный к ножке 10Этой микросхемы, подключается к ножке 2
микросхемы DD1 (рис.5).
И последнее. В апрельском номере журнала "Радио" 2) приведена
распортовка ("разумная стандартизация" в "настоящее и будущее")
интерфейсных устройств ПК "Орион-128", что является "изобретением'"
редакции и авторов указанной публикации. Эти же "стандарты" были
обнародованы теми же авторами и в 3). Всем понятно, что подобная
"самодеятельность", приведет к неразберихе, как это произошло ПК
"Специалист". Мы можем лишь посочувствовать авторам будущих статей
"Радио", которые "не получат поддержку. если не будут следовать основным
положениям по его расширению" ("Ориона", разумеется). Вот гак. и не
меньше.
Несмотря на авторскую "монополию по крупному" в публикациях по "Ориону",
нам так и не удалось представить читателям контроллер дисковода (да и
другую основополагающую информацию). И только журнал "Радиолюбитель"
(авторы признательны редакции) охотно откликнулся на наше предложение. В
итоге время было упущено - более, чем на полгода. А ведь для "Радио" не
секрет тот факт, что авторский контроллер уже повторили тысячи
пользователей ЛПК "Орион-128". Но...
Мы вполне понимаем, что редакция "Радио" имеет свой интерес (время
сейчас такое... "рыночное" - концовка редакционного предисловия это
подтверждает), но зачем же наводить "тень на плетень" и после нескольких
лет проведения единой концепции "Ориона" теперь "разворачивать оглобли".
Воистину - "что хочу, то и ворочу".
Литература:
1. В. Сугоняко, В. Сафронов. "Орион-128". Контроллер дисковода.
Радиолюбитель. 1993, N5.
2. Р.Рогов, М. Бриджиди. "Орион-128" - настоящее и будущее. Радио, 1993,
N4, с.18 - 22.
3. М. Бриджиди, Г.Рогов. Операционная система СРМ-80 для ПРК "Орион-1
28" .Радиолюбитель, 1993, N 3, С. 10.
Подключение принтера ЛК Орион-12 как подключить принтер к ПК Орион-128
Подключение принтера с последовательным интерфейсом
На предыдущую страницу На главную страницу На следующую страницу