УДК 681.3.06

Д.А. Черников, К.А. Черников

ПАКЕТ ПРОГРАММ ДЛЯ РАБОТЫ МИКРО-ЭВМ «ЭЛЕКТРОНИКА БК-0010» В КОМПЛЕКТЕ С ПЕЧАТАЮЩИМ УСТРОЙСТВОМ

Подключение печатающего устройства (ПУ) к БК-0010 существенно расширяет спектр возможностей компьютера. Авторами разработан пакет программ для работы БК-0010 в комплексе со стандартной термопечатью (в комплекте с ДВК-2) или другим ПУ с аналогичным интерфейсом. В первый момент было желание разработать одну универсальную программу, выполнявшую все функции, которые могут потребоваться при печати с БК-0010. Но универсальная программа стала занимать довольно значительный участок и без того малой памяти, что заставило отказаться от этого варианта и создать пакет для работы в различных режимах (ФОКАЛЕ, Мониторе, БЕЙСИКЕ-87...) и печати текстовых файлов различных форматов (MIKRO8S, EDASP...). В пакет входят следующие программы:

DIR/PRI - печать каталогов файлов (с указанием имени и типа файла, а также его начального адреса и длины), записанных на внешний носитель. Все имена прочитанных файлов заносятся в буфер (в формате редактора текстов EDASP), который может быть записан на внешний носитель и в дальнейшем считываться из редактора EDASP как простой текстовый файл. Существует возможность многократной печати буфера (программа работает в диалоговом режиме).

PRI/FOC:DOC - печать текстов или результатов работы программ, написанных на ФОКАЛЕ. Печать производится с разбиением текста на страницы с указанием в начале каждой имени работающей (или распечатываемой) программы и номера страницы. Существует вариант этой программы и без разбиения на страницы. После запуска программы с адреса её загрузки управление передаётся ФОКАЛУ, затем, используя его стандартные команды, можно считать программу, текст или результаты работы которой требуется вывести на печать. Необходимо лишь следить за тем, чтобы текст программы, написанной на ФОКАЛЕ, не затёр программу печати, для чего последнюю нужно загружать в дальние ячейки ОЗУ (программа занимает 1150 адресов) или, если программа на ФОКАЛЕ занимает всю область ОЗУ, переходить в режим расширенной памяти. Для включения режима печати надо указать команду X FCHR(1). Далее любой текст, выводимый на дисплей, будет дублироваться на ПУ. Выключается режим печати по команде X FCHR(2).

PRI/ED/K - печать файлов, написанных в редакторах EDASP и MIKRO8K, или других аналогичного формата. Печать осуществляется с разбиением на страницы и указанием в начале каждой имени печатаемой программы и номера страницы.

PRI/S - печать файлов, написанных в редакторе MIKRO8S, или других файлов аналогичного формата. Работа программы полностью аналогична PRI/ED/K.

PRI/MIK - дублирование на печать любой информации, выводимой на дисплей при работе в мониторе (например, распечатывает содержимое ячеек с адреса 0 по 1000), или печать нестандартных текстовых файлов (например, адресов меток операторов, получаемых при трансляции программы, написанной на МИКРО), или вывод любой информации, полученной после старта какой-либо программы из монитора (например, инструкций к некоторым играм, выполненных как законченные программы, а не в виде текстовых файлов). Вывод на ПУ начинается после ввода с клавиатуры или вставки в выводимый текст двух точек с запятой. После этого любая информация, выводимая на дисплей, будет дублироваться на ПУ. Выключается печать после ввода подряд двух звёздочек - **. (Если в выводимом тексте встречаются две звёздочки подряд, то символ окончания печати нужно выбрать другим. Это делается заменой кода звёздочки на другой.)

PRI/BAS - печать шести текстов или результатов выполнения программ, написанных на БЕЙСИКе для БК-0010 со встроенным ФОКАЛОМ. Программа получилась настолько маленькой, что её удалось разместить в области системного ОЗУ, которая при работе БЕЙСИКа остаётся незадействованной. Режим печати включается командой POKE 24,250, после чего любой текст, выводимый на дисплей (например, командой LIST) будет дублироваться на ПУ. Выключается печать командой POKE 24,-32694.

Особенности этих программ:

Сопряжение с печатью программное, ПУ подключается к разъёму пользователя. По младшим семи разрядам порта вывода на ПУ передаются данные, по восьмому разряду порта идёт сигнал, который подаётся на контакт СИ4 разъёма термопечати (для переключения режимов работы ПУ), девятый разряд - сигнал синхронизации. Сигнал СИ3 на разъёме термопечати подключён к выводу «Корпус», разряд готовности не используется (считается, что оба устройства всегда готовы к передаче данных). Остальные контакты разъёма термопечати не используются.

Телефон 582-45-34, Москва

Сообщение поступило 26.05.88


 

УДК 681.322.042

В.Л. Лавровский

ГРАФИКА ЛОКАЛЬНОЙ СЕТИ МИКРО-ЭВМ БК-0010

Разработана локальная сеть, позволяющая работать на языке Паскаль с элементами формирования графических изображений на микро-ЭВМ БК-0010. Сеть промышленного исполнения функционирует без технических изменений. Работу сети в центральном комплексе обеспечивает программа связи с БК-0010 и операционная система ОС ДВК со средствами для работы на Паскале. В каждой из БК-0010 выполняется программа-монитор, содержащая редактор текста. Она преобразует команды оператора на трансляцию, загрузку исходного текста и оттранслированной программы в БК-0010 в соответствующие запросы к программе, исполняемой в центральном комплексе.

За основу модуля-ловушки прерываний взят модуль ST10 [1], недостатком которого можно считать невозможность выполнения многих команд EMT БК-0010, так как все команды EMT, не связанные с вводом-выводом на дисплей, воспринимаются им как ошибочные. Изменения, позволяющие устранить этот недостаток, свелись к преобразованию модуля ST10 от метки EXIT: до метки ЕХЕМТ:

EXIT:   CMPB    R0,#350
        BNE     BKEMT
        HALT    
BKEMT:
        MOVB    R0,EMT
        BIC     #1,6(SP)
        MOV     (SP)+,R1
        MOV     (SP)+,R0
EMT:    EMT     0
        JSR     PC,T60
        RT1
EXEMT:

Возможность использовать команды EMT в программах позволила выводить графические изображения на экран монитора БК-0010. Для этого были написаны процедуры на Паскале, в которых применяются фрагменты на Макроассемблере. Процедуры оформлены, как внешние, оттранслированы отдельно и объединены в библиотеку GRAF.OBJ, расположенную на диске центрального комплекса. В состав библиотеки входят процедуры:

INIT - начальная инициация графического пакета,

POINT(X,Y:INTEGER; LIGHT:BOOLEAN) - формирования точки,

LINE(X1,Y1,X2, Y2:INTEGER;LIGHT:BOOLEAN) - формирование линии,

CIRCLE(X,Y,R:INTEGER; LIGHT:BOOLEAN) - построение окружности,

ARC(X,Y,R,L1,L2:INTEGER;LIGHT:BOOLEAN) - построение дуги,

BOX(XLD,YLD,XUR,YUR:INTEGER;LIGHT:BOOLEAN) - построение прямоугольника,

FILL(X,Y:INTEGER;LIGHT:BOOLEAN) - заполнение области,

CELL(I,J:INTEGER;VAR MAT:TMAT;LIGHT:BOOLEAN) - вывод на экран массива 8×8 точек, где тип TMAT - ARRAY [1...8] OF CHAR.

Эти процедуры подключаются к головной программе на этапе компоновки и должны быть описаны в ней, как внешние. Параметр LIGHT означает свечение или гашение точки: если LIGHT - TRUE, то точка с этими координатами засвечивается; если же LIGHT - FALSE, то точка гаснет.

В качестве примера рассмотрим реализацию процедуры LINE:

(* Е+*)
PROCEDURE LINE(X1,Y1,Х2,Y2:INTEGER;LIGHT:BOOLEAN); BEGIN
MO\C (* C   MOV     #1,R0
            TSTB    LIGHT(SP)
            BNE     1
            MOV     R0
            MOV     X1(SP),R1
            MOV     Y1(SP),R2
            EMT     -030
            MOV     X2(SP),R1
            MOV     Y2(SP),R2
            EMT     -032            *)
END;

Полезная особенность сети - возможность получения копии графического изображения с экрана БК-0010. Для этого содержимое ОЗУ БК-0010, соответствующее экранной памяти, записывается на диск центрального комплекса и затем распечатывается на матричном устройстве печати. Кроме того, возможна и немедленная (т.е. минуя диск) распечатка содержимого экранного ОЗУ.

Телефон 5-79-14, Орджоникидзе

ЛИТЕРАТУРА

  1. Водянкин А.Г., Моисеенко В.И., Учебная локальная сеть микро-ЭВМ // Микропроцессорные средства и системы.- 1987. - № 4.
  2. Математическое обеспечение микро-ЭВМ БК-0010. Руководство системного программиста. - 1985. - Т. 1, кн. 2.
  3. Микрокомпьютерная графика / Д. Хирн, М. Бейкер. - М.: Мир, 1987.

Статья поступила 20.06.88


 

УДК 681.3

Б.М. Лисенков

СОПРЯЖЕНИЕ ПИШУЩЕЙ МАШИНЫ КОНСУЛ-260 С ПЭВМ ТИПА БК-0010

Для сопряжения электрифицированной пишущей машины (ЭПМ) «Консул-260» с ПЭВМ БК-0010 разработана схема переходного устройства и написана программа-драйвер АЦПУ, загружаемая в ПЭВМ с магнитной ленты при необходимости вывода информации на печать. Программа-драйвер написана на языке ассемблера в трёх вариантах: в виде самостоятельной программы, загружаемой в любую область ОЗУ пользователя; дополнения («врезки») к интерпретатору языка ФОКАЛ, имеющемуся в ПЗУ машины; врезки в компилятор языка БЕЙСИК, при этом получившийся дополненный компилятор хранится на магнитной ленте и загружается вместо обычного компилятора для вывода информации на печать. Все разновидности драйвера обеспечивают вывод на печать текстов программ и данных, включая результаты решения задач, т.е. дают полную распечатку всей информации, выводимой на экран.

 

Рис. 1. Принципиальная схема переходного устройства

 

С драйверами АЦПУ работают в режиме «узкого» экрана, в котором ёмкость ОЗУ пользователя увеличена с 357768 до 557768 байт. Загрузка драйвера производится обычно, начиная с адреса 400008, хотя начальный адрес загрузки может быть любым.

При начальном запуске с адреса загрузки (в режиме «Монитор» - S<адрес загрузки>, а в режиме отладки «ТС» - G<адрес загрузки>) программа изменяет векторы прерывания по клавиатуре (60) и EMT (30) на адреса подпрограмм дополнительного анализа кодов символов клавиатуры и прерываний по EMT. В самостоятельном варианте драйвера замена операторов NOP и HALT по адресам 14 и 16 на оператор JMP <начальный адрес> позволяет передавать управление после начального запуска на любую программу, расположенную в ОЗУ или ПЗУ. Такой механизм используется, в частности, в вариантах «врезок» в язык ФОКАЛ (оператор JMP 120000) и компилятор языка БЕЙСИК (оператор JMP 15174).

 

Рис. 2. Функциональная схема переходного устройства

 

Рис. 3. Схема соединений переходного устройства

040000

012737

040066

000060

012737

040020

000030

040014

000240

000000

010546

016605

000002

014505

040030

042705

177400

022705

000016

001403

012605

040044

000137

100112

012605

022700

000214

001372

040060

012700

000040

000767

023727

177662

000015

040074

001406

023727

177662

000020

001410

000137

040110

101136

012737

040136

000030

004767

001020

040124

000002

004767

001066

000240

000002

010546

040140

016605

000002

014505

042705

177400

000167

040154

001062

000240

012605

000137

100112

012605

040170

022700

000214

001002

012700

000040

004767

040204

000002

000765

010346

010446

010546

004767

040220

000226

010704

004767

000650

126400

000510

040234

001444

005204

077505

010704

004767

000642

040250

126400

000600

001453

005204

077505

022700

040264

000012

001413

022700

000025

001410

012737

040300

077737

177714

004767

000160

004767

000134

040314

000451

012737

175577

177714

004767

000140

040330

004767

000114

004767

000140

000240

000240

040344

000435

012737

177177

177714

004767

000110

040360

004767

000064

004767

000310

000240

004767

040374

000072

004767

000046

000416

012737

176577

040410

177714

004767

000052

004767

000026

004767

040424

000252

000240

004767

000034

004767

000010

040440

012605

012604

012603

000207

012737

177777

040454

177714

012704

001000

000240

077402

000207

040470

012704

020000

077401

000207

012704

177777

040504

000240

077402

000207

000000

000000

000000

040520

077577

077737

077757

077773

077775

077776

040534

137737

137757

137767

137773

137775

137776

040550

157577

157737

157757

157767

157773

157775

040564

157776

167737

167757

167767

167773

167775

040600

167776

173737

173757

173767

173773

173775

040614

173776

173776

175737

175757

175767

175773

040630

175775

175776

176577

176737

176757

176767

040644

176773

176775

176776

177177

177337

177357

040660

177367

177373

177375

177376

137767

175773

040674

177373

177373

012704

000070

160504

060404

040710

000240

000240

060304

000506

006010

044050

040724

054120

024441

044537

054521

021033

041052

040740

051112

021532

041453

051513

022133

042074

040754

052114

133574

036445

120105

056525

023016

040770

043076

053116

007536

037447

076507

077527

041004

066500

067717

014430

164070

174360

034461

041020

164741

174761

031024

161072

171352

031772

041034

161473

171753

032373

162054

172354

137774

041050

026465

166745

176765

033162

163056

173356

041064

066376

027467

167747

160367

046501

047460

041100

012705

000070

162704

000014

000405

012705

041114

000070

162704

000034

000240

010403

000207

041130

000000

000000

016437

000310

177714

000207

041144

010046

010146

012701

000010

012700

000341

041160

104022

005201

012700

000343

104022

005201

041174

012700

000360

104022

005201

012700

000365

041210

104022

012601

012600

000207

012737

040020

041224

000030

010046

005000

104022

012600

000207

041240

022705

000016

001002

000167

176714

022705

041254

000020

001402

000167

176674

012605

010046

041270

010346

010203

000303

042702

177400

112100

041304

104016

120003

001401

077205

012603

012600

041320

000000

000000

000000

000000

000000

000000

Рис. 4. Дамп памяти драйвера печати

В составе программы-драйвера имеется несколько подпрограмм. Подпрограмма дополнительного анализа кодов символов клавиатуры служит для включения (клавиша ПЭВМ УСТ. ТАБ.) и выключения (СБР. ТАБ) режима печати. Используются также комбинации клавиш СУ с соответствующими алфавитными. Включение режима печати сопровождается появлением на служебной строке слова АЦПУ.

Подпрограмма анализа прерываний по EMT обеспечивает вызов подпрограммы управления печатью при прерываниях по EMT 16 (посимвольный вывод, применяется в самостоятельном варианте и с языком ФОКАЛ) или по EMT 20 (вывод строки, используемый в основном с компилятором языка БЕЙСИК). При прерывании по EMT 20 строка выводится путём многократного вызова в цикле оператора EMT 16 и подпрограммы управления печатью. В любом случае подпрограмма управления печатью вызывается только при включённом режиме печати.

Подпрограмма управления печатью ставит в соответствие каждому печатному символу (на ЭПМ «Консул-260») комбинацию двоичных разрядов, соответствующую данному символу в коде матрицы включения электромагнитов ЭПМ, и заносит её в выходной регистр 16-разрядного параллельного порта БК-0010 в виде числа, представляемого по одной единице в старшем и младшем байтах. Эти комбинации разрядов формируются с помощью таблицы, в которой каждому печатному символу поставлено в соответствие определённое двоичное число (выходной код), состоящее из указанных выше двух единиц. Вместо строчных букв, полуграфики и других символов, отсутствующих на ЭПМ «Консул-260», печатаются пробелы. Таблица сравнения символов побайтная, а таблица выходных кодов пословная, так как каждый выходной код занимает 16 разрядов. Выходные коды хранятся в таблице в дополнительном коде в соответствии с принципом вывода информации на порт, принятым в ПЭВМ БК-0010.

Переходное устройство (рис. 1), включаемое между выходным регистром порта БК-0010 и входами матрицы электромагнитов ЭПМ, преобразует сигналы уровня ТТЛ, выдаваемые ПЭВМ, в сигналы высокого уровня, требуемые для возбуждения электромагнитов. Сопротивление электромагнитов ЭПМ постоянному току составляет 8 и 17 Ом, а ток необходимый для их срабатывания, должен быть в пределах 0,8...1,5 А. Напряжение питания цепей электромагнитов - 12 В. Переходное устройство содержит восемь «плюсовых» каналов, входы которых подключаются к выходам старшего байта порта БК-0010, и восемь «минусовых» каналов, входы которых подключаются к выходам младшего байта (рис. 2). Каждый канал содержит мощный ключ на транзисторе, управляемый соответствующими предварительными каскадами, осуществляющими усиление и преобразование уровня сигнала. Входные каскады всех каналов одинаковы по схеме и параметрам. Схема соединений приведена на рис. 3, самостоятельный вариант разработанного драйвера - на рис. 4 в виде дампа памяти.

Переходное устройство эксплуатируется уже более полугода и за это время показало себя надёжным в работе.

Телефон 150-33-18, Москва

Статья поступила 8.07.88

 

Performed by © gid, 2012-2022.