Всё описанное здесь проверено только на машинах Ямаха КУВТ.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ||||||||||||||||
1 | ||||||||||||||||
2 | ||||||||||||||||
3 | ||||||||||||||||
4 | ||||||||||||||||
5 | ||||||||||||||||
6 | ||||||||||||||||
7 | ||||||||||||||||
8 | ||||||||||||||||
9 | ||||||||||||||||
A | ||||||||||||||||
B | ||||||||||||||||
C | ||||||||||||||||
D | ||||||||||||||||
E | ||||||||||||||||
F | ||||||||||||||||
0x01 + 0x4n 0x0n 1) | ||||||||||||||||
0x01 + 0x5n 0x1n 2) |
При наведении курсора на символ отображается его код:
Диапазон | Цвет | Описание | |
---|---|---|---|
0x00-0x1F, 0x7F | 00-31, 127 | синий | Специальные (управляющие) символы |
0xFF | 255 | Курсор | |
0x20-0x7E | 32-126 | фиолетовый | Эти символы соответствуют международной раскладке |
0x80-0xBE | 128-190 | зелёный | Символы, которые в международной таблице находятся в диапазоне 0xC0-0xFE (192-254) |
0xBF-0xFE | 191-254 | красный | 0xBF (191) — знак валюты, 0xС0-0xFE (192-254) — русские буквы, набор символов соответствует стандарту КОИ-8 |
0x40-0x5F | 64-95 | оранжевый | Графические символы, для обращение к ним используется префикс 0x01 (1). В таблице матрицы клавиатуры и в шрифте коды этих символов без префикса, в формате 0x0n |
Программа для вывод таблицы кодов символов на экран, запуск в WebMSX
Программы для вывода таблицы символов (без кодов):
Программы для вывода таблицы символов (с кодами):
На компьютерах стандарта MSX которые поставлялись в СССР (Ямаха КУВТ) используется Фонетическая раскладка клавиатуры для русского языка.
Белые кнопки расположены клавиатуре в четыре строки, из общее число: 48 (13 + 12 + 12 + 11):
Под каждой клавишей указан её номер в матрице клавиатуры.
Цифры, точка и запятая нажимаются в верхнем регистре — с SHIFT.
Возможные причины этого:
Источники:
Y № строки | Адрес байта | X № бита | Таблица | |||||||
---|---|---|---|---|---|---|---|---|---|---|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
0 | FBE5 | & 6 | % 5 | ¤ 4 | # 3 | " 2 | ! 1 | + ; | ) 9 | Часть 1 |
№ | 0x07 | 0x06 | 0x05 | 0x04 | 0x03 | 0x02 | 0x01 | 0x00 | ||
1 | FBE6 | V Ж | * : | H Х | - ^ Ъ | = _ | $ 0 | ( 8 | ' 7 |
|
№ | 0x0F | 0x0E | 0x0D | 0x0C | 0x0B | 0x0A | 0x09 | 0x08 | ||
2 | FBE7 | I И | F Ф | ? / | < , | @ Ю | B Б | > . | \ Э |
|
№ | 0x17 | 0x16 | 0x15 | 0x14 | 0x13 | 0x12 | 0x11 | 0x10 | ||
3 | FBE8 | O О | [ { Ш | R Р | P П | A А | U У | W В | S С |
|
№ | 0x1F | 0x1E | 0x1D | 0x1C | 0x1B | 0x1A | 0x19 | 0x18 | ||
4 | FBE9 | K К | J Й | Z З | ] } Щ | T Т | X Ь | D Д | L Л |
|
№ | 0x27 | 0x26 | 0x25 | 0x24 | 0x23 | 0x22 | 0x21 | 0x20 | ||
5 | FBEA | Q Я | N Н | | ~ Ч | C Ц | M М | G Г | E Е | Y Ы |
|
№ | 0x2F | 0x2E | 0x2D | 0x2C | 0x2B | 0x2A | 0x29 | 0x28 | ||
6 | FBEB | F3 | F2 | F1 | РУС | CAPS | GRAPH | CTRL | SHIFT | Часть 2 |
№ | 0x37 | 0x36 | 0x35 | 0x34 | 0x33 | 0x32 | 0x31 | 0x30 | ||
7 | FBEC | RET | SELECT | BS | STOP | TAB | ESC | F5 | F4 | |
№ | 0x3F | 0x3E | 0x3D | 0x3C | 0x3B | 0x3A | 0x39 | 0x38 | ||
8 | FBED | → | ↓ | ↑ | ← | DEL | INS | HOME | SPACE | |
№ | 0x47 | 0x46 | 0x45 | 0x44 | 0x43 | 0x42 | 0x41 | 0x40 | ||
9 | FBEE | 4 | 3 | 2 | 1 | 0 | / | + | * | |
№ | 0x4F | 0x4E | 0x4D | 0x4C | 0x4B | 0x4A | 0x49 | 0x48 | ||
10 | FBEF | . | , | - | 9 | 8 | 7 | 6 | 5 | |
№ | 0x57 | 0x56 | 0x55 | 0x54 | 0x53 | 0x52 | 0x51 | 0x50 |
Аппаратная реализация:
Считывание состояния матрицы происходит по строкам (Y), каждая строка это байт (8 бит) это столбцы (X). Указание строки происходит установкой на выход с её номером (Y 0–9) низкого уровня (0), каждая нажатая кнопка даёт низкий уровень (0). Опрос строк происходит с частотой кадровых импульсов видео-генератора.
Работа с клавиатурой проходит через порты PPI.
Для проверки можно использовать программы:
Программа из книги:
1091-01.bas
1091-01.bas
Отображение матрицы клавиатуры (за основу взята программа Камиля Каримова. Источник, оригинал)
kbdmtrx.bas
kbdmtrx.bas
Отображение номера строки и столбца а также порядкового номера нажатой клавиши в матрице клавиатуры (за основу взята программа 1091-01.bas
kbdmtrxn.bas
kbdmtrxn.bas
Примеры таблиц и скрипты здесь.
Основная часть таблицы.
№ п/п | Диапазон внутри таблицы | Описание | Примечание |
---|---|---|---|
1 | 0x00–0x2F | Без модификаторов | |
2 | 0x30–0x5F | С нажатой клавишей SHIFT | |
3 | 0x60–0x8F | С нажатой клавишей GRAPH | Коды оранжевых графических символов записываются в таблицу без префикса, в формате 0x0n |
4 | 0x90–0xBF | С нажатыми клавишами GRAPH+SHIFT | |
5 | 0xC0–0xEF | С нажатой клавишей РУС | |
6 | 0xF0–011F | С нажатыми клавишами РУС+SHIFT |
Соответствие клавиш с дано здесь.
Таблица дополнительных клавиш
256 символов, 8 байт на символ.
Диапазон (относительное смещение) | Описание | Цвет в таблице символов |
---|---|---|
0x00-0xFF | Графические символы | оранжевый |
0x100-0x3F7 | Эти символы соответствуют международной раскладке | фиолетовый |
0x400-0x5F7 | Символы международной таблицы | зелёный |
0x5F8-0x7F7 | Русские буквы, набор символов соответствует стандарту КОИ-8 | красный |
0x3F8 | код 0x7F (127) — этот символ назначен клавише Del, поэтому его нет смысла ставить в таблицу матрицы клавиатуры |
Примеры и скрипты здесь
Конвертер текста MSX в кодировку UTF-8.
Проект был создан для работы над файлами книги 📖 Диалоговый язык программирования MSX-BASIC
Пока не подобраны замены для символов для режима 4 (GRAPH+SHIFT):
Примеры и скрипты здесь
gseidler/The-MSX-Red-Book — Keyboard Matrix
Program 5.1 (Graham Bland — MSX Programmin (1986), ISBN 0-273-02302-0)
MSX Assembly Page — Keyboard matrices
msxblue.com — Russian MSX Keyboard
http://podrezov.com/msx2plus/top.jpg
Change msx keyboard layout / matrix
Подключение PS/2 клавиатуры к MSX
Change msx keyboard layout / matrix
zx-pk.ru MSX: Разное - Страница 20
Searching for: "Public Domain" 8x8 char-set