Инструменты пользователя

Инструменты сайта


msx:ppi

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
msx:ppi [2022-09-01 20:58]
GreyWolf [Пример опроса клавиатуры без использования подпрограмм ПЗУ]
msx:ppi [2022-09-01 21:14] (текущий)
GreyWolf [Пример опроса клавиатуры без использования подпрограмм ПЗУ]
Строка 13: Строка 13:
 {{anchor:​work_keyboard_without_rom}} {{anchor:​work_keyboard_without_rom}}
 ===== Пример опроса клавиатуры без использования подпрограмм ПЗУ ===== ===== Пример опроса клавиатуры без использования подпрограмм ПЗУ =====
- 
-FIXME 
  
 Пример опроса клавиатуры без использования подпрограмм [[msx:​rom|]],​ автор **KoD/SDM** Пример опроса клавиатуры без использования подпрограмм [[msx:​rom|]],​ автор **KoD/SDM**
  
-Для опроса клавиатуры используются два порта — #A9 и #AA: +Для опроса клавиатуры используются два порта — A9 и AA: 
-  ​* #A9, PPI Port — Колонка матрицы клавиатуры (Только чтение) \\ Чтение из этого порта вернёт состояние выбранной строки клавиатуры (выбранной через порт ​#AA) \\ Биты 0–7 соответствует одной из 8 клавиш в каждой строке матрицы клавиатуры \\ :!: **Если клавиша нажата,​ то соответствующий бит устанавливается в 0** +^  Регистр ​ ^  Порт ^  Описание ​ ^ 
-  ​* #AA, PPI Port — Строка матрицы клавиатуры,​ LED, Cassette (Чтение/​Запись) \\ Биты 0-3 соответствуют строке матрицы клавиатуры+ ​A9 ​ ​|  ​ |Колонка матрицы клавиатуры (Только чтение) \\ Чтение из этого порта вернёт состояние выбранной строки клавиатуры (выбранной через порт AA) \\ Биты 0–7 соответствует одной из 8 клавиш в каждой строке матрицы клавиатуры \\ **Если клавиша нажата,​ то соответствующий бит устанавливается в 0**| 
 + ​AA ​ ​|  ​ |Строка матрицы клавиатуры,​ LED, Cassette (Чтение/​Запись) \\ Биты 0-3 соответствуют строке матрицы клавиатуры
 +Полное описание регистров/​портов приведено [[#​registers|ниже]].
  
 Пример интернациональной раскладки матрицы клавиатуры:​ Пример интернациональной раскладки матрицы клавиатуры:​
Строка 142: Строка 142:
  
 Здесь приведено соответствие регистров PPI и портов ввода/​вывода:​ Здесь приведено соответствие регистров PPI и портов ввода/​вывода:​
-^  Регистр ​ ^  Порт ​ ^  Бит ​ ^  Режим \\ (ввод/​вывод)  ^  Имя ​ ^  Назначение ​  ^ +^  Регистр ​ ^  Порт ​ ^  Бит ​ ^  Режим \\ (ввод/​выход)  ^  Имя ​ ^  Назначение ​  ^ 
-|  A {{anchor:​reg_a}} ​ |  A8 {{anchor:​a8}} ​ |  0  |  ввод/​вывод  |  CS0 L   ​|Выбор слота для адресов в диапазоне 0000-3FFF|+|  A {{anchor:​reg_a}} ​ |  A8 {{anchor:​a8}} ​ |  0  |  ввод/​выход  |  CS0 L   ​|Выбор слота для адресов в диапазоне 0000-3FFF|
 |:::​|:::​| ​ 1  |:::|  CS0 H  |:::| |:::​|:::​| ​ 1  |:::|  CS0 H  |:::|
 |:::​|:::​| ​ 2  |:::|  CS1 L   ​|Выбор слота для адресов в диапазоне 4000-7FFF| |:::​|:::​| ​ 2  |:::|  CS1 L   ​|Выбор слота для адресов в диапазоне 4000-7FFF|
Строка 151: Строка 151:
 |:::​|:::​| ​ 6  |:::|  CS3 L   ​|Выбор слота для адресов в диапазоне C000-FFFF| |:::​|:::​| ​ 6  |:::|  CS3 L   ​|Выбор слота для адресов в диапазоне C000-FFFF|
 |:::​|:::​| ​ 7  |:::|  CS3 H  |:::| |:::​|:::​| ​ 7  |:::|  CS3 H  |:::|
-|  B {{anchor:​reg_b}} ​ |  A9 {{anchor:​a9}} ​ |  0  |  ввод ​ |  |Состояние строки [[msx:​russification:#​matrix|матрицы клавиатуры]],​ указанной через порт [[#AA]] битами KB1–KB3|+|  B {{anchor:​reg_b}} ​ |  A9 {{anchor:​a9}} ​ |  0  |  ввод ​ |  |Состояние строки [[msx:​russification:#​matrix|матрицы клавиатуры]],​ указанной через порт [[#AA]] битами KB1–KB3 ​\\ **Если клавиша нажата,​ то соответствующий бит устанавливается в 0**|
 |:::​|:::​| ​ 1  |:::​|:::​|:::​| |:::​|:::​| ​ 1  |:::​|:::​|:::​|
 |:::​|:::​| ​ 2  |:::​|:::​|:::​| |:::​|:::​| ​ 2  |:::​|:::​|:::​|
msx/ppi.1662055132.txt.gz · Последние изменения: 2022-09-01 20:58 — GreyWolf