B]Вот вопрос - как же всё таки "продвинутый драйвер клавиатуры" встроить и использовать в своих программах для УК-НЦ?[/B]
Имеется в виду - как опросить и проверить нажатие таких кнопок как НР(шифты), ПОМ, СБР, СТОП ?
Я по старой памяти помню просто глобальные переменные в Зеленоградском инструментарии они обозначались так :
S$PRESS:: - кнопки шифт (УК-НЦ не различает лев и прав)
ALF$PRESS:: - кнопка алф
и так далее по тому же принципу,
их достаточно было сравнить с нулём TST или TSTB (не помню), но предварительно загружался весьма внушительный код в виде двух процедур PPINI и CPINI из двух библиотек PP.obj и CP.obj - то есть отдельно для каждого
процессора УК-НЦ. После этого программа уже работала не зависимо от RT-11, визуально это выглядело переходом в режим 40Х24, изменением палитры, на все (абсолютно) системные кнопки программист мог повесить свои функции (!), менять на лету палитру и переключаться между двумя страницами 0 и 1 (это было удобно,
отрисовав игровой экран в странице 1 её как лампочку можно зажечь мгновенно - пример игра Conan)...
до вызова некоего EXIT - который полностью отменял все настройки по кнопкам, палитре и возвращал изображение системное на экран и системное приглашение CSI, то есть воскрешал мон в памяти и можно было спокойно дальше редактировать и отлаживать исходник !!! Представьте ещё, что к этому прилагалось удобное использование мелодий (из местного редактора (есть на многих дискетах в архиве) и 4-х цветный редактор спрайтов Magnifier со своей библиотекой процедур. Круто было очень! И в отличие от UKLOAD - не требовалось ничего предварительно загружать\запускать, конечно (и надо это понимать), что размер исполняемого модуля был увесист (но соразмеримо для запуска на РМУ и загрузки по сети УК-НЦ), поскольку включал в себя всё содержимое указанных
выше OBJ +
SPROUT.OBJ (библиотеку фун.и проц. для спрайтов) + имя.OBJ (прогнанные через МАКРО файл со спрайтами в виде sprite_name:: внутри) +
SPRTAB.OBJ - таблица используемых спрайтов, где все названия спрайтов из предыдущей библиотеки просто указывались сверху вниз внутри
SPRTAB::
первый спрайт имел номер 0 и так далее.
Спрайты записывались в таком примерно виде (редактор их сразу сохранял в ассемблере) ИМЯ_СПРАЙТА:: 8,8 - сначала размер по Х и У, а потом сам спрайт где обозначался цвет 1 из 4.
Сейчас похожий инструментарий обнаружен только для БК11М, авторов я не знаю, а УК-НЦ аналог с исходниками (у меня стоявший когда-то на машинке) к сожалению утерян (сильно подозреваю, что и у автора их нет).
[свернуть]