Главная Дока Микро-80 Радио-86РК ЮТ-88 Орион-128 Ссылки Новости Письмо

Описание компьютера Радио-86РК
Журнал РАДИО

Бейсик для "Радио-86РК"

Для компьютера "Радио-86РК" можно использовать интерпретатор языка Бейсик, разработанный для "Микро-80" и опубликованный в [1, 2]. Необходимо только изменить коды в областях памяти 490H-4AFH, 4D0H- 4EFН, 1010Н- 104FH, 1740Н-184FH, 1950Н- 19FFH (см. табл.1), а также в ячейках, перечисленных в табл. 2. Опыт показывает, что лучше всего вводить коды интерпретатора в ОЗУ компьютера блоками по 256 байт, проверяя правильность ввода каждого из них и срезу же записывая его на магнитофон. После записи всех блоков программу вводят с магнитофона поблочно, еще раз проверяют и только после этого записывают на магнитофон полностью. Контрольные суммы отдельных блоков и всей программы, которые подсчитывает МОНИТОР при записи и воспроизведении, приведены в табл. 3. Они соответствуют еще не работавшему (ни разу не запускавшемуся по директиве GO) интерпретатору. После запуска контрольные суммы некоторых блоков и всего интерпретатора изменятся.

Таблица 2.

Адрес

Код

Адрес

Код

0001H

0002H

0170H

017EH

0194H

0244H

0246H

0248H

16H

02H

65H

79H

AFH

1BH

1BH

1BH

024AH

024CH

1050H

1866H

18B6H

18E7H

194CH

1BH

1BH

F8H

31H

31H

С5H

4EH

 

 

В ячейках 17F0H, 17F1H указан адрес ячейки экранного буфера, соответствующей верхнему левому углу экрана. Этот адрес необходим для нормальной работы псевдографических операторов PLOT X, Y, Z и LINE X, Y. Если ОЗУ компьютера имеет объем 32 Кбайте, то в эти ячейки нужно записать число 77С2Н. Напоминаем, что в ячейку с меньшим адресом всегда записывается младший байт двухбайтового числа.

Таблица 3.

Адреса блока

Контрольная сумма

0000Н—00FFH

036FH

0100Н— 01FFH

37Е3Н

0200Н—02FFH

26F1H

0300Н—03FFH

714ВН

0400Н— 04FFH

С51ЕН

0500Н—05FFH

D061H

0600Н—06FFH

D4E4H

0700Н—07FFH

3190Н

0800Н—08FFH

Е638Н

0900Н— 09FFH

7CD6H

0А00Н—0AFFH

07F4H

0В00Н—0BFFH

246АН

0С00Н—0CFFH

6774Н

0D00H—0DFFH

64СВН

0Е00Н— 0EFFH

С533Н

0F00H—0FFFH

FD93H

1000Н—10FFH

А455Н

1100H—11FFH

B570Н

1200H—12FFH

59BFH

1300H—13FFH

6BD6H

1400Н—14FFH

18А2Н

1500H—15FFH

11В4Н

1600H—16FFH

DB3DH

1700Н—17FFH

1274Н

1800H—18FFH

3CF0H

1900H—19FFH

57FFH

0000Н—19FFH

1242Н


При каждом запуске (директивой G0) интерпретатор запрашивает у МОНИТОРА верхнюю границу адресов ОЗУ, которыми он может пользоваться.

Значение этой границы записывают по директиве М в ячейки 3631Н, 3632Н. Если граница попадает в область памяти, уже занятую самим интерпретатором или введенной ранее программой на Бейсике, то при попытке запустить интерпретатор он выведет на экран минимально допустимое шестнадцатеричное значение границы и возвратит управление МОНИТОРУ. Заметим, что при установке этого значения в распоряжении пользователя остается около 200 ячеек памяти для размещения программ и данных. Если при вводе программы на Бейсике (вручную или с магнитофона) значение верхней границы адресов ОЗУ будет превышено, то выдается сообщение об ошибке 07. То же произойдет и при работе программы, если интерпретатору не хватит объема памяти для размещения переменных.

Следует иметь в виду, что нажатие на кнопку "СБРОС" автоматически устанавливает значение верхней границы доступной памяти, равное 35FFH (75FFH для ОЗУ 32 Кбайта), и восстанавливает константы скорости ввода и вывода информации на магнитофон, если они изменялись.

При выходе из интерпретатора нажатием на кнопку "СТР" этого не происходит.

В предлагаемой версии предусмотрено использование функциональных клавиш компьютера для управления интерпретатором. Назначение этих клавиш указано в табл. 4. Функции выполняются сразу же после нажатия на соответствующие клавиши (т. е. использовать клавишу "ВК" в этом случае не надо). Названия выполняемых функций на экран не выводятся. Необходимо отметить, что при вводе символьных переменных оператором INPUT случайное нажатие на любую функциональную клавишу искажает вводимую информацию и нарушает работу программы.

Таблица 4.

 

Клавиши

Выполняемая функция

без АР2

после АР2

"FI" или "УС"+"@" "F2" или "УС"+"А"

"F3" или "УС"+"В"

MSAVE LIST

RUN

MLOAD PRINT FRE(0) CONT

"F4" или "УС"+"С"

STOP


Работу интерпретатора можно приостановить нажатием на клавишу "РУС/ЛАТ" (до момента ее отпускания). При нажатии клавиш "УС" - "0" выполнение программы продолжается, но на экран ничего не выводится, кроме псевдографической информации (т. е. в программе блокируются все операторы PRINT). Блокировка вывода снимается повторным нажатием на клавиши "УС" - "0" или автоматически при возврате интерпретатора в непосредственный режим.

Информацию, отображаемую на экране дисплея (кроме псевдографической), можно параллельно вывести на внешнее устройство, например на принтер. Этот режим включают и выключают нажатием клавиш "УC" - "D" или дополнительной клавиши "F5" (которую можно установить на плате A3) (контакты клавиши соединяют с анодом диода V1 и контактом 10 платы). Режимом можно управлять и программно - оператором POKE 1261,А. При А>1 вывод на внешнее устройство включается, а при А=0 выключается.

Информация выводится через порт В микросхемы D14 в коде КОИ-7. Значение старшего разряда выводимого кода устанавливается таким, чтобы общее количество единиц в коде было нечетным. О выводе очередного байта сигнализирует низкий логический уровень на контакте А21 разъема платы А1. В подтверждение приема внешнее устройство должно установить низкий уровень на контакте А18 этого же разъема. Если внешнее устройство не подключено, между указанными контактами нужно включить резистор сопротивлением 10...100 кОм, иначе при включении режима вывода на внешнее устройство выполнение программы остановится. Если на плате А1 микросхема D14 не установлена, то для нормальной работы интерпретатора в ячейку 19СВН нужно записать код С9Н.

Описанный алгоритм вывода может оказаться непригодным для обслуживания конкретного внешнего устройства. В этом случае нужно заменить подпрограмму вывода, начинающуюся с ячейки 19ССН. При ее переработке следует иметь в виду, что она получает код выводимого символа в регистре С микропроцессора и не должна изменять содержимого регистров D, Е, Н, L. Подпрограмма может занимать область памяти вплоть до ячейки 1AFFH.

Область 19ЕЕН-1AFFH интерпретатора Бейсика можно использовать и для записи подпрограмм, вызываемых функцией USR(X). Если же вывод на внешние устройства не используется, то область допустимых адресов подпрограмм пользователя может начинаться уже с 19ССН. С ячейки 1В00Н начинается область хранения программ на Бейсике. Так как на экран дисплея "Радио-86РК" выводится только 25 строк символов, максимальное значение параметра Y в операторе CUR X, Y равно 24, а в операторах PLOT X, Y, Z и LINE X, Y-49.

Оператор OUT X, Y и функция INP (X) в интерпретаторе сохранены, но пользоваться ими не рекомендуется. Дело в том, что в "Радио-86РК" адресные пространства регистров ввода-вывода и ячеек памяти совмещены. Из-за этого при обращении к регистру с адресом Х микропроцессор фактически обращается к ячейке с адресом X = 256 * X. Во избежание ошибок в этой ситуации лучше пользоваться оператором POKE X, Y и функцией PEEK (X). Так, например, портам А, В, С и регистру управляющего слова микросхемы D14 соответствуют адреса -24576, -24575, -24574 и -24573.

В МОНИТОРЕ "Радио-86РК" предусмотрена подпрограмма ввода кода нажатой клавиши без остановки выполнения программы. Из программы на Бейсике обратиться к ней можно с помощью функции USR (-2021) Например, оператор A=USR (-2021) присвоит переменной А значение кода нажатой клавиши или 255, если ни одна клавиша не нажата. Оператор ON USR (-2021) -48 GOTO 1000, 2000, 3000 передает управление строкам 1000, 2000 или 3000, если нажата одна из клавиш "1", "2" или "3" соответственно. Если же нажата любая другая клавиша или не нажата никакая, то будет выполняться следующая за этим оператором строка.

Для подачи звукового сигнала можно пользоваться оператором PRINT CHR$(7).

А. ДОЛГИЙ

г. Москва

1 Зеленко Г., Панов В., Попов С. Бейсик для "Микро-80".- Радио, 1985 № 1 - 3.
2 Зеленко Г., Панов В., Попов С. Программирование на Бейсике.- Радио, 1986, № 2,3.

Описание компьютера Радио-86РК
Журнал РАДИО



(C) 2003-2010 www.danbigras.ru Наш адрес: info@danbigras.ru
Всё о старых компьютерах