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

User Tag List

Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 28 из 28

Тема: Переделать клавиатуру AT >> XT

  1. #21
    Member
    Регистрация
    02.03.2005
    Адрес
    Екатеринбург
    Сообщений
    133
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от UncleDim Посмотреть сообщение
    Теоретически излечимо, полной подменой карты памяти на время nmi
    Тут возникает проблема детекта момента, когда Z80 прореагировал на NMI и начал выполнять обработчик. Проблема не так проста, как кажется.

    Если подменять просто по низкому уровню сигнала NMI - то текущая исполняющаяся команда будет писать/читать не ту память.
    Выходит надо дожидаться окончания этой команды, и только потом подменять. Но как это понять?

  2. #22
    Activist
    Регистрация
    17.03.2009
    Адрес
    Moscow
    Сообщений
    465
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    (стёр)
    надо однозначно выделить подтверждение nmi (выглядит как чтение из памяти), т.е. по идее достаточно будет простробировать nmi например чтением порта (любого) - юзер со своими нажатиями вряд ли заметит какую-либо задержку -тогда, после появления nmi, первая же запись в память после чтения из памяти должна будет отправляться уже в новую раскладку памяти (если не путаю, нигде в командах после iord не наступает memrd).
    Последний раз редактировалось UncleDim; 19.10.2023 в 15:36. Причина: Поторопился)
    Profi v3.2 512K+color; Profi 6.2B; МС-0511

  3. #23
    Member
    Регистрация
    02.03.2005
    Адрес
    Екатеринбург
    Сообщений
    133
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от UncleDim Посмотреть сообщение
    (стёр)
    надо однозначно выделить подтверждение nmi (выглядит как чтение из памяти), т.е. по идее достаточно будет простробировать nmi например чтением порта (любого) - юзер со своими нажатиями вряд ли заметит какую-либо задержку -тогда, после появления nmi, первая же запись в память после чтения из памяти должна будет отправляться уже в новую раскладку памяти (если не путаю, нигде в командах после iord не наступает memrd).
    Иными словами - когда нужно сделать NMI:
    1. ждём IORQ=0 (при M1=1, чтобы не спутать чтение порта с подтверждением INT)
    2. Выставляем NMI=0 на 1 такт
    3. Ждём MREQ=0 - как дождались - подменяем память на запись

    В целом должно сработать, кажется.

    Не подойдет для приложений, где нет чтения из портов, но в случае с клавиатурой это не проблема

  4. #24
    Activist
    Регистрация
    17.03.2009
    Адрес
    Moscow
    Сообщений
    465
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    3. Mreq+Rd
    (1. M1 можно и игнорить, не помешает)
    Profi v3.2 512K+color; Profi 6.2B; МС-0511

  5. #25
    Member
    Регистрация
    02.03.2005
    Адрес
    Екатеринбург
    Сообщений
    133
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В принципе да, не помешает.

  6. #26
    Activist
    Регистрация
    17.03.2009
    Адрес
    Moscow
    Сообщений
    465
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    (как-то все проще было сделано у меня в профике, полез в бессменный um0080)
    Действительно. Цикл подтверждения nmi - он ещё и м1)
    Profi v3.2 512K+color; Profi 6.2B; МС-0511

  7. #27
    Member
    Регистрация
    02.03.2005
    Адрес
    Екатеринбург
    Сообщений
    133
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от UncleDim Посмотреть сообщение
    Действительно. Цикл подтверждения nmi - он ещё и м1)
    Чем это помогает?

  8. #28
    Activist
    Регистрация
    17.03.2009
    Адрес
    Moscow
    Сообщений
    465
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    32 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    сигналом м1 "ровняем" приход nmi и им же (следующим) переключаем раскладку (хотя не, можем сразу после префикса попасть. ну да ладно, все равно при наличии м1 будет проще)
    вот с обратным переходом нужен отдельный механизм
    Последний раз редактировалось UncleDim; 20.10.2023 в 21:37.
    Profi v3.2 512K+color; Profi 6.2B; МС-0511

Страница 3 из 3 ПерваяПервая 123

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

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

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

Похожие темы

  1. Как переделать практически любую клавиатуру в PS/2
    от CLR в разделе Устройства ввода
    Ответов: 87
    Последнее: 31.03.2024, 00:27
  2. как переделать CAS в WAV
    от marsNRG в разделе Atari
    Ответов: 9
    Последнее: 09.01.2016, 18:45
  3. Клавиатура: переделать с USB на PS/2
    от phant0m в разделе Устройства ввода
    Ответов: 27
    Последнее: 09.06.2011, 17:02
  4. Ответов: 5
    Последнее: 03.10.2006, 22:40

Ваши права

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