Да.
Вид для печати
Не так! ) Должен быть на каждом компьютере !!! )))
http://savepic.org/3274831.png
Ну и есть графический полность для УК-НЦ )
Счастье есть? )
---------- Post added at 00:58 ---------- Previous post was at 00:56 ----------
Точно! Я дискеты которые вместе с UKNCBTL шли не клал туда специально, что бы родную страницу эмулятора не кокнурировать с архивом ) Все образы о которых пишет Alex_K с UKNCBTL идут(шли) в комплекте. Сборку более раннюю виндовую возьмите - вы удивитесь сколько там всего ! )
---------- Post added at 01:09 ---------- Previous post was at 00:58 ----------
Ну вот, а говорил - переделанное не интересно! Ещё как интересно! )
Оно ведь классикой становится не заметно так, со временем )
А система что побоку? ) там это сочетание совсем другое значит )
win+Lock пофиксили? Эх, всё я самое интересное пропускаю )
А че такое Win+Lock?
Кажется примерно нашел из-за чего снег. Или, как минимум, один вид снега. Коды, приходящие на терминал, программа анализирует во время маркерной строки. И наступает такая ситуация, когда анализ не вписывается во временные характеристики маркерной строки, и таким образом не включается видео в течение небольшого следующего фрагмента. Или же слишком быстро приходят коды в терминал, и он их не успевает эффективно обрабатывать, или же у меня где-то глюк.
---------- Post added at 04:15 ---------- Previous post was at 02:16 ----------
Не поленился, нашел причину первого 'снега'.
Этот эффект проявляется, если на экран выводить очень много информации и идет постоянное скроллирование текста. Визуально выглядит так, как будто по тексту хаотично мелькают черные полосы, шириной почти с экран, и высотой 2-3 пикселя.
Оказалось, что этот эффект АБСОЛЮТНО ШТАТНЫЙ. Происходит он вот из-за чего. Вся информация на экран печатается во время маркерной строки (3 линии растра), при этом в большинстве случаев она сводится к занесению нового символа в видеопамять. Но в случае скроллинга, помимо занесения идет еще и очистка новой появляющейся строки. Вот во время нее и выключается временно изображение, что выглядит, как эффект снега. Этот эффект будет проявляться во время любой команды, подразумевающей под собой очистку строки от позиции курсора и до конца строки.
Если на реале этот эффект не заметен, значит наблюдатели либо его не заметили, либо очень большое послесвечение люминофора. Что скрадывает мгновенное пропадание нескольких линий изображения в произвольном месте экрана. Кстати, при синхронном эффекте, может пропадать и одна и та же строка, тогда ее станет заметно даже на сильнопослесветящемся люминофоре, как нескольо пониженная яркость.
Кстати, в связи с тем, что при выводе нового символа, маркерная строка тоже выключается на интервалы 12 тактов (6 знакомест) при печати символа, и на 12 тактов при извлечении символа из буфера терминала, который, кстати, является кольцевым, и имеет размер 64 байта. Таким образом при активном выводе символов, на курсоре можно будет заметить выпадание одной из трех линий курсора. Что не так просто, т.к. курсор мигает сам по себе, но эффект такой должен быть и в эмуляторе, и на реале. Проверить можно так - подавать с терминала много символов, которые не двигают курсор, и смотреть на курсор.
Осталось выяснить, почему идет снег из хаотичных точек в других случаях.
---------- Post added at 04:38 ---------- Previous post was at 04:34 ----------
Интересно, почему в 1-й системе команд при нажатии букв в командной строке RT-11, вместе с буквой печатается буква K? На УКНЦ в режиме 15ИЭ, такого не печатается.
Спасибо за диагностику -- я замечал выпадение строк в при работе теста и списывал на неточность эмуляции.
Символ K -- это остаток от \033 K.
Получается, что в первой системе команд вообще работать под RT-11 невозможно? Для чего же она была нужна? Тем более по умолчанию?
Почему при нажатии (или отжатии) РЕД управляющие символы вообще не работают? Они должны мигать?
---------- Post added at 13:00 ---------- Previous post was at 12:39 ----------
Да, посмотрел, должны.
Однако, если разрешить мигание, то всегда будут мигать символы в служебной строке. Стало быть мигание их в верхней строке запрещается как-то отдельно.
В классической RT-11 без загруженного SL и установленным SET TT NOSCOPE возможно. А вот если поставить SET TT SCOPE, то уже невозможно, т.к. в первой системе команд код 8 будет отрабатываться как курсор в верхний левый край.
Есть редактор K13, надо его попробовать.
При отжатой РЕД управляющие символы не отрабатываются, а заносятся в видеопамять, ну и соответственно мигают. При нажатой РЕД управляющие символы отрабатываются, также выключается мигание, т.е. ранее занесенные коды остаются в видеопамяти, но отображаются как пробелы.
Я ее вообще ни разу не посмотрел)
Окей)
Тогда остается открытым вопрос, за что отвечает сигнал '25-я служебная строка'.
---------- Post added at 13:54 ---------- Previous post was at 13:37 ----------
В общем, сделал для экспериментов переключение режима РЕД по F11.
---------- Post added at 13:58 ---------- Previous post was at 13:54 ----------
И зря. F11 уже задейстована на УКНЦ, это СБРОС)
Сделаю NumLock.
---------- Post added at 14:05 ---------- Previous post was at 13:58 ----------
На счет снега-2, когда появляются на черном фоне лишние точечки. Похоже, что он того же происхождения, что и снег-1, а мусор - это ошибка выставления адрес вывода текущей строки. Надо посмотреть поподробнее.
Посмотрел эту прошивку. Действительно в режиме команд 2 она работает не так. В режиме 1, как и 5-микросхемная. Может кто-то ее исправил под специальные нужды?
---------- Post added at 14:27 ---------- Previous post was at 14:20 ----------
Но непонятно, как аппаратно работает бит запрета служебной строки. Просто запрещает отображение изображения и все?
---------- Post added at 16:02 ---------- Previous post was at 14:27 ----------
Эффект снега номер 2:
http://s017.radikal.ru/i405/1304/37/992bc0fcf64b.png
Как видно, сразу после маркерной строки (3 линии развертки, выделенные фиолетовым цветом), начинается мусор в первой символьной линии. Происходит это из-за того, что некая медленная функция (в данном случае очистка строки), выполняемая во время маркерной строки, не успевает выполниться до начала отображения символьной строки. В результате, при отображении первой линии символьной строки, регистр адреса не прописывается нужным значением начала строки, а содержит указатель на место в видеобуфере, следующее за очищенной строкой. И восстанавливается только с приходом следующей линии развертки. В итоге, вместо первой линии символьной строки мы видим первую линию строки, следующей за только что очищенной. Да и то со смещением вправо.
---------- Post added at 16:16 ---------- Previous post was at 16:08 ----------
Избежать этого эффекта можно только, если по сигналу выключения маркера выключать изображение не только в маркерной строке, но и в символьной тоже. Опять же, надо смотреть, куда этот сигнал заведен.
---------- Post added at 16:19 ---------- Previous post was at 16:16 ----------
Хотя нет, конечно же не поможет.
только не это! )
---------- Post added at 17:33 ---------- Previous post was at 17:33 ----------
опять )
---------- Post added at 17:35 ---------- Previous post was at 17:33 ----------
win+L(ock) помнишь окошко эмулятора не возвращало картинку, сейчас вроде норм.
---------- Post added at 17:35 ---------- Previous post was at 17:35 ----------
пальцедробилка - кнопочки кончились )
в эмуляторе нет, окно эмулятора после этой системной функции становилось прозрачным если помнишь, сейчас вроде бы нет такого.
Могу лишь снова и снова просить не трогать две кнопки insert и Num_Lock,
на Insert - что то висит уже, а Num_Lock
1 - она и перестала у меня работать с появлением мигалки
2 - она врубает режим ДКЛ на ноуте
А! Мы уже обсуждали клавиатуру много много раз.
---------- Post added at 18:36 ---------- Previous post was at 18:32 ----------
Titus, попробуй у себя запустить последний EmuStudio, побегать стрелками по меню УК-НЦ (ничего не выбирая), затем нажать win+L , затем вернуться в виндоус и снова стрелки понажимать? Отпиши как ощущения?
А скорость? Я вот не могу понять просто такое ощущение, что после win+L эмулятор ускоряется ? Или такого быть не может в принципе?
В MESS снега-2 нет, потому что строки рисуются по внутреннему таймеру эмулятора, а снег-1 есть:
http://img-fotki.yandex.ru/get/4117/...124_XL.png.jpg
Серым я временно рисую строки, в которых на момент срабатывания таймера (примерно соответствует моменту ССИ) флаг 0 (запрет отображения) сброшен. Думаю, надо посмотреть, в какой момент он ставится прошивкой.
Нет, не разобрался.
Бес попутал :o
Подозреваю, что у меня неправильно реализован флаг 0 (ССИ) -- сейчас он считается взведенным, если "луч" рисует пикселы от 0 до 100 (из 1000). Длительности ССИ в ТО нет, но он должен быть короче.
/me открыл книжку "Узлы и блоки телевизоров" :-)
Длительность видимой части горизонтальной развертки 160 тактов процессора (или 80 символов), длительность сигнала HBlank (горизонтальное гашение луча) - 40 тактов процессора (20 невидимых символов). Каждая строчка начинается с интервала HBlank (40 тактов), затем видимая часть 160 тактов, а не наоборот.
---------- Post added at 01:04 ---------- Previous post was at 01:01 ----------
Код:Тактирование системы:
=======================
Задающий генератор - 30,8МГц
Тактирование видеосистемы - 15.4МГц (pixelclock)
Частота обращения к ОЗУ - 1.54МГц
Частота строк - 15400Гц
Частота кадров - 50Гц
Число строк развертки - (25 + 3) * 11 = 308
Видимых строк - 25 * 11 = 275
Тактов ОЗУ в строке - 100 (80 на видимую часть, 20 на HBlank)
Тактов CPU в строке - 200
Команд CPU в строке <= 200
Тактов в кадре - 61600
Тактирование CPU - 3.08МГц (но две фазы - первая и вторая)
Полутактовое тактирование CPU - 6.16МГц
10 точек символа равно двум командам процессора.
Нашел на схеме куда заведен сигнал управления 25-й строкой. Этот сигнал называется ФЛ3Н, и заведен он на D17 (ЛА3), туда же, куда и сигнал VBlank (ОКРН). Таким обраозм, этот сигнал аналогичен сигналу обратного хода кадровой развертки, только формируется программно (к слову сказать, не обязательно может выключать 25-ю строку, а вообще любую). Остается открытым вопрос, чем этот сигнал отличается по своему действию от сигнала запрета отображения ФЛ0В?
---------- Post added at 03:12 ---------- Previous post was at 03:07 ----------
Подозреваю, что VBlank и ФЛ3Н просто запрещают отображение, тогда как ФЛ0В и запрещает отображение, и запрещает выборку видеоинформации из памяти.
---------- Post added at 03:21 ---------- Previous post was at 03:12 ----------
Но что-то здесь все равно не так, потому что если реализовать таким образом, то управляющей строки в обычном режиме не видно, т.к. если нулевой бит регистра R10 = 0, отвечающий за самый последний разряд управляющей строки (индикация строки 25), то на время отображения управляющей строки, сбрасывается ФЛ3Н, и строку не видно. А по умолчанию там именно 0, и значит при старте не видно строки.
Н означает, что сигнал активен при низком уровне (0)
Из темы про 15ИЭ
"по поводу флага 0 надо добавить, что низким уровнем он также блокирует формирование сигнала РИН (режим индикации), который разрешает автоинкремент счетчика символов в ЗУ при индикации. Таким образом, при сброшенном флаге 0 процессор может спокойно работать с ЗУ.
Сброшенный флаг 1 разрешает стандартную блокировку отображения во время 3 маркерных строк (также запретом ЗСРВ) под символами.
Установленный флаг 1 включает режим 5 Гц запрета/разрешения отображения во время 3 маркерных строк. Т.е., очевидно разрешает мигать курсору. Но, похоже, что он должен включаться программно строго во время формирования МСВ (активен вдоль всех 3 битовых маркерных строк), но только на время отображения того символа, под которым курсор! Т.е., похоже, процессор как-то должен программно отслеживать (может по жесткой времянной привязке выполнения команд к времени отображения строки?) момент отображения курсора и в этот момент включать флаг 1, а потом сразу выключать?
Флаг 3, повторю, также блокировкой ЗСРВ, запрещает отображение всей символьной служебной строки."
Кстати, теперь прекрасно работает TSTKGD.SAV с этого сборника:
http://s020.radikal.ru/i700/1304/31/3fca9442814e.png
Все автоматически переключается туда-сюда, между текстовым и графическим экраном. И обратно выходит в режим УКНЦ, если был из него запущен.