Софтуер
СОФТУЕР НА ПЕРСОНАЛЕН РАДИОЛЮБИТЕЛСКИ КОМПЮТЪР “ORION -128”
По структура програмното осигуряване на радиолюбителския компютър (РК) “Орион-128” е подобно на “Микро-80” и “Радио-86РК”. Отличителна черта на компютъра е двустранична система за изграждане на памет в основната версия и четири страници в разширената.
0F400H - Порт за клавиатура 0F500H - Потребителски порт #1 0F600H - Потребителски порт #2 0F700H - Порт за разширителна карта 0F800H - Системен порт #1 (само за запис) 0F900H - ” #2 ( ” ) 0FA00 H — ” № 3 ( ” ) 0FB 00H — ” № 4 ( ” )
В допълнителните страници горните (0F000 - 0FFFFH) 4 KB RAM не се използват и не са достъпни за потребителя. При превключване на страници тази област на паметта не се превключва, което позволява достъп до МОНИТОРА и служебната област RAM от всяка страница.
Страница с допълнителна памет - 1 съдържа област от RAM, която съдържа информация за цвета на екрана на дисплея. Заема, подобно на RAM на екрана, също 12 KB. Този принцип на разпределение на цветовите атрибути на изображението позволява да не се намалява разделителната способност на екрана при превключване към цветен режим на показване на информация, както и да се имитира структура на спрайт. Останалите 48 KB допълнителна RAM страница могат да се използват например като „квазидиск“. Трябва да се отбележи, че ако режимът на цветен дисплей е деактивиран, всичките 60 KB памет се разпределят на потребителя в допълнителната страница.
D0 0 - палитра #1 1 - палитра #2 D1 0 - режим 1 - 16 цвята 1 - режим 2 - 4 цвята D2 0 - монохромен режим 1 - цветен режим
Нека изброим всички възможни комбинации от състояния на системен порт 1.
D1 D0 0 0 — главна страница “0” 0 1 —допълнителна страница “1” 1 0 — допълнителна страница “2” 1 1 — допълнителна страница “3”
Базовият компютър няма страници 2 и 3, така че стойностите "10" и "11" не трябва да се използват.
8000—0AFFFH—екран 2 4000—6FFFH—екран 3 0000—2FFFH—екран 4 D1 D0 0 0 - екран #1 0 1 - екран #2 1 0 - екран #3 1 1 - екран #4
Празнини, които не са запълнени от области на екрана 3000 - 3FFFH, 7000 - 7FFFH, OVOOOOO - OBFFFH могат да се използват за поставяне на потребителски програми. Режимът за активиране на много екрани е възможен както в монохромен, така и във всеки цветен режим.
При “студено” стартиране на МОНИТОРА или натискане на бутона “Нулиране” на системните портове се записва стойност - UN, като по този начин се задава следният режим: монохромен дисплей на информацията, активира се нулевата (главна) страница от паметта и се инициализира екран 1.
След включване на захранването и натискане на бутона „Нулиране“ управлението се прехвърля към програмата MONITOR. MONITOR е единствената резидентна програма, записана в ROM и заемаща 2 Kbytes. Програмните кодове са дадени в таблица 2. Той инициализира програмируемите LSI на портовете, осигурява работата на клавиатурата, дисплея, управлява входа-изхода на информация към външно устройство за съхранение - магнитна лента.
МОНИТОРЪТ поддържа опростен диалог с потребителя, който въвежда команди от клавиатурата и чете резултата от тяхното изпълнение от екрана на дисплея.
След стартиране на МОНИТОРА екранът на телевизора се изчиства, в горния ляв ъгъл се появява надпис “Орион-128”, а под него има стрелка “=>”, което показва, че МОНИТОРЪТ е в режим на управление и е готов за въвеждане на указания. Директивите на MONITOR са еднобуквени и се състоят от латински символ и един или два параметъра, които са шестнадесетичничисла. Параметрите са разделени със запетая. Неправилно въведените символи се коригират с натискане на клавиша „ “, курсорът може да се върне на предишната му позиция и да продължите да въвеждате. Изпълнението на директивата започва след натискане на клавиша (VK). Ако директивата и параметрите са зададени правилно, тогава започва нейното изпълнение, ако не, на екрана се показва въпросителен знак. Това е знак за погрешно въвеждане на директива или неправилно въвеждане на параметър.
Нека разгледаме по-отблизо характеристиките на директивите MONITOR.
Директива “O”- извеждане на масив от информация, намиращ се в RAM, на магнитна лента. Форматът на запис е напълно съвместим с компютъра Radio-86RK. Изходната скорост е 1200 бода, може да се промени само чрез замяна на константата в сервизните клетки MONITOR с директива “M”.
Директива "C"- предназначена за конфигуриране на екрана за показване на информация в цвят. Директивата ви позволява да проверявате извеждането на информация в цветен (16-цветен) режим на цветен дисплей (TV). Основната цел на директивата е да провери правилното свързване на цветния дисплей и неговите настройки. Директивата, според цветовия код, включва цветния режим и изчиства цветната RAM област в допълнителната страница на паметта 1. След изпълнението на директивата "C", МОНИТОРЪТ и всички други потребителски програми ще показват информация на екрана на дисплея в цветовата схема (цвят на фона и показване на знаци), която е зададена в параметъра на директивата.
Кодът на цвета се състои от два шестнадесетични знака от 0 до F. Първият знак показва цвета на фона, вторият показва изображението. След въвеждане на кода на директивата, два цветни символа натиснете клавиша (BK). Ако например въведете „C++В1+ВК“, тогава допълнителна информация ще се покаже в следната цветова схема: тюркоазени символи на син фон (вижте таблицатакодове).
Имайте предвид, че софтуерният драйвер за обработка на екрана на дисплея в MONITOR не поддържа управление на цветовете и трябва да се извършва от потребителската програма. Цветови кодове O - черно 1 - синьо 2 - зелено 3 - циан 4 - червено 5 - магента 6 - кафяво 7 - светло сиво 8 - черно 9 - циан A - светло зелено B - светло циан C - розово D - светло магента E - жълто F - бяло
ТАБЛИЦА НА СТАНДАРТНИТЕ I/O ПОДПРОГРАМИ
МОНИТОРЪТ съдържа набор от стандартни подпрограми (Таблици 1, 2 и 3), до които потребителската програма има достъп при спазване на споразумението за обмен на информация. Наборът от подпрограми е основно същият като в "Micro-80" и "Radio-86RK", но донякъде разширен и променен. Тези разлики са свързани с архитектурните особености на ракетната установка Orion-128 и разликата в организацията на дисплея на екрана на дисплея. Въпреки това повечето от програмите, разработени за тези компютри, ще работят и на Orion-128.
В таблица 1 символът “*” маркира онези входове на I / O подпрограми, които имат значителна разлика или са напълно нови по отношение на Radio-86RK. Нека ги разгледаме.
080FH- показване на символа, съдържащ се в акумулатора на дисплея. Стойността на всички регистри се запазва.
0F82DH- разопаковане и поставяне на вътрешния символен генератор в служебната RAM зона. Извикването на тази подпрограма (без входни параметри) ви позволява да възстановите генератора на знаци.
0F836H- прочете байт от допълнителна страница. Адресът на клетката се въвежда в регистрите „HL“. В регистър "А" - номерът на страницата, от която се извършва четенето. След като подпрограмата бъде изпълнена, регистърът "C" ще съдържа прочетения байт.
0F839H- Запишете байт встраница с допълнителна памет. Регистрите "HL" и "A" имат същата цел като в предишната подпрограма, а регистърът "C" се попълва с байт, който трябва да бъде записан в допълнителна страница от паметта.
0F83CH- позициониране на курсора в дадено място на екрана на дисплея. Стойността на номера на реда (0-18H) се въвежда в регистър “H”, номерът на позиция (0-3FH) се въвежда в регистър “L”.
Не. | ПРЕДНАЗНАЧЕНИЕ НА ПОДПРОГРАМИТЕ | ОБАЖДАНЕ НА АДРЕС |
ПАРАМЕТРИ
ВЪВЕДЕТЕ ЗНАК C ОТ КЛАВИАТУРАТА
OUT: A - ВЪВЕДЕНА СИМВОЛА
ВЪВЕДЕТЕ БАЙТ ОТ ЛЕНТА
ПОКАЖЕТЕ ЗНАК
IN: C - OUTPUT CHAR
ЗАПИСВАНЕ НА БАЙТ НА ЛЕНТА
IN: S - ЗАПИСВАНЕ НА БАЙТ
ПОКАЖЕТЕ ЗНАК
IN: A - ИЗХОДЕН СИМВОЛ
АНКЕТА ЗА СЪСТОЯНИЕ НА КЛАВИАТУРАТА
ИЗВЕДЕТЕ БАЙТ НА ЕКРАНА В HEX КОД
IN: A - ИЗХОДЕН СИМВОЛ
ПОКАЖЕТЕ СЪОБЩЕНИЕ
ВЪВЕЖДАНЕ НА КОДА НА НАТИСНАТИЯ КЛАВИШ (INKEY)
ЗАЯВКА ПОЗИЦИЯ НА КУРСОРА
НЕ ИЗПОЛЗВАН
ЧЕТЕНЕ НА ФАЙЛ ОТ МАГ. ЛЕНТИ
ПИШЕТЕ ФАЙЛА В MAG. ЛЕНТА
БЛОКИРАНЕ НА КОНТРОЛНА СУМА
РАЗОПАКОВАНЕ НА ВЪТРЕШНИЯ ГЕНЕРАТОР НА ЗНАЦИ
ПРОЧЕТЕТЕ КРАЙНИЯ АДРЕС ПОТРЕБИТЕЛСКА RAM
ИЗХОД: HL -КРАЙЕН АДРЕС
ЗАПИШЕТЕ КРАЙНИЯ АДРЕС НА ПОТРЕБИТЕЛСКАТА RAM памет
EX. : HL -КРАЙЕН АДРЕС
ЧЕТЕНЕ НА БАЙТ ОТ ADD. ДЪРЖАВА
19*
НАСТРОЙКА НА КУРСОРА
РЕЗЕРВАЦИЯ
МОНИТОР СЕРВИЗ КЛЕТКИ
0F3D3H- клетка, която съхранява знак за директен (00H) изход (светли знаци на тъмен фон) или обратен (0FFH) изход (тъмни знаци на светъл фон). В цветен режим цветовете на изображението и фона са обърнати.
0F3DAHе мястото, където се съхранява константата на лентата. За 1200 бода. Има стойност от 40N.
0F3DBHе клетка, която съхранява константата за четене на лентата. За стандартна скорост - 60N.
Трябва да се отбележи, че високата тактова честота на процесора ви позволява да намалите стойността на константите и значително да увеличите плътността на запис на магнитна лента. Въпреки това, не трябва да се увличате с това, защото качеството на домашнителента и лентови устройства не гарантира надеждността на програмите за четене при по-висока плътност на запис.
в сугоняко В. САФРОНОВ, К. КОНЕНКОВ
Сканирано от списание Радио № 2 1990 Под редакцията на Лесних. Y. 2001 г
- на фиг. 1, номерата на пиновете на чипа DD1 са неправилно посочени. Трябва да бъде: OUT1-13, OUT2-17. CS сигналът е погрешно наречен SC;
- сменен на фиг. 3 и фиг. 4.
- на фиг. 5 (изглед от страната на монтажа на частите), контактната площадка, разположена вляво от левия извод на резистора R2, е погрешно свързана към веригата на щифт 12 на конектора. Трябва да се свързва само към пин 11 на конектора на платката.
- на фиг. 5 (изглед от страната на запояване) няма връзка на изход 10 на чипа DD1 с контактната площадка, разположена вляво от него.
В схемата на системата за противоракетна отбрана "Орион-128" трябва да се направят следните промени (Радио, 1990 г., № 1):
- клеми 10, 12, 123 на елемента DD12.1 и клеми 1, 2, 4 на елемента DD12.2, свързани към тях чрез резистор 1 kΩ, трябва да бъдат свързани към източник на захранване + 5V.
- изходът на процесора (DD19) SNY има сериен номер на пин 19, а пин 17 съответства на сигнала RD.
- входът на елемента DD15.6 е изход 13, изходът е 12, елементът DD15.1 е съответно 1 и 2.
- резистор R24 е включен в пакета под номер 416, а кондензаторът C10 е под номер 472.
- изход B9 (сигнал „Нулиране“) на конектор X4 е включен в снопа под номер 116.