Радио-86РК/Радио 09-90/Экранный генератор BEST
Данный материал защищён авторскими правами!
Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей. Автор: А. СОРОКИН Источник: http://retro.h1.ru/RK86/Best/PrBest.php |
Кому хоть раз приходилось создавать «экран» в Бейсик — программе хорошо знает, сколь кропотлива эта работа: сначала, как правило, проектируют «экран» на бумаге, а затем определяют координаты каждой строки символов и описывают ее оператором PRINT.
К сожалению, даже такой «наглядный» метод разработки «экрана» не позволяет создать его за «один проход», и работу приходится выполнять не один раз, пока, наконец, созданное не совпадет с задуманным. Значительно облегчить проектирование «экрана» для Бейсик — программ вам поможет описываемый ниже генератор BEST.
Программа BEST позволяет создать изображение на экране размером 25 строк и 64 позиции, а затем превратить его в последовательность команд BASIC интерпретатора. Программа создана для интерпретатора BASIC «МИКРОН» на компьютере «Радио-86РК».
В течение всего нескольких минут вы можете «спроектировать экран». Для этого в генератор включены команды: вставка строки, удаление строки, вставка символа, удаление символа, перемещение строки или участка экрана, запись на магнитофон и ввод с него проектируемого экрана, разнообразное позицирование курсора.
Введя машинные коды программы BEST, приведенные в табл.1, и удостоверившись в правильности набора по табл.2, запустим программу директивой МОНИТОРа G6000. Генератор начинает работу с показа заставки, а затем переходит в режим создания изображения.
Таблица 2
6000-60FF | 931F |
6100-61FF | 5F49 |
6200-62FF | 6F28 |
6300-63FF | 4FA8 |
6400-64FF | BDCO |
6500-65FF | 6F3B |
6600-66FF | 2745 |
6700-67FF | 595D |
6000-67FF | CBD5 |
Команды генератора, перечисленные в табл.3, всегда можно прочесть, обратившись к панели помощи нажатием клавиши «F1».
Таблица 3.
- Позиционирование курсора:
- ← Влево
- → Вправо
- ↑ Вверх
- ↓ Вниз
- АР2+Т Вверх экрана (по столбцу)
- АР2+В Вниз экрана (по столбцу)
- АР2+М В середину строки
- Редактирование:
- АР2+А Втавить строку
- АР2+Е Удалить строку
- АР2+I Втавить символ
- АР2+D Удалить символ
- Управление экраном:
- АР2+S Запись экрана
- АР2+L Ввод экрана
- АР2+Q Выход в Монитор
- СТР Стирание экрана
- F4 Трансляция экрана
- Блочные команды:
- АР2+N Маркер на начало блока
- АР2+K Маркер на конец блока
- ВК Установка блока.
Пользуясь командами перемещения курсора и символьными клавишами, создают экран. При необходимости вставить символ в определенное место строки вводят команду AP2+I. При этом часть строки справа от курсора сдвигается на одну позицию право, причем крайний правый символ строки теряется, при удалении символа происходит сдвиг правой части строки от курсора влево на одну позицию. Переместить текст по вертикали на экране или вставить и удалить строку можно командами АР2+А и АР2+Е. Команда вставки строки «проталкивает» текст вниз от строки, в которой стоит курсор. Самая нижняя строка теряется. Команда удаления строки поднимает текст вверх на строку, в которой стоит курсор. При необходимости перемещения части экрана пользуются блочными командами. Блок сначала помечают, а потом перемещают (блоком может служить как строка, так и столбец экрана). Помечают блок так: в левый верхний угол экрана подводят курсор и нажимают AP2+N, потом подводят курсор в правый нижний угол и нажимают АР2+К — то есть расставляют маркеры начала и конца. После расстановки маркеров блок, по углам, помечается символами псевдографики. Далее блок перемещают, используя клавиши курсора. Устанавливают блок нажатием клавиши «ВК». Признак установки — исчезновение, по углам, символов псевдографики, то есть угловых маркеров. Не до конца спроектированный экран можно записать на магнитофон командой AP2+S, а, начиная работать в генераторе экрана, следующий раз ввести экран командой AP2+L.
Окончательный вариант экрана компилируют, нажимая клавишу «F4». После окончания компиляции программа «BEST» выходит в Монитор. Далее, загрузив интерпретатор BASIC «МИКРОН», отвечают на его запрос «NEW?» — «N». Теперь, используя оператор Бейсика LIST, можно просмотреть экран, созданный в командах Бейсика. Соответствующие строки Бейсик — программы начинаются с 2000. Дальнейшая работа в интерпретаторе происходит как обычно.
Таким образом при необходимости сгенерировать новый экран для Бейсик — программы или вставить экран в готовую программу: следует выполнить следующие операции:
- «пролистнуть» программу на Бейсике до конца (введя оператор LIST) и выйти из Бейсика (нажав клавишу «СТР» или «СБРОС»);
- адрес, расположенный в ячейках 2064—2065 (МЛ.БАЙТ, СТ.БАЙТ), уменьшить на 3 и записать в ячейки 6391—6392 (МЛ.БАЙТ, СТ.БАЙТ) экранного генератора (номер строки Бейсик — программы, с которой транслируется экран, расположен в ячейках 639А, 639В (МЛ.БАЙТ, СТ.БАЙТ);
- запустить экранный генератор «BEST», создать экран и оттранслировать его;
- войти в BASIC и, воспользовавшись оператором RENUM, перенумеровать строки Бейсик — программы.
При желании детального разбора программы понадобится полный текст программы на языке ассемблера, который можно получить, воспользовавшись дизассеблером. Программа «BEST» состоит из двух основных подпрограмм: редактора экрана и транслятора экрана. Эти подпрограммы, в свою очередь, используют несколько основных подпрограмм, текст которых приведен ниже (табл.4). Чтобы вы могли использовать эти подпрограммы в своих программах, приводятся алгоритмы и описания их использования.
А. СОРОКИН, г. Москва
Отсканировано с журнала Радио № 9 1990 г.
Отредактировано Лесных Ю. 2001 г.