Добавил возможность сохранения скриншота в формате PNG (4-битный нежатый, 94011 байт), в диалоге сохранения скриншота поставил этот формат по умолчанию, также можно выбрать BMP (4-битный нежатый, 92278 байт) из списка типов.
Предваряя вопрос "зачем?" -- как-нибудь думаю сделать сохранение анимации в формате APNG.
Последний раз редактировалось nzeemin; 14.08.2012 в 01:06.
Теперь есть три команды сохранения скриншотов:
- Screenshot -- делает PNG скриншот ничего не спрашивая, в текущей папке с именем в виде даты и времени
- Save Screenshot as -- показывает диалог сохранения, с возможностью выбора формата PNG либо BMP
- Save Animation -- показывает диалог сохранения в формат APNG, создаёт файл и включает режим сохранения скриншотов после каждого фрейма (25 раз в секунду по времени УКНЦ). Режим выключается повторным выбором той же команды, при этом закрывается файл.
Все три команды вынесены на панель инструментов (toolbar).
В APNG сохраняется без сжатия, поэтому файл быстро растёт. Формат APNG могут просматривать некоторые браузеры (Opera например), есть инструменты оптимизации и конвертации в GIF: http://littlesvr.ca/apng/
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Алексей, получается что драйв без дискеты в РСН всегда возвращает установленный бит 7? с такой поправкой у меня PAF Commander загрузился, но хотелось бы точно знать -- что вообще должен возвращать драйв без дискеты в статусе.
Кроме того, есть две ситуации: 1) привод есть, не вставлена дискета 2) привода нет. Интересует что содержит РСН для этих двух случаев.
Ух ты... оказывается, этот бит влияет на подвисание в тех случаях про которые раньше говорилось -- та же третья заливка в JEK например.
И ещё вопрос по PAF Commander. При выборе устройства показывается табличка -- MZ0..7, SD0..7, HD0..7, LD0..7 -- почему по восемь устройств MZ, вроде как максимум 4? что за устройства SD, HD, LD?
Последний раз редактировалось nzeemin; 17.08.2012 в 16:23.
- На тулбаре кнопку Screenshot сделал простой кнопкой, убрал меню -- когда нужны две остальные команды можно в меню File залезть
- Добавил фикс с флагом MOREDATA для флоппи-драйвов без дискеты -- заработал PAF Commander и другие несколько мест где подвисало
http://ukncbtl.googlecode.com/files/...beta31-exe.zip
Последний раз редактировалось nzeemin; 19.08.2012 в 21:57.
Никита, извиняюсь за поздний ответ.
Во-первых, надо разделить понятия контроллера и дисководов. На контроллер приходит одна линия данных на чтение, на основе поступающих данных и формируется вся считываемая информация и соответственно, в зависимости от ситуации, формируются все флаги регистра состояния. А уже к этой линии на чтение может подключаться любой драйв, или вообще ничего не подключаться. Сам контроллер не знает подключен к нему дисковод или нет, не его это функция. Аналогично и со всеми входящими и выходящими линиями.
Во-вторых - при сбросе, включении питания или сбросе через бит 8 контроллер переходит в режим чтения с поиском адресного маркера. В этом режиме все поступающие на контроллер данные анализируются на поиск пропуска синхроимпульса и чтобы прочитанные данные были равны 0xA1. При этом бит готовности находится в сброшенном состоянии и никакие данные в регистр данных чтения не передаются (остаются старые данные). После того, как был найден адресный маркер, ставится бит готовности, в регистр данных передаются первые прочитанные данные (0xA1A1). И вот здесь контроллер уже входит в режим чтения данных, поступающие на его вход данные аккуратно нарезаются словами каждые 64 мкс (точнее два раза по 32 мкс, т.к. сдвиговый регистр байтовый). Естественно, реальные данные будут, если выдержаны следующие условия:
1. Выбран драйв (установлен бит 10 в регистре 177130)
2. Дисковод реально подключен (в UKNCBTL всегда).
3. Дискета находится в дисководе.
4. Включен мотор.
По этим условиям также должен осуществиться и поиск адресного маркера. Если контроллер уже находится в режиме формирования данных (нарезка), а хоть какое-то условие не выполнено, то тогда нарезка данных не прекращается, а в регистр данных поступает нуль. Т.е. после того как успешно был найден адресный маркер контроллер аккуратно формирует данные каждые 64 мкс, с установкой флага готовности.
Есть у контроллера еще одна особенность. После включения (а может и сброса) контроллер входит в режим поиска маркера, но флаг готовности все время стоит, а регистр данных чтения не меняется. В этом состоянии он находится, пока не начнут поступать данные на его вход чтения. Как только данные начнут поступать, то флаг готовности сбрасывается. начинается процесс поиска маркера.
Здесь мне кажется очень удобно сделать функцию чтения данных с дисковода. Если не выполнено одно из условий, то прочитывается ноль, а в ином случае берутся данные из соответствующего буфера дорожки. Но это данные только для сдвигового регистра. Если контроллер уже находится в режиме реального чтения данных, то тогда данные со сдвигового регистра поступают в регистр данных чтения.
Здесь все просто - в RT-11 все устройства делятся на символьные и блочные. Соответственно PAF Commander сканирует все установленные драйвера в системе и выбирает из них только блочные. А RT-11 до версии 5.6 поддерживала до восьми устройств на драйвер, при этом сколько реально устройство поддерживает - один, два или восемь - узнать невозможно. Потому и выводится все - 0 до 7.
SD - это квазидиск (по команде SET SD INFORM), что такое HD - не знаю. А LD - драйвер логических дисков, это когда на физическом диске или внутри другого логического диска можно создать файл (обычно с расширением DSK) и назначить его диском. Для этого в RT-11 есть команды MOUNT и DISMOUNT.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)