https://emuverse.ru/w/index.php?title=%D0%A3%D0%9A%D0%9D%D0%A6_RAM.LST_app&feed=atom&action=history
УКНЦ RAM.LST app - История изменений
2024-03-29T05:18:50Z
История изменений этой страницы в вики
MediaWiki 1.40.0
https://emuverse.ru/w/index.php?title=%D0%A3%D0%9A%D0%9D%D0%A6_RAM.LST_app&diff=2946&oldid=prev
Nzeemin: cat
2020-03-29T14:15:50Z
<p>cat</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="ru">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Предыдущая версия</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Версия от 17:15, 29 марта 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l388">Строка 388:</td>
<td colspan="2" class="diff-lineno">Строка 388:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:УКНЦ]]</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:УКНЦ<ins style="font-weight: bold; text-decoration: none;">|R</ins>]]</div></td></tr>
</table>
Nzeemin
https://emuverse.ru/w/index.php?title=%D0%A3%D0%9A%D0%9D%D0%A6_RAM.LST_app&diff=1963&oldid=prev
Nzeemin: Новая страница: «{{ДИ}} Оригинальный документ RAM.LST составлен Alex_K (Alexey Kisly).<br/> Начало — см. в УКНЦ RAM.LST. __TOC__…»
2015-10-07T05:57:35Z
<p>Новая страница: «{{ДИ}} Оригинальный документ RAM.LST составлен Alex_K (Alexey Kisly).<br/> Начало — см. в <a href="/wiki/%D0%A3%D0%9A%D0%9D%D0%A6_RAM.LST" title="УКНЦ RAM.LST">УКНЦ RAM.LST</a>. __TOC__…»</p>
<p><b>Новая страница</b></p><div>{{ДИ}}<br />
Оригинальный документ RAM.LST составлен Alex_K (Alexey Kisly).<br/><br />
Начало — см. в [[УКНЦ RAM.LST]].<br />
<br />
__TOC__<br />
== ПРИЛОЖЕНИЕ 1. Полное описание управляющих и Esc-последовательностей ==<br />
<pre><br />
Ctrl+G (007) - звуковой сигнал частотой 500 Гц, длительностью 0.32 сек(Bell).<br />
<br />
Ctrl+H (010) - в системе команд VT-52:<br />
передвижение курсора на одну позицию влево. Если курсор<br />
находился в крайней левой позиции строки, то он переходит<br />
на последнюю позицию предыдущей строки. Если текущая<br />
позиция располагалась в верхнем левом углу экрана, то<br />
при разрешенном рулоне производится скроллинг изображения<br />
вниз на одну символную строку, освободившаяся строка<br />
закрашивается цветом фона, курсор становится в последнюю<br />
позицию этой строки, при запрещенном рулоне курсор<br />
перемещается в последнюю позицию последней строки (Left);<br />
- в системе команд 15ИЭ-00-013:<br />
передвижение курсора в верхний левый угол экрана (Home).<br />
<br />
Ctrl+J (012) - передвижение курсора на одну позицию вниз. Если текущая строка<br />
была последней, то при разрешенном рулоне производится<br />
скроллинг изображения вверх, освободившаяся строка<br />
закрашивается цветом фона, при запрещенном рулоне курсор<br />
перемещается на первую строку (Line feed).<br />
<br />
Ctrl+K (013) - очистка конца строки. Текущая строка от позиции курсора<br />
включительно и до конца закрашивается цветом фона (CLEOL).<br />
<br />
Ctrl+L (014) - очистка экрана. Весь экран закрашивается цветом фона, а курсор<br />
перемещается в верхний левый угол экрана. Корректируется<br />
таблица видеострок экрана пользователя (устанавливается на<br />
начало видеопамяти) (CLS).<br />
<br />
Ctrl+M (015) - возврат каретки. Курсор перемещается в начало текущей строки<br />
(Carriage Return).<br />
<br />
Ctrl+N (016) - переключение на русский алфавит (РУС).<br />
<br />
Ctrl+O (017) - переключение на латинский алфавит (LAT).<br />
<br />
Ctrl+R (022) - скроллинг изображения вверх.<br />
<br />
Ctrl+S (023) - раздвижка строки. Символы в текущей строке от позиции курсора<br />
сдвигаются вправо. Освободившееся знакоместо в позиции курсора<br />
закрашивается цветом фона, последний символ в строке<br />
теряется (Insert space character).<br />
<br />
Ctrl+T (024) - сдвижка строки. Символы в текущей строке от позиции курсора<br />
сдвигаются влево. Символ в позиции курсора теряется, последнее<br />
знакоместо закрашивается цветом фона (Delete character).<br />
<br />
Ctrl+U (025) - последовательное исполнение Ctrl+M и Ctrl+J (CRLF).<br />
<br />
Ctrl+V (026) - скроллинг изображения вниз.<br />
<br />
Ctrl+W (027) - переключение на систему команд VT-52.<br />
<br />
Ctrl+Y (031) - передвижение курсора на одну позицию вправо. Если курсор<br />
находился в последней позиции строки, то он перемещается<br />
в начало следующей строки. Если курсор находился в последней<br />
позиции последней строки, то при разрешенном рулоне<br />
производится скроллинг изображения вверх, освободившаяся<br />
строка закрашивается цветом фона, курсор становится<br />
в первую позицию этой строки, при запрещенном рулоне курсор<br />
перемещается в начало экрана (Right).<br />
<br />
Ctrl+Z (032) - аналогично Ctrl+H в системе команд VT-52 (Left).<br />
<br />
Ctrl+[ (033) - начало командной последовательности (Esc).<br />
<br />
Ctrl+\ (034) - перемещение курсора на одну позицию вверх. Если курсор нахо-<br />
дился в верхней строке, то при разрешенном рулоне<br />
производится скроллинг изображения вниз, освободившаяся строка<br />
закрашивается цветом фона, при запрещенном рулоне курсор<br />
перемещается в последнюю строку (Up).<br />
<br />
Ctrl+] (035) - аналогично Ctrl+J (Down).<br />
<br />
Ctrl+_ (037) - аналогично Ctrl+K (CLEOL).<br />
<br />
Esc %! (033 045 041) - установка режима работы терминала:<br />
Из четвертого символа используются два младших бита<br />
Esc %!0 - графический режим;<br />
Esc %!1 \<br />
Esc %!2 ! - текстовый режим (система команд VT-52).<br />
Esc %13 /<br />
<br />
Esc = (033 075) - включение режима дополнительной клавиатуры.<br />
<br />
Esc > (033 076) - выключение режима дополнительной клавиатуры.<br />
<br />
Esc A (033 101) - аналогично Ctrl+\ (Up).<br />
<br />
Esc B (033 102) - аналогично Ctrl+J (Down).<br />
<br />
Esc C (033 103) - аналогично Ctrl+Y (Right).<br />
<br />
Esc D (033 104) - аналогично Ctrl+H в системе команд VT-52 (Left).<br />
<br />
Esc E (033 105) - установка системы команд 15ИЭ-00-013.<br />
<br />
Esc H (033 110) - аналогично Ctrl+H в системе команд 15ИЭ-00-013 (Home).<br />
<br />
Esc I (033 111) - аналогично Ctrl+\ (Up).<br />
<br />
Esc J (033 112) - очистка конца страницы. Текущая строка справа от позиции<br />
курсора и все нижележащие строки заполняются цветом фона<br />
(CLEOP).<br />
<br />
Esc K (033 113) - аналогично Ctrl+K (CLEOL).<br />
<br />
Esc P (033 120) - программирование функциональных клавиш и шрифтов:<br />
1. Программирование функциональных клавиш.<br />
<br />
Esc P<сохр>;|<код>/<значение>;<прод><br />
<прод> --> <код>/<значение>;<прод><br />
<прод> --> Esc /<br />
<сохр> --> используется только младший бит символа. 0 или 1<br />
0 - все прежние значения функциональных клавиш стираются;<br />
1 - значения сохраняются;<br />
<код> --> число от 1 до 25, задающее номер функциональной клавиши;<br />
1-5 <К1-К5><br />
6-10 НР+<К1-К5><br />
11-15 ГРАФ+<К1-К5><br />
16-20 УПР+<К1-К5><br />
21-25 ФИКС+<К1-К5><br />
<значение> --> последовательность шестнадцатеричных чисел, задающих<br />
ASCII-коды символов;<br />
<br />
На клавишу К6 назначается строка : DIR %%.SYS<ВК><br />
Esc P;1|6/4449522025252E5359530D; Esc /<br />
<br />
2. Программирование шрифтов.<br />
<br />
Esc P;<код>;@<верхний_ряд>@<нижний_ряд><прод><br />
<прод> --> @<верхний_ряд>@<нижний_ряд><прод><br />
<прод> --> Esc /<br />
<код> --> ASCII-символ, шрифт которого перепрограммируется;<br />
<верхний_ряд> --> последовательность столбцов по пять точек;<br />
<нижний_ряд> --> последовательность столбцов по шесть точек;<br />
<br />
---- ----<br />
! ! 1 ! ! 1<br />
---- ----<br />
! ! 2 ! ! 2<br />
---- ----<br />
! ! 4 ! ! 4<br />
---- ----<br />
! ! 8 ! ! 8<br />
---- ----<br />
! ! 16 ! ! 16<br />
---- ----<br />
! ! 32<br />
----<br />
<br />
При программировании рядов соответственно используются младшие пять или<br />
шесть разрядов кода символа.<br />
<br />
-----------------<br />
! ! ! ! ! ! ! ! !<br />
-----------------<br />
! !0!0!0!0!0!0! ! 000000<br />
----------------- 0 0<br />
!0! ! ! ! ! ! !0! 0 0 0 0<br />
----------------- 0 0<br />
!0! !0! ! !0! !0! 0 0000 0<br />
----------------- 0 00 0<br />
!0! ! ! ! ! ! !0! 0 0<br />
----------------- 000000<br />
!0! ! ! ! ! ! !0!<br />
-----------------<br />
!0! !0!0!0!0! !0!<br />
-----------------<br />
!0! ! !0!0! ! !0!<br />
-----------------<br />
!0! ! ! ! ! ! !0!<br />
-----------------<br />
! !0!0!0!0!0!0! !<br />
-----------------<br />
! ! ! ! ! ! ! ! !<br />
-----------------<br />
<br />
Перепрограммирование шрифта символа # :<br />
Esc P;#;@\BJBBJB\@OPRVVRPO Esc /<br />
<br />
ВНИМАНИЕ !!! В реализации Esc-последовательности программирования шрифта<br />
в ПЗУ УКНЦ допущена ошибка при вычислении адреса сохранения символа<br />
в буфере, при вычислении смещения производится умножение не на 11 (высота<br />
символа), а на 9.<br />
<br />
Esc Y (033 131) - позиционирование курсора:<br />
Esc Y <строка><столбец><br />
<строка> и <столбец> - ASCII-символы с кодами строка+32 и<br />
столбец+32. Если в какой-либо позиции координаты выходят<br />
за допустимые пределы, то позиционирование по данному<br />
параметру не производится.<br />
<br />
Esc Z (033 132) - в регистры клавиатуры посылается последовательность<br />
Esc /Z (033 134 132). Терминал VT-100 в режиме VT-52.<br />
<br />
Esc [ (033 133) - последовательности VT-100:<br />
Esc [r - аналогично Ctrl+L (CLS);<br />
Esc [2h - отключение клавиш с одиночными кодами. Действуют<br />
клавиши, на которые назначены строки символов;<br />
Esc [2l - включение клавиш с одиночными кодами.<br />
<br />
Esc 200 (033 200) - аналогично Esc A.<br />
<br />
Esc 201 (033 201) - аналогично Esc B.<br />
<br />
Esc 202 (033 202) - аналогично Esc D.<br />
<br />
Esc 203 (033 203) - аналогично Esc C.<br />
<br />
Esc 204 (033 204) - позиционирование курсора в первую строку текущего столбца.<br />
<br />
Esc 205 (033 205) - позиционирование курсора в последнюю строку тек. столбца.<br />
<br />
Esc 206 (033 206) - аналогично Ctrl+M.<br />
<br />
Esc 207 (033 207) - позиционирование курсора в последнюю позицию тек. строки.<br />
<br />
Esc 212 (033 212) - аналогично Ctrl+T.<br />
<br />
Esc 213 (033 213) - аналогично Ctrl+S.<br />
<br />
Esc 214 (033 214) - аналогично Ctrl+V.<br />
<br />
Esc 215 (033 215) - аналогично Ctrl+R.<br />
<br />
Esc 220 (033 220) - исполнение Esc C и Esc A.<br />
<br />
Esc 221 (033 221) - исполнение Esc D и Esc B.<br />
<br />
Esc 222 (033 222) - исполнение Esc A и Esc D.<br />
<br />
Esc 223 (033 223) - исполнение Esc B и Esc C.<br />
<br />
Esc 224 (033 224) - аналогично Esc H.<br />
<br />
Esc 225 (033 225) - аналогично Ctrl+L.<br />
<br />
Esc 226 (033 226) - аналогично Esc J.<br />
<br />
Esc 227 (033 227) - аналогично Ctrl+K.<br />
<br />
Esc 230 (033 230) - аналогично Ctrl+U.<br />
<br />
Esc 231 (033 231) - аналогично Esc Y.<br />
<br />
Esc ГРАФ-@ (033 240) - установка цвета символа. Предыдущий цвет запоминается.<br />
Esc ГРАФ-@ <цвет><br />
<цвет> - 0 ... 7. Используются три младших бита.<br />
<br />
Esc ГРАФ-A (033 241) - установка цвета знакоместа.Предыдущий цвет запоминается.<br />
Esc ГРАФ-A <цвет><br />
<цвет> --> 0 ... 7. Используются три младших бита.<br />
<br />
Esc ГРАФ-B (033 242) - установка цвета фона.<br />
Esc ГРАФ-B <цвет><br />
<цвет> --> 0 ... 7. Используются три младших бита.<br />
<br />
Esc ГРАФ-C (033 243) - установка режима инверсии.<br />
<br />
Esc ГРАФ-D (033 244) - установка режима подчеркивания.<br />
<br />
Esc ГРАФ-E (033 245) - установка длины строки:<br />
Esc ГРАФ-E 1 (033 245 061) - длина 40;<br />
Esc ГРАФ-E 2 (033 245 062) - длина 80.<br />
<br />
Esc ГРАФ-F (033 246) - установка формата экрана:<br />
Esc ГРАФ-F 1 (033 246 061) - 80x24;<br />
Esc ГРАФ-F 2 (033 246 062) - 40x24;<br />
Esc ГРАФ-F 3 (033 246 063) - 20x24;<br />
Esc ГРАФ-F 4 (033 246 064) - 10x24.<br />
<br />
Esc ГРАФ-G (033 247) - установка цвета курсора.<br />
Esc ГРАФ-G <цвет><br />
<цвет> --> 0 ... 7. Используются три младших бита.<br />
<br />
Esc ГРАФ-W (033 267) - включение сетевого таймера в магистрали ЦП.<br />
<br />
Esc ГРАФ-X (033 270) - установка паузы до нажатия любой клавиши.<br />
<br />
Esc ГРАФ-\ (033 274) - вызов меню ЗАГРУЗКА. Экран очищается и вызывается<br />
меню загрузка. После выбора пункта меню по нажатию<br />
<ВК>,<0> или <ИСП> в регистры клавиатуры (канал 0)<br />
посылаются два символа:<br />
- код первого равен номеру пункта меню, умноженному<br />
на два;<br />
- код второго равен номеру устройства (имеет смысл<br />
для пунктов ДИСК и КАССЕТА ПЗУ).<br />
<br />
Esc ГРАФ-] (033 275) - установка системного режима клавиатуры, и если<br />
в ячейке 22550 содержится 0, то на ЦП подается<br />
сигнал HALT.<br />
<br />
Esc ГРАФ-^ (033 276) - запуск тестовых программ. По окончании теста в регистры<br />
клавиатуры (канал 0) посылается символ с кодом 177.<br />
<br />
Esc ГРАФ-_ (033 277) - отмена режимов:<br />
Esc ГРАФ-_ ГРАФ-@ - восстановление предыдущего цвета<br />
(033 277 240) символов;<br />
Esc ГРАФ-_ ГРАФ-A - восстановление предыдущего цвета<br />
(033 277 241) знакоместа;<br />
Esc ГРАФ-_ ГРАФ-C - отмена режима инверсии и <br />
(033 277 243) подчеркивания;<br />
Esc ГРАФ-_ ГРАФ-D - отмена режима инверсии и<br />
(033 277 244) подчеркивания;<br />
Esc ГРАФ-_ ГРАФ-W - выключение сетевого таймера <br />
(033 277 267) магистрали ЦП;<br />
Esc ГРАФ-_ ГРАФ-] - установка пользовательского режима<br />
(033 277 275) клавиатуры, и если в ячейке 22550<br />
содержится 0, то с ЦП снимается<br />
сигнал HALT и в системном ОЗУ ЦП<br />
очищается ячейка с адресом 160114.<br />
</pre><br />
<br />
== ПРИЛОЖЕНИЕ 2. Описание команд EMT и TRAP, используемых в ПЗУ ПП ==<br />
<pre><br />
EMT 14 - полная программная инициализация в области ПП (восстановление<br />
векторов, инициализация всех драйверов).<br />
<br />
EMT 20 - программная инициализация клавиатурного драйвера.<br />
<br />
EMT 22 - чтение ASCII-кода символа с ожиданием (результат в R0).<br />
Для чтения символа необходимо очистить ячейку по адресу 7042,<br />
а после установить ее значение равное 2. Это чтение не блокирует<br />
клавишу УСТ (вызов режима установки), т.к. при выходе из режима<br />
УСТ принудительно устанавливается значение 2 по адресу 7042,<br />
что приведет к получению неверного результата (результат будет<br />
передан ЦП по каналу 0). Блокировать клавишу УСТ можно так:<br />
<br />
MOV PC,R0 ; Переназначение обработки клавиши УСТ<br />
ADD #SET$-.,R0<br />
MOV R0,@#7114<br />
<br />
..................................................<br />
<br />
; П/п блокирования клавиши УСТ<br />
SET$: MOV R0,-(SP)<br />
CLR @#7070<br />
MOV PC,R0<br />
ADD #SET$-.,R0<br />
MOV R0,@#7114<br />
MOV (SP)+,R0<br />
JMP @#174164<br />
<br />
..................................................<br />
<br />
CLR @#7114 ; Разблокирование клавиши УСТ<br />
<br />
EMT 24 - аналог EMT 22.<br />
<br />
EMT 40 - программная инициализация терминального драйвера.<br />
<br />
EMT 42 - вывод символа на экран (задается в R0).<br />
<br />
EMT 44 - вывод строки символов на экран. Адрес строки символов расположен<br />
после команды EMT, конец строки - байт 0.<br />
<br />
EMT 46 - аналогично EMT 44, но адрес строки задается в R1.<br />
<br />
EMT 52 - вывод строки символов в верхнюю информационную строку. Адрес строки<br />
расположен после команды EMT. Первый байт - начальная позиция для<br />
вывода (0-39), далее следуют символы для вывода, конец - байт 0.<br />
Управляющие символы не обрабатываются и выводятся в соответствии<br />
с запрограммированным шрифтом (в стандартном фонте изображаются<br />
как пробелы).<br />
<br />
EMT 56 - вывод строки символов в нижнюю информационную строку. Структура<br />
строки аналогично, как и в EMT 52.<br />
<br />
<br />
TRAP 0 - вызов диспетчера процессов (текущий PC запоминается и<br />
после управление передается на адрес после TRAP 0).<br />
<br />
TRAP 2 - вызывается для передачи символа ЦП по каналу 0/или ПП по запросам<br />
EMT 22/24. Это необходимо, если было затребовано чтение символа,<br />
а очередь была пуста.<br />
<br />
TRAP 4 - вызывается для чтения символа с канала 0. Это необходимо, если<br />
со стороны ЦП затребован вывод очередного символа, а буфер<br />
в области ОЗУ ПП был переполнен.<br />
</pre><br />
<br />
[[Категория:УКНЦ]]</div>
Nzeemin