21 | 08 | 2017

keyrus

Резидентный драйвер дисплея и клавиатуры для DOS-программ  KEYRUS V7.3

 Самый распространненый и удобный  русификатор для DOS. В архиве самая полная и последняя версия, с документацией и средством для редактирования шрифтов. Большие возможности: можно грузить любой графический шрифт 8x8, 8x14, 8x16; задавать любые клавиши для переключения, изменять  раскладку клавиатуры; использовать NumPad для псевдографики или других назначаемых символов. Индикация раскладки может производиться цветом бордюра экрана, звуком при нажатии клавиш/переключении, светодиодами на клавиатуре. Назначаются клавиши переключения шрифта и раскладки клавиатуры. Запускаемый файл Keyrus.com, после конфигурации можно переносить и пользоватся со всеми настройками, которіе перепрошиваются внутри одного файла. Есть поддержка украинской клавиатуры и шрифтов 

 Программа-драйвер  состоит из трех блоков - клавиатуры, поддержки дисплея и интерфейса. Первый основной блок обрабатывает клавиатуру, второй блок обеспечивает корректное отображение символов на экране,
 третий выполняет другие второстепенные функции (интерфейс с программами пользователя, динамическое изменение параметров и др.)


 Прежде всего, во избежание недоразумений, определимся - на каких компьютерах работает эта программа.
 Блоки клавиатуры и интерфейса нечувствительны к типу компьютера (если, конечно это IBM совместимый компьютер).
 Блок поддержки дисплея полноценно работает  на EGA/VGA На MCGA, Hercules+, ЕС-1840. 
 KEYRUS был первоначально задуман как драйвер-русификатор, но в текущей версии его можно настроить на любую клавиатуру пользователя и на любой национальный шрифт (при условии, что символов в этом языке не больше 256)
 Программа легко настраивается на любой вкус пользователя. Текущая версия поддерживает более 30 различных ключей, с помощью которых можно составить бесчисленное множество вариантов конфигурации на любой вкус. В зависимости от конфигурации драйвер занимает от 300 байт до 11 килобайт.

В этой версии было внесено множество изменений:
- Если не использовать новых возможностей, эта версия драйвера
даже занимает немного меньше памяти, чем старая.
- Новая версия прекрасно работает в MSWORD.
- Корректная работа во всех без исключения видеорежимах (если
установлен ключ /full), даже в нестандартных режимах SuperVGA.
- Включена поддержка фонта 8x14 на VGA (по желанию).
- Полностью изменен блок поддержки клавиатуры.
- Альтернативная клавиатура переведена на одинаковые права с
русской клавиатурой. Для нее есть своя клавиша переключения, свой
цвет рамки и другие атрибуты. Пропал старый ключ /graph, вместо него
появился ключ /alt.
- Новый ключ /blank который позволяет гасить экран по истечении
определенного времени если не было нажатий на клавиши или движений
мыши.
- Улучшен алгоритм обработки командной строки.
- Новые ключи /8x14, /8x16, /EGA, /HELP.
- Есть возможность набирать такие символы, как запятая, точка
и т.д. в русском режиме, набирая Alt+"," Alt+"." и др. Подробнее
смотри ключ /RUSALT
- Расширены многие старые ключи.
- Добавлена поддержка украинского языка, которую можно включить
или отключить по желанию. Использован стандарт MICROSOFT для
символов, а клавиатура взята, как на украинских печатных машинках.
- Немного изменен программный интерфейс.
- Написан редактор клавиатур.
- Написан инсталлятор.

Наберитесь, пожалуйста терпения и прочитайте краткий перечень всего,
что умеет программа KEYRUS.

Можно указать любой шрифт 8x8, 8x14 и(или) 8x16,
 указав файл с кодировкой рисунка букв, который можно получить
с помощью программы EVAFONT или другого редактора фонтов.
Можно изменить расположение русских и(или) английских
букв на клавиатуре, также поддерживается дополнительная
клавиатура, которую можно использовать для псевдографики или
для клавиатуры альтернативного государственного языка (например
украинского)
Можно свободно менять клавиши переключения
На любой вкус предлагается возможности индикации текущего
режима клавиатуры - цветом рамки, звуком разной частоты при
переключении, лампочкой на клавиатуре, потрескиванием клавиш.
Есть возможность набирать такие символы, как запятая,
точка и т.д. в русском режиме, набирая Alt+"," Alt+"." и др.
Подробнее смотри ключ /RUSALT
Можно отключить при загрузке блоки клавиатуры или экрана,
и таким образом, использовать KEYRUS только как драйвер дисплея
или только как драйвер клавиатуры.
Можно настроить драйвер на поддержку графических режимов,
подробнее смотри ключи /128 /all /full /compress
Отдельные шрифты можно отключать. К примеру, если я не
работаю в режиме 80x50 и мне не нужны русские буквы в графике,
зачем мне держать в памяти шрифт 8x8. Достаточно ввести ключ
8x8=off и мы сэкономим 1К памяти. Подробнее смотри описание
ключей /8x8, /8x14, /8x16.
Для того, чтобы не набирать каждый раз при запуске все
ключи, достаточно набрать их один раз и в конце командной
строки добавить /SAVE - ваша конфигурация станет теперь по
умолчанию. Текущую конфигурацию можно посмотреть, набрав
KEYRUS /?
Некоторые параметры можно изменять, не выгружая драйвер из
памяти. Конкретнее смотри описание ключей.
Драйвер можно выгружать из памяти с помощью ключа /RELEASE
или программой RELEASE.
При использовании драйвера без проблем набираются такие
символы, как русское "р" и др. К сожалению существует небольшое
количество программ, которые некорректно работают с клавиатурой
- они просто отбрасывают символ "р", введенный с клавиатуры. В
число таких программ входит и небезызвестный Norton Commander.
В конце этой документации есть приложение, в котором описано,
как изменить сам NC, чтобы он понимал эту букву.
Для тех, кто беспокоится что экран его дисплея будет
выгорать с течением времени (это действительно имеет место на
некоторых мониторах) предлагается ключ /blank, который будет
обеспечивать гашение экрана на компьютере, если в данное время
на нем никто не работает.
Драйвер работает на адаптерах EGA/VGA, но может работать
и на других. Так, например на CGA можно поддерживать русскую
клавиатуру и графические режимы: keyrus /128 прекрасно заменяет
программу graphtabl.
Также в драйвер встроены некоторые сервисные функции -
можно увеличить буфер клавиатуры, отключить ScrollLock при
загрузке, изменить скоростные параметры клавиатуры AT и др.
Можно управлять работой драйвера из своей программы.

Приведенный список возможностей драйвера далеко не полон,
он лишь дает общее представление о программе.


Небольшое дополнение для программистов

В KeyRus'е мною использован ряд оригинальных алгоритмов, которые не
встречались мне ранее. Возможно это будет интересно разработчикам
аналогичных программ.

1. Если включен режим /compress, то весь фонт в теле драйвера при
запуске упаковывается (процентов на 40) и при загрузке в знакогенератор
используется процедура, которая обращаясь к EGA/VGA через порты
непосредственно распаковывает фонт прямо в память знакогенератора.
Разумеется в этом режиме не поддерживается графический режим, т.к. BIOS
требует указатель на неупакованный шрифт.

2. Как известно существует много вариантов SuperVGA и на них нет
общего стандарта. Так один VGA использует дополнительные режимы 50 - 56,
другой - 4f и так далее. Этой версии KEYRUS это абсолютно безразлично. Я
использую следующий алгоритм определения режима (только для VGA):
mov dx,3ceh
in al,dx ; Читаем индексный регистр
mov ah,al
mov al,6
out dx,al ; Используем регистр Graphic6
inc dx
in al,dx ; читаем этот регистр
dec dx ;
test al,1 ; если бит0=0, это текстовый режим
mov al,ah
out dx,al ; Воостанавливаем индексный регистр
je @@TextMode
@@GraphicMode:
...
@@TextMode:
...
После того, как мы определили тип режима можно узнать:
byte 0040:0063 = 0b4h для монохромного, =0d4h для цветного режима
word 0040:0085 = число линий в одном символе
byte 0040:0084 = число строк на экране минус 1
word 0040:004A = число колонок на экране
Таким образом мы имеем полную информацию и номер режима нам не
интересен.

3. Вы наверное заметили, что KEYRUS.COM занимает почти 22К. На
самом деле драйвер представляет собой конгломерат процедур на все случаи
жизни, шрифтов, клавиатур и др. При запуске программы он себя записывает
в более старшие адреса, а затем считывает конфигурацию пользователя и
начинает строить тело драйвера из процедур, кусков фонтов (возможно
упаковав их при этом) и т.д., в общем всего того, что надо пользователю,
не оставив ни одного лишнего байта в памяти.
Если вы тоже будете так делать, маленькое предупреждение - все
вызовы подпрограмм должны быть косвенные.

Скачать бесплатно     Скачать (Download)


Комментарии  

0 #1 Сева 29.04.2016 20:30
Поставил и очень доволен!
Цитировать
Похожие темы на сайте