А.М. Надежин
Использование БК-0010 для работы с текстами
Вопреки сложившемуся мнению домашний компьютер БК0010 пригоден не только для компьютерных игр, но и для более полезных целей, основной из которых, несомненно, является работа с текстами.
В отличие от более сложных ЭВМ (ДВК, IBM) и более простых (РАДИО 86РК, МИКРОША) БК не имеет аппаратного знакогенератора и все символы текста формируются на графическом экране. Однако на работу пользователя это практически не влияет, так как "рисованием" на экране символов занимается программа-знакогенератор, находящаяся в ПЗУ и являющаяся частью драйвера ТВ-приёмника. Пользователь же обращается к ресурсам текстового экрана с помощью специальных системных прерываний ЕМТ. Символ формируется в матрице 8x10 или 16x10 точек, при этом в строке помещается соответственно 64 или 32 знака. На экране размещается служебная строка и 24 (4 в режиме расширенной памяти) строки текста. Набор символов БК- 0010 включает русские и латинские заглавные и прописные буквы, знаки препинания, цифры, псевдографические символы, управляющие коды. Драйвер ТВ-приёмника позволяет выводить символы в обычном и инверсном виде, с подчёркиванием и без. В режиме "32 символа в строке" возможна установка цвета символов и фона.
Но кроме хороших встроенных средств, для того, чтобы можно было работать на БК с текстами, нужна ещё и специальная программа. Обычно это текстовый экранный редактор (ТЭР). ТЭР предназначен для создания, редактирования, дополнения текста, хранения текстов на магнитной ленте и для распечатки их на принтере. Кроме ТЭР используются сервисные программы, позволяющие переводить текст из формата в формат, просматривать его на экране, распечатывать на принтере. К сожалению, из-за того, что все существующее для БК программное обеспечение создаётся любителями и отсутствуют какие-либо стандарты, возникают проблемы совместимости файлов разных ТЭР, кроме того, иногда используются схемы подключения печатающих устройств, отличающиеся от стандарта. Схема стандартного подключения к БК-0010 принтера "robotron СМ 6329" с интерфейсом IFSP приведена на рисунке. Другие принтеры с параллельным интерфейсом подключаются аналогично.
В настоящее время для БК-0010 существует более 15 текстовых редакторов. Самый старый и наиболее распространённый ТЭР EDASP, созданный группой ASP по образу и подобию редактора EDIK, работающего на ДВК в среде ОС RT-11, позволяет создавать текст размером до 10 Кбайт (около 6 листов машинописного текста), редактировать его, сохранять на магнитной ленте, дублировать и перемещать части текста с помощью буфера, находить в тексте нужные фрагменты в режиме поиска, создавать и выполнять макрокоманды (например, для автоматического поиска в тексте определённого слова и исправления его на другое). Ввод текста может осуществляться в режимах вставки и замены. В режиме вставки при наборе текста правая от курсора часть строки, не стираясь, сдвигается вправо, напротив, в режиме замены новый текст замещает старый, как бы накладываясь на него. При достижении конца строки набираемое слово автоматически переносится на следующую строку. Редактор способен работать только в режиме "64 символа в строке". Последние версии редактора EDASP10 и EDA позволяют также распечатывать текст на принтере.
Редактор EDIT имеет более удобный интерфейс общения с магнитофоном, может работать в режимах 32 и 64 символа в строке, использует формат текста с упаковкой пробелов (вместо нескольких кодов идущих подряд пробелов в память записывается один код, показывающий количество последовательно идущих пробелов), позволяет создавать тексты размером до 13,125 Кбайт (около 10 страниц), однако EDIT обладает меньшими возможностями, чем EDASP, в частности ввод текста в нем возможен лишь в режиме замены.
Системы работы с текстами OSBK и OSFX (последние версии OSBK6 и OSFX6), кроме текстового редактора, включает в себя файловый монитор, позволяющий одновременно хранить в памяти несколько текстов, просматривать их на экране, распечатывать на принтере (версии OSFX распечатывают тексты на принтерах EPSON FX).
Редактор REDTT позволяет в дополнение к основным символам использовать греческий алфавит.
ТЭР TED5 имеет встроенную подсказку, позволяет работать в режимах 32 и 64 символа в строке, обычной и расширенной памяти, распечатывать тексты на принтерах с различными интерфейсами и наборами шрифтов, записывать текст на МЛ в виде самостоятельного модуля с программой вывода на экран.
Редактор MEDIC1 имеет достаточно широкие возможности, хранит текст в компактном формате аналогично ТЭР EDIT, позволяет выравнивать строки по правому краю.
Текстовый редактор EDITOR80 имеет встроенный знакогенератор, обеспечивающий отображение 80 символов в строке и позволяет работать со строками неограниченной длины (при этом на экране отображаются первые 80 позиций строки). К сожалению, этот редактор имеет ограниченные сервисные возможности и не позволяет использовать символы псевдографики. Автором этой статьи была предпринята попытка усовершенствовать этот редактор - результат получил название ANED80. Он имеет более удобный файловый интерфейс, встроенную программу печати, драйвер клавиатуры с автоповтором и защитой от дребезга, несколько дополнительных команд редактирования.
Редактор EDIT.WS имеет практически тот же набор команд, что и EDASP, но при этом занимает в памяти почти вдвое меньше места. Дополнительные возможности этого редактора - режимы выравнивания строки и транслитерации (преобразования строчных букв в заглавные, латинских в русские и т.д.).
Сервисные программы работы с текстами делятся на три основные группы: программы просмотра; программы печати; программы форматирования и преобразования.
Программы просмотра предназначены для создания описаний к программам и позволяют быстро и удобно просмотреть текст на экране. Так, программа DOCUM считывает с магнитной ленты файл в формате редактора EDASP и записывает файл, снабжённый простейшей программой просмотра, выводящей по нажатию любой клавиши очередную порцию текста. Монитор постраничного просмотра текстовых файлов MONSTR (последняя версия MONSTR4) позволяет листать текстовый файл вперёд и назад, переходить к указанной странице по её номеру, распечатывать текст, считывать с магнитной ленты текстовый файл в одном из нескольких форматов и записывать на ленту MONSTR вместе со считанным файлом. Программа READER (последняя версия READER3) имеет значительно меньший, чем у MONSTRax размер и осуществляет выдачу на экран текста в рулоне.
Большое количество существующих программ печати обусловлено в основном различием форматов текста у разных редакторов и спецификой отдельных печатающих устройств. Программы PRINT, PRINTER, ROBOTRON, ПЕЧАТЬ.1, TERM, CON254, CON260 предназначены для печати на принтерах "УВВПЧ", "Robotron СМ 6329", "D100", "СМ 6312" (термоструйный), электрических печатающих машинках "Consul-254", "Consul-260". Были также предприняты попытки создать универсальные программы печати: программа МИФ + ПРИНТ работает с одним из шести форматов текста и, кроме того, способна в графической форме воспроизводить на принтерах, совместимых с "Robotron СМ 6329" символы псевдографики; программа PRINTEX перехватывает любой вывод на экран и позволяет отпечатывать на принтере всю текстовую информацию с экрана.
Программа FORMAT (последняя версия FORMAT2) позволяет с помощью специальных команд оформлять текст, создаваемый в редакторе EDASP: автоматически создавать оглавление, выравнивать правый край текста, переключать режимы работы экрана. Программы BASEDA и EDABAS транслируют текст из формата Бейсика ПЗУ в формат ТЭР EDASP и обратно. Таким образом можно создавать и редактировать текст программы на языке БЕЙСИК в удобном текстовом редакторе. Программа FEDASP производит аналогичные действия для языка ФОКАЛ. Программа UNTR переводит текст из формата EDASP в формат ассемблер-систем MICRO, MICRO.WS или TURBO и обратно.
Отдельную группу составляют сервисные программы, позволяющие переносить тексты между различными машинами. Программа БК-МИКРОША позволяет на БК-0010 считывать файлы, записанные на компьютерах РАДИО 86РК, МИКРОША, и записывать их на ленту в обычном формате БК. Программы BKOUT.SYS и RKOUT.SYS позволяют, помимо переноса файлов, осуществлять переформатирование текстов в соответствии с кодовыми таблицами БК0010 и РАДИО 86РК.
Таким образом, БК-0010 является достаточно мощным инструментом для работы с текстами и вполне пригоден для создания небольших описаний, статей или документов. Так, статья, которую Вы сейчас читаете, написана на БК с помощью редактора ANED80.