Важная информация

User Tag List

Страница 11 из 35 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя
Показано с 101 по 110 из 342

Тема: PASCAL + MACRO11 (УКНЦ-ДВК).

  1. #101
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    Post

    Patron, я расковырял свои исходники с турбо-паскаля от "Зеленоградской гостинницы-2" которая под DOS и вот увидел там то же что и в вашем последнем примере - ожидание привязать не к факту нажатия, а к значению - через дополнительную переменную ! ) Видимо я там то же намучился с проскоками ) Должно сработать ТАМ ) KEYS.PAS понятное дело работает, но и SHKEYS.PAS работает, буду пробовать в той проге где нужен опрос с ожиданием. Спасибо!

    В любом случае у меня уже целая копилка алгоритмов по опросу клавиатуры).
    Может быть кто то предложит "супер" вариант работать с кнопками в обход RT-11 вообще! ) Насколько это сложно и главное хотя бы словесное (понятное) описание необходимых действий, исходник Alex_K работает, но малоинформативен в моём случае (это тот который на sysimage - скан-коды выдаёт).

    Как обработать нажатие клавиш SHIFT (НР - они правильно зовуться), а повесить функцию ПАУЗА на красную кнопку? в теме по программированию form предлагал (когда-то) всякие хитрости выкладывать - я только ещё раз присоединяюсь к призыву - в этой или другой теме не важно )

    Пойду я выкручиваться и экспериментировать - без опроса клавиш никак. (казалось бы очевидная вещь клавиатура, как делать общение
    с пользователем без удобного инструмента для работы с клавой?)
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  2. #102
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    работать с кнопками в обход RT-11 вообще!
    При нажатии на клавишу происходит прерывание и управление передаётся в монитор. Чтобы работать напрямую с регистрами клавиатуры - нужно запретить у неё прерывания.

    Но программа, работающая с регистрами клавиатуры напрямую - не будет запускаться в продвинутых мониторах. Гораздо лучше использовать системные вызовы, тем более, что они прекрасно работают.

  3. #103
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Но программа, работающая с регистрами клавиатуры напрямую - не будет запускаться в продвинутых мониторах. Гораздо лучше использовать системные вызовы, тем более, что они прекрасно работают.
    Да но в моём случае речь идёт о стандартных конфигурациях УК-НЦ и ДВК,
    я бы (если честно) не хотел бы даже вникать в "низкий" уровень, иметь инструментарий типа "бац" - процедура - после её вызова клавиатура уже
    целиком моя (программная), где есть опознавалка для шифтов, УСТ, СТОП и
    СБРоса ! Удобно же! На УК-НЦ особенно. Проверка на нажатие этих кнопок. Мечты ) Сам я такое не напишу в ближ. время конечно. поскольку сам механизм - необходимый для этого не знаю\ не понимаю. А системные вызовы - несмотря на прекрасную работу - всё таки работают криво ! или я такой программист ) Просто я не понимаю почему в одном случае срабатывает, а в другом нет один и тот же алгоритм??? ) Вот честно - (больше не буду этот вопрос писать\задавать всем уже надоело наверное - но это так!). Ещё раз спасибо за подсказки и шпоры. Всех желающих по прежнему призываю делиться своими методами и не только касательно клавиш, а вообще по теме программирования.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  4. #104
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,134
    Спасибо Благодарностей отдано 
    470
    Спасибо Благодарностей получено 
    519
    Поблагодарили
    412 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Уважаемый господин hobot, нет ли у Вас мнения, что клава недостоверно работает именно в Вашей М-ЭВМ ?
    Я бы порекомендовал изучить процесс работы с клавой именно на самом низком программном уровне - т.к., возможно, не все ИС в Вашей М-ЭВМ исправны. Например, написать тест клавы на машкодах - самый примитивный, с последовательным опросом нажатий всей клавы.
    Могу поверхносно предположить, что могут быть виноваты :
    1. Некоррекное выставление признака внутри ВМ2 - главного или переферийного.
    2. Некорректная обработка флагов в ПЛМ, в т.ч. спонтанная.
    3. Некорректная работа собственно контроллера клавы - в т.ч. от пробоя статикой.
    ( Или полупробоя ).
    4. Более конкретно можно ответить на эти предположения при запуске Вашего софта на др. экз. М-ЭВМ.

  5. #105
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Но программа, работающая с регистрами клавиатуры напрямую - не будет запускаться в продвинутых мониторах
    Продвинутости не нужно. Достаточно самого обыкновенного монитора с многотерминальной поддержкой. Даже если в конфигурации всего один монитор (такая конфигурация может использоваться для возможности полного управления терминалом и работы с 8битными символами без перелопачивания монитора).

    В многотерминальном мониторе система автоматически восстанавливает состояние регистров и потому попытка запретить прерывания от клавиатуры не будет иметь успеха если только не отобрать у системы таймер. Я приводил пример как обойти это (а заодно и правильно выводить на терминал за которым работаешь, а не на консоль) не трогая таймер. Но все-равно там где для прямого обращения к регистрам нет никаких разумных причин, проще обойтись системными вызовами. Заодно программа, работающая через системные вызовы, будет нормально работать в RTEM и TSX
    Последний раз редактировалось form; 24.03.2014 в 04:56.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  6. #106
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    А системные вызовы - несмотря на прекрасную работу - всё таки работают криво !
    А можно увидеть тот исходник, скомпилированная из которого программа не может нормально использовать системные вызовы ?

  7. #106
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #107
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    Unhappy Я не программист, но спасибо за проявленый интерес !

    Цитата Сообщение от form Посмотреть сообщение
    Продвинутости не нужно.
    Да! Нужен удобный инструментарий для работы с клавиатурой напрямую в ассемблере\паскале УК-НЦ и ДВК! ) Пример UKLOAD только без необходимости предварительно загружать UKLOAD в память, а иметь некую процедуру ИНИЦИАЛИЗАЦИИ - после вызова которой сразу происходят все нужные установки и появляется доступ к глобальным показателям в виде функций
    которые можно в паскале оформить или проверять их состоянии макро-вставками - например : Нажат ли шифт? - тогда бип ! Нажат ли СТОП? - тогда пауза ! В таком духе. Я просто описываю движок который был в Зеленограде однажды написан, но UKLOAD - выжил вон сколько копий, а правильный движок существует теперь только для БК11М ) Печалька. Но может ещё обнаружиться. К нему же
    кстати шли и редактор+процедурки для вывода спрайтов !!!
    Проще говоря - DEСовский ПАСКАЛЬ на УК-НЦ превращался в
    реально удобную среду написания программ для УК-НЦ!!! ) Этот пакет висит в объявлении розыскивается с самого
    начала, вместе со "СТРАНОЙ МОНСТРОВ" под RT-11 )

    Цитата Сообщение от MM
    Например, написать тест клавы на машкодах - самый примитивный, с последовательным опросом нажатий всей клавы.
    Я полностью согласен что изучить все эти подводные камни самое правильное решение. По поводу написания теста:
    Я не на машкодах, я просто взял функцию под редакцией (после критических замечаний form'а ) и написал совсем коротенькую и простую SHKEYS.PAS исходник и протокол работы её тут
    http://zx.pk.ru/showpost.php?p=639059&postcount=71 -
    см. вторую половину сообщения по ссылке.
    И могу вам сказать что она везде работает и всегда ожидает нажатия и даже в случае когда жмёшь кнопки с "двойным" показателем (ВК, стрелки курсора), не проскакивает следующего ожидания до тех пор пока пользователь не нажмёт УПР+Ц, затем она выдаст код клавиши 3, свою версию и выходит в монитор.
    Она работает так как надо.
    Вот где начинается издевательство над моим разумом:
    Цитата Сообщение от Patron Посмотреть сообщение
    А можно увидеть тот исходник, скомпилированная из которого программа не может нормально использовать системные вызовы ?
    - это немного коварный момент\вопрос ) Тут дело в том, что
    1 - я пока ещё не использовал метод ориентированный на доп.переменную значения, я только убедился что вариант из SHKEYS.PAS и вот этот (не дословно!!!)
    Код:
    /*$C 
    EMT ^O340
    BCS .-2
    */
    - (там не совсем так конечно, но что бы просто понятно было -> первично вами предложенный ) там работают только первый тик цикла (а всего их допустим восемь). В конце
    каждого тика нужно ждать кнопку, но после нажатия в конце первого тика - остальные семь просто пролетают, словно 340-го
    емта там и в помине нет , вариант из SHKEYS просто пролетает
    как будто я клавишу зажал и не отпускаю. От варианта нажатой клавишу (алфавитная, стрелка курсора, ВК) - не зависит, проскок!
    Patron - уже подсказал (если верите мне - напомнил) решение,
    я сам же в своих старых исходниках с ДОСовского паскаля к нему пришёл (см. KEYS.PAS) - но это только означает что штатные варианты работы с клавиатурой убоги по определению. Конечно я выкручусь и программа работать будет так как задумывалось )
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  9. #108
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    штатные варианты работы с клавиатурой убоги по определению
    Они напротив очень удобны и функциональны. Да, в однотерминальном RT-11 нельзя перехватить например код CTRL/O (CTRL/D в некоторых советских вариантах). Но это все. Других ограничений нет.
    Надо только правильно выставлять настройки ввода которые по сути управляются всего двумя битами (плюс еще одним если надо вводить специфические символы вроде CTRL/S, CTRL/Q). Плюс макровызов .SCCA если надо CTRL/C самостоятельно вводить/обрабатывать.

    Умение использовать все это позволяет писать полноценные программы, работающие везде, а не убожества которые напишут свою заставку и на том сдохнут ибо пытаются "правильно" работать

    Замечу также, что это на порядок проще физической работы, правильных примеров которой на моей памяти не продемонстрировал ни один программист в советские времена
    Последний раз редактировалось form; 24.03.2014 в 16:39.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  10. #109
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Хобот не сдаётся, а идёт дальше куда form его отправил - паскалить!

    Цитата Сообщение от form Посмотреть сообщение
    Замечу также, что это на порядок проще физической работы,
    Я согласен, но form, ты всё время рассуждаешь с вершины системщика, а мне нужно конкретно для УК-НЦ решение под неё заточенное. Когда ты говоришь"правильные" - ты подразумеваешь стандарты DEC. В большинстве случаев я с тобой согласен на 100%. Но "иногда" я говорю "правильные" в
    рамках УК-НЦ (и только УК-НЦ) и если бы я сам Зеленоградским инструментарием в своё время не пользовался и его удобств не оценил - я бы и не вспоминал и не писал об этом.


    Цитата Сообщение от form Посмотреть сообщение
    по сути управляются всего двумя битами
    Прошу ещё раз обратить внимание - что эти явные для тебя моменты для меня
    совсем не явные !!! То есть - предполагается что бы сделать простой опрос клавиатуры работающий так как требуется по сценарию программы мне нужно
    вникнуть в кучу низкоуровневной \ регистровой косвенно-непосредственной математики ? Логически и "педагогически"
    это правильный подход, но в моём случае грусть и печалька.

    Вот тут твой исходник для фортрана http://zx.pk.ru/showpost.php?p=693329&postcount=97 (кстати очень понравилось решение Титуса - в его шпоргалке в теме по программированию - вот он просто взял и обхитрил все эти штуки,
    избежал всех проскоков и даже победил вывод символов на экран терминала - принято на вооружение однозначно!), так вот возвращаясь к твоему исходнику - даже наличие подробного комментария не делает его информативным для меня.

    На данном этапе я думаю всё будет работать (я же сказал что путём
    экспериментов "сразу в теле исходника") как нужно и на УК-НЦ, и на ДВК, а если всё будет совсем хорошо, для проверки можно будет
    залить к прочим программам на твоём железе (там где символьных игр подборка) и протестить на рабочесть там.

    Критерии оценки грамотности сильно зависят от точек зрения.
    Я не профессиональный программер, но я сейчас ещё раз хочу
    сказать, что ТЗ которое ставили перед разработчиками пакета
    Magnifier они очень чётко и правильно выполнили - чему
    я сам был свидетелем. Возможно этот софт ещё найдётся.

    Какой прок школьнику за УК-НЦ от того будет ли программа работать на DEC-мифических системах где-то в DEC-мифической среде? Программа должна использовать текущего железа тонкости и
    особенности - и для этого (посмотри архив на самом деле!),
    и разрабатывался инструментарий отдельно по каждой из
    отечественных видео-карт и М-ЭВМ ). Наличие такого инструментария ни в каком случае не препятствовало(ует) обучению алгоритмам и основам, но позволяет использовать
    некоторые объекты без лишней
    физической работы
    .

    не убожества которые напишут свою заставку и на том сдохнут
    - да к сожалению один из неплохих вариантов
    тетриса на твоей машинке не завёлся дальше заставки. Но его писал школьник, на и для ДВКашки ) Чего же тут удивительного?

    Извиняюсь за сумбур и кол-во букв.
    Неудобство форума состоит в том что ссылки нужные размазываются
    среди сообщений и мало кто делает себе труд читать темы.

    Хобот не сдаётся, а идёт дальше паскалить )

    ---------- Post added at 18:14 ---------- Previous post was at 18:13 ----------

    Цитата Сообщение от form Посмотреть сообщение
    которые по сути управляются всего двумя битами
    вот этот момент раскрой подробней пожалуйста если будет настроение! )
    Ведь не только мне полезно будет.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  11. #110
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    вот этот момент раскрой подробней пожалуйста если будет настроение! )
    Ведь не только мне полезно будет.
    Все описано еще в документации по РАФОС. Смотреть биты JSW. Сейчас кто-нибудь расскажет, а я как протрезвею, расскажу как сделать чтобы в TSX-Plus все работало независимо от ключей /NOWAIT и /SINGLE команды RUN
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

Страница 11 из 35 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. "Исходники" Turbo Pascal нужны кому ?
    от esl в разделе Программирование
    Ответов: 2
    Последнее: 19.10.2018, 11:33
  2. Продам МС5310 блок дисководов к УКНЦ+КМД УКНЦ
    от Mad Killer/PG в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 19.03.2012, 11:27
  3. в розыске дисковая версия Pascal.
    от goblinish в разделе Программирование
    Ответов: 18
    Последнее: 16.08.2011, 16:30
  4. Pascal
    от Andrew771 в разделе Программирование
    Ответов: 22
    Последнее: 24.05.2011, 21:20
  5. Скопировать/вставить из/в HiSoft Pascal в эмуляторе
    от kit в разделе Программирование
    Ответов: 1
    Последнее: 05.02.2010, 15:35

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •