User Tag List

Страница 110 из 120 ПерваяПервая ... 106107108109110111112113114 ... ПоследняяПоследняя
Показано с 1,091 по 1,100 из 1199

Тема: Орион-2010. Hard & Soft

  1. #1091

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от pvlad Посмотреть сообщение
    В настоящий момент Монитор, в клавиатуре PS/2 через порт F500, четко определяет CTRL и SHIFT? А это, ведь, отдельно замыкаемые контакты. Как это делается и какие клавиши при этом нажимаются на ПС? Конкретно!
    Естесственно, кнопки SHIFT и CTRL читаются, совершенно спокойно и независимо от других клавиш. Читаются как биты порта F402.

    Цитата Сообщение от pvlad Посмотреть сообщение
    2. В настоящий момент SHIFT (CTRL) нажимается одновременно с символьными клавишами или по отдельности?
    символьные клавиши читаются из F401. Т.е. отдельно, как и на оригинальной РК-клавиатуре

    Цитата Сообщение от Keeper Посмотреть сообщение
    as<='1' when (csf76='0' and a_buff(0)='0' and wr_n = '0') else '0';
    ds<='1' when (csf76='0' and a_buff(0)='1' and ( wr_n = '0' or rd_n = '0' )) else '0';
    попробую
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  2. #1092

    Регистрация
    15.11.2007
    Адрес
    Харьков
    Сообщений
    873
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    По клавиатуре, в проекте используется модуль ps2_keyboard у которого есть такие интересные выходы:

    rx_extended,
    rx_released,
    rx_shift_key_on,
    rx_data_ready

    Нука напомните кто там что хотел
    Последний раз редактировалось Keeper; 10.07.2010 в 00:23.

  3. #1093

    Регистрация
    18.09.2009
    Адрес
    г.Ногинск, МО
    Сообщений
    246
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Таки что же решили за обработку одновременных нажатий кнопок? А их обязательно будет, причем не в играх даже, - например элементарные комбинации клавиш пишмашки с Ctrl или Shift в любой системной программе или Мониторе.
    Я тут нашел следующее по адресу: http://kazus.ru/articles/18.html
    "Комбинации клавиш с Shift, Alt и Ctrl передаются как последовательность двух скан-кодов. С точки зрения контроллера эти клавиши ничем не отличаются от всех остальных. Точно так же на аппаратном уровне не различаются режими Num Lock и Caps Lock - они различаются на программном уровне программой, которая обслуживает прерывания от клавиатуры.

    Коротко хочу остановиться на реализации режима автоповтора. Как правило функции автоповтора возлагаются на саму клавиатуру - через определенное время, если клавиша не отпущена, то клавиатура посылает еще один точно такой же скан-код. Если в это время нажать еще одну клавишу, то к контроллеру "полетит" уже другой скан-код и будет считаться, что нажата только одна клавиша. В играх эта проблема решена элементарно - клавиша считается нажатой, пока не прийдет соответствующий скан-код с префиксом 0F0h."
    Если ты чего-то не знаешь, то это не значит, что этого не может быть.

  4. #1094

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от pvlad Посмотреть сообщение
    Я тут нашел следующее по адресу: http://kazus.ru/articles/18.html
    "Комбинации клавиш с Shift, Alt и Ctrl передаются как последовательность двух скан-кодов. С точки зрения контроллера эти клавиши ничем не отличаются от всех остальных. Точно так же на аппаратном уровне не различаются режими Num Lock и Caps Lock - они различаются на программном уровне программой, которая обслуживает прерывания от клавиатуры.

    Коротко хочу остановиться на реализации режима автоповтора. Как правило функции автоповтора возлагаются на саму клавиатуру - через определенное время, если клавиша не отпущена, то клавиатура посылает еще один точно такой же скан-код. Если в это время нажать еще одну клавишу, то к контроллеру "полетит" уже другой скан-код и будет считаться, что нажата только одна клавиша. В играх эта проблема решена элементарно - клавиша считается нажатой, пока не прийдет соответствующий скан-код с префиксом 0F0h."
    Об этом и речь. Что вариант "нажали Ctrl - отпустили - нажали С - отпустили" в текущей реализации получается эквивалентен "нажали Ctrl - нажали С - отпустили - отпустили" и оба раза реализуется в последовательную трансляцию кодов "Ctrl " и "С". Т.е. драйверу никак не понять одновременно нажаты эти кнопки или последовтельно. А если лазать за этим разъяснением в порт f40х, так уже готовый драйвер есть для этого порта, без всяких дополнительных клавиатурных извратов.

    Т.е. я - за порт PS2, но думаю его придется серьезно доделывать. Пускай и после писалки на SD. Простейший вариант что приходит на ум - допонительно как-то транслировать и коды отпускания клавишь.

    Соответствие кнопок в эмуляторе (RK=PC):
    УСТ = Home
    ПС = End
    СТР = Ins
    ЗБ = BackSpace
    AP2 = Esc
    F1..F5 = F1..F5
    Ctrl+G = Del
    Ctrl+R = PgUp
    Ctrl+C = PgDown
    РусLat = F8=F9=Scroll (смотря как настроено в настройках эмулятора на закладке "keyboard")

    C учетом "TurboPascal-style"-расширителя (включается в настройках эмулятора на закладке "keyboard") добавляются PC-комбинации Ctrl+кнопка для курсорных и фукциональных кнопок, которые транслируются Ориону в "CTRL-Q-кнопка"-сочетания. За соответствием (если кому-то нужно, в чем я по правде сказать - сомневаюсь) - добро пожаловать в исходники (mod8255.pas).
    Последний раз редактировалось Error404; 10.07.2010 в 09:59.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  5. #1095

    Регистрация
    18.09.2009
    Адрес
    г.Ногинск, МО
    Сообщений
    246
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Об этом и речь. Что вариант "нажали Ctrl - отпустили - нажали С - отпустили" в текущей реализации получается эквивалентен "нажали Ctrl - нажали С - отпустили - отпустили" и оба раза реализуется в последовательную трансляцию кодов "Ctrl " и "С"...
    Спокойно, без паники! Думаю, ты не правильно интерпретировал (возможно не понял) приведенную мною выдержку. Будешь ты нажимать последовательно или одновременно клавиши CTRL+C, клавиатура выдаст два скан-кода один за другим, а значит будет два прерывания подряд. Аналогично при нажатии трех клавиш! По получении скан-кода 14Н (Ctrl(L)) - поднимается (в драйвере) программный флаг, а затем по получении скан-кода 21Н (С) принимается решение. Только перед этим следует проверить не появился ли код F0+14H (тоже будет прерывание по отпусканию клавиши (Ctrl(L)), т.е. проверяем ситуацию, когда нажали и отпустили клавишу Ctrl, так и не нажав еще что-то. И так далее! Что здесь сложного?

    Сейчас уже абсолютно понятно, что от клавиатуры PS/2 необходимо принимать два байта, иначе не определить в каком состоянии клавиша - нажата или отпущена. Остальное все делается в драйвере.
    При старте Монитора (и после Ресет) все прерывания должны быть выключены. Далее, когда идет инициализация Монитора - настраиваются и вектора прерываний. Единственное, что меня волнует в этом вопросе - это поведение при вложенных прерываниях от разных векторов. Как будет вести себя контроллер прерываний, и насколько правильно мы определили приоритеты векторов.

    Я почему так активно защищаю наличие прерывания от PS/2-клавиатуры? Меня всегда убивало на Орионе то, что запустив какую-то программу, она начинает, временами, "жить" сама по себе не реагирую на клавиши - потому что "не желает" обращаться к клавиатуре. И без Ресет с этой унизительной ситуацией не справиться! Такого безобразия нет на ПС! Там есть три заветные клавиши (на крайний случай!), которые в 99% случаев возьмут ситуацию под контроль. Мне хочется, чтобы так было и на Орионе.

    P.S. Спасибо за "Соответствие кнопок в эмуляторе (RK=PC)"!

    ---------- Post added at 16:41 ---------- Previous post was at 15:24 ----------

    Цитата Сообщение от Keeper Посмотреть сообщение
    По клавиатуре, в проекте используется модуль ps2_keyboard у которого есть такие интересные выходы:
    Коллега! А можно менее загадочно?
    Последний раз редактировалось pvlad; 10.07.2010 в 15:28.
    Если ты чего-то не знаешь, то это не значит, что этого не может быть.

  6. #1096

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем, пока не смог заставить часы работать. Сейчас отпинаю плату ногами и постучу кувалдой, может заработает.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

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

  8. #1097

    Регистрация
    15.11.2007
    Адрес
    Харьков
    Сообщений
    873
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    В общем, пока не смог заставить часы работать.
    Повторю вопрос, что показывает симулятор?

    Цитата Сообщение от pvlad Посмотреть сообщение
    Коллега! А можно менее загадочно?
    Можно Но давайте дадим возможность ewgeny7 разобраться с часами.

  9. #1098

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Keeper Посмотреть сообщение
    Повторю вопрос, что показывает симулятор?
    По моему молчанию можно понять, что симулятор ничего не показывает. с тех самых пор, как в проект добавляется ончипПЗУ, для симулятора ядро процессора отсутствует.
    Цитата Сообщение от Keeper Посмотреть сообщение
    Но давайте дадим возможность ewgeny7 разобраться с часами.
    Интел-шина также не работает.
    Пока экспериментирую с тактировкой проца, удалось уменьшить вдвое время доступа для видеоконтроллера.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  10. #1099

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    С часами пока глухо, отвлекся на причесывание версии 05.
    Теперь за один такт клока читаются два адреса ОЗУ.
    Шины соответственно несколько разгрузились от посягательств видеоконтроллера.
    Маленько разогнал процик.
    Раз по 10 прогнал запуск СР/М в разных турборежимах.
    Доволен как слон

    П.С. может плюнем на 512ВИ1 и пересядем на PCF8583? Дрова часов в СР/М придется переписывать под I2C... На Скорпионе это работает применительно к NVRAM 24С16, исходники драйвера есть. А Т80 вероятно все же маленько отличается по времянкам от Z80, 512ВИ1 не хочет дружить. Завтра продолжу.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  11. #1100

    Регистрация
    18.09.2009
    Адрес
    г.Ногинск, МО
    Сообщений
    246
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Keeper Посмотреть сообщение
    Можно. Но давайте дадим возможность ewgeny7 разобраться с часами.
    Думаю, одно другому не мешает.
    Если ты чего-то не знаешь, то это не значит, что этого не может быть.

Страница 110 из 120 ПерваяПервая ... 106107108109110111112113114 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 22
    Последнее: 06.10.2008, 14:17
  2. MAGIC-SOFT
    от White_Hunter в разделе Люди
    Ответов: 1
    Последнее: 22.08.2008, 08:56
  3. MAGIC-SOFT
    от White_Hunter в разделе Люди
    Ответов: 2
    Последнее: 21.08.2008, 13:31
  4. soft dt
    от roxx в разделе Софт
    Ответов: 4
    Последнее: 30.01.2008, 18:41

Ваши права

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