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

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


msx:ppi

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
msx:ppi [2022-09-01 20:53]
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: 
- +^  Регистр  ​^  Порт ^  Описание ​ ^ 
-|<100% 10% 30% 60%>| + A9  ​|  ​ |Колонка матрицы клавиатуры ​(Только чтение\\ Чтение из этого порта вернёт состояние выбранной строки клавиатуры (выбранной через порт AA) \\ Биты 0–7 соответствует одной из 8 клавиш в каждой строке матрицы клавиатуры \\ **Если клавиша нажатато соответствующий бит устанавливается в 0**
-^  Порт ​ ^  ​Название ​ ^ Описание ​ ^ + AA  ​|  ​ |Строка матрицы клавиатуры, LED, Cassette (Чтение/Запись\\ Биты 0-3 соответствуют строке матрицы клавиатуры| 
-|#A9, PPI Port B|Keyboard Column Inputs ​(Read Only)|Чтение из этого порта вернёт состояние выбранной строки клавиатуры (выбранной через порт ​#AA) \\ Биты 0–7 соответствует одной из 8 клавиш в каждой строке матрицы клавиатуры \\ PS ЕСЛИ КЛАВИША НАЖАТАТО СООТВЕТСТВУЮЩИЙ БИТ УСТАНАВЛИВАЕТСЯ В 0| +Полное описание регистров/​портов приведено [[#​registers|ниже]].
-|#AA, PPI Port C|Keyboard Row, LED, Cassette (Read/Write)|Биты 0-3 соответствуют строке матрицы клавиатуры" +
  
-Пример интернациональной раскладки матрицы клавиатуры+Пример интернациональной раскладки матрицы клавиатуры:
 | ^  Порт #A9  ^^^^^^^^ | ^  Порт #A9  ^^^^^^^^
 ^  Порт #AA  ^ бит 7  ^  бит 6  ^  бит 5  ^  бит 4  ^  бит 3  ^  бит 2  ^  бит 1  ^  бит 0  ^ ^  Порт #AA  ^ бит 7  ^  бит 6  ^  бит 5  ^  бит 4  ^  бит 3  ^  бит 2  ^  бит 1  ^  бит 0  ^
Строка 146: Строка 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|
Строка 155: Строка 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.1662054811.txt.gz · Последние изменения: 2022-09-01 20:53 — GreyWolf