Фиг его знает что это. По словам скорее на прошное что-то похоже.
- - - Добавлено - - -
Хинт::)Код:>CVT -12.
65524. 244.,255. 177764 364,377 $FFF4 % 8D "
>HEL FCS ERR 364
IE.WLK,-12.,364,<WRITE ATTEMPTED TO LOCKED UNIT>
>
Вид для печати
И я так понимаю что в линейке PDP11 дальше формата RX50 не прыгнули? Т.е. RX33 были на других машинах.
Решил снова запустить 1.520 переустановив все заново, в связи с этим появились новые вопросы :)
1. Хотелось бы автоматическое определение типа терминала
Как я выяснил это настраивается в SYSLOGIN.CMD но посмотрев как это сделано на СТАКАН и МИМ не понял откуда берутся параметры и что в них должно быть, тем более там прописано много чего ещё, а хотелось бы тот минимум который только определяет терминал. В мануалах про это то же не нашел. Может найдется пример?
2. Ввод кириллицы в KOI8-R
Это оказалось еще более не понятным :v2_dizzy_facepalm: Вывести текст на русском легко, нужно в настройках терм. программы выбрать кодировку, а как сделать ввод? Например на СТАКАН можно вводить текст на русском, но как это работает?
SET /INQUIRE=TI:
Что сможет определить - заложено в MCR (ну и по идее в DCL)
По определённому типу по заложенной таблице выставляются параметры.
В принципе, зная тип терминала или его аппаратные возможности - можно всё выставить руками.
Исходно RSX кириллицу не поддерживает, насколько я знаю. Но есть штатный способ - через ACD (Ancillary Control Driver), который и занимается поддержкой (и переключением, если надо) языков, помимо английского. В своё время для Квант-а написал поддержку двух кодировок, одна из которых - KOI8. Как делается переключение - зависит от ACD
Я взял с MIM, поудаляв лишнее, вот как сейчас работает:
Тут видно что в зависимости от параметров P5-P7 можно что то делать, видимо rsx их при загрузке передаёт. А какие значения там могут быть и что означают?Код:.ENABLE SUBSTITUTION
.ENABLE QUIET
.DISABLE DISPLAY
.IF P5 = "P" .GOTO PRIV
SET /NOPRIV=TI:
.PRIV:
.IF P7 = "B" .GOTO BATCH
.IF P6 = "S" .GOTO SLAV
.IF P7 = "T" SET /NOSLAVE=TI:
.SLAV:
.TESTDEVICE TI:
.SETS DEVN <EXSTRI>[1:2]
.IF DEVN = "HT" .GOTO NOINQ
.IF DEVN = "VT" .GOTO NOINQ
.IF P7 = "T" SET /INQUIRE=TI:
.NOINQ:
.IFINS ...NEW NEW
.BATCH:
CLI /UNOVR
.TESTFILE SYS$LOGIN:LOGIN.CMD
.IF <FILERR> = 1 .CHAIN SYS$LOGIN:LOGIN.CMD/LO
.END:
.DISABLE DISPLAY
Понятно, спасибо!
На CTAKAH есть ACD: EDT, EMACS, CM7209 первые два у меня есть с ними не работает, значит form сделал поддержку русского в CM7209?
CM7209 эмулирует соответствующий терминал в его русскоязычном варианте (QABCD/ЮАБЦД), попутно транслируя ANSI терминал в VT52 :)
Что касается ввода русского, то после установки терминала в 8-битный режим (SET /EBC=TI:), при чтении с помощью функции IO.RAL можно легко вводить 8-бит. Вся беда в том, что это будет ввод в конкретной написанной программе. Другие же программы, не заточенные специально на это, будут косячить. EDT например будет опознавать некоторые 8-битные значения как спецсимволы и рисовать их в угловых скобочках.
Хм.. Давно это было, надо вспоминать :) Но одно скажу точно - не RSX и не при загрузке, а программа HELLO - когда логинитесь командой HEL. По идее, есть большой шанс, что это есть в HELP файлах, которые с системой идут - если, конечно, их не удалили :)
Из того, что вижу в тексте - параметр P5 - P (терминал останется привилегированным) или неP (тогда снимет флаг привилегированности). P6 - флаг подчинённого терминала, P7 - типа - тип терминала - T - обычный, B - терминал пакетного задания
Если обычный терминал - запросом (пытаются) определить тип.
Что за прога NEW - сходу не скажу
CLI /UNOVR - разрешают работу пользовательского (прописывается в свойствах учётки) интерпретатора командной строки
Дальше проверка - если есть LOGIN.CMD на устройстве по умолчанию в каталоге по умолчанию (прописывается в свойствах учётки пользователя) пользователя - передают управление ему
- - - Добавлено - - -
Да, про это с ходу не вспомнилось :) Ну да, семи бит на два алфавита (если только это не алфавиты Мумбы и Юмбы) не хватит :)