====== Русификация MSX ======
Всё описанное здесь проверено только на машинах [[msx:yamaha_kuvt:|]].
{{anchor:symbol_table}}
====== Таблица символов ======
{{msx_font-russian.png|Компактный вариант таблицы}}
| ^ 0 ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ 7 ^ 8 ^ 9 ^ A ^ B ^ C ^ D ^ E ^ F ^
^ 0 | {{00.png|0
0x00}} | {{01.png|1
0x01}} | {{02.png|2
0x02}} | {{03.png|3
0x03}} | {{04.png|4
0x04}} | {{05.png|5
0x05}} | {{06.png|6
0x06}} | {{07.png|7
0x07}} | {{08.png|8
0x08}} | {{09.png|9
0x09}} | {{0a.png|10
0x0A}} | {{0b.png|11
0x0B}} | {{0c.png|12
0x0C}} | {{0d.png|13
0x0D}} | {{0e.png|14
0x0E}} | {{0f.png|15
0x0F}} |
^ 1 | {{10.png|16
0x10}} | {{11.png|17
0x11}} | {{12.png|18
0x12}} | {{13.png|19
0x13}} | {{14.png|20
0x14}} | {{15.png|21
0x15}} | {{16.png|22
0x16}} | {{17.png|23
0x17}} | {{18.png|24
0x18}} | {{19.png|25
0x19}} | {{1a.png|26
0x1A}} | {{1b.png|27
0x1B}} | {{1c.png|28
0x1C}} | {{1d.png|29
0x1D}} | {{1e.png|30
0x1E}} | {{1f.png|31
0x1F}} |
^ 2 | {{20.png|32
0x20}} | {{21.png|33
0x21}} | {{22.png|34
0x22}} | {{23.png|35
0x23}} | {{24.png|36
0x24}} | {{25.png|37
0x25}} | {{26.png|38
0x26}} | {{27.png|39
0x27}} | {{28.png|40
0x28}} | {{29.png|41
0x29}} | {{2a.png|42
0x2A}} | {{2b.png|43
0x2B}} | {{2c.png|44
0x2C}} | {{2d.png|45
0x2D}} | {{2e.png|46
0x2E}} | {{2f.png|47
0x2F}} |
^ 3 | {{30.png|48
0x30}} | {{31.png|49
0x31}} | {{32.png|50
0x32}} | {{33.png|51
0x33}} | {{34.png|52
0x34}} | {{35.png|53
0x35}} | {{36.png|54
0x36}} | {{37.png|55
0x37}} | {{38.png|56
0x38}} | {{39.png|57
0x39}} | {{3a.png|58
0x3A}} | {{3b.png|59
0x3B}} | {{3c.png|60
0x3C}} | {{3d.png|61
0x3D}} | {{3e.png|62
0x3E}} | {{3f.png|63
0x3F}} |
^ 4 | {{40.png|64
0x40}} | {{41.png|65
0x41}} | {{42.png|66
0x42}} | {{43.png|67
0x43}} | {{44.png|68
0x44}} | {{45.png|69
0x45}} | {{46.png|70
0x46}} | {{47.png|71
0x47}} | {{48.png|72
0x48}} | {{49.png|73
0x49}} | {{4a.png|74
0x4A}} | {{4b.png|75
0x4B}} | {{4c.png|76
0x4C}} | {{4d.png|77
0x4D}} | {{4e.png|78
0x4E}} | {{4f.png|79
0x4F}} |
^ 5 | {{50.png|80
0x50}} | {{51.png|81
0x51}} | {{52.png|82
0x52}} | {{53.png|83
0x53}} | {{54.png|84
0x54}} | {{55.png|85
0x55}} | {{56.png|86
0x56}} | {{57.png|87
0x57}} | {{58.png|88
0x58}} | {{59.png|89
0x59}} | {{5a.png|90
0x5A}} | {{5b.png|92
0x5B}} | {{5c.png|92
0x5C}} | {{5d.png|93
0x5D}} | {{5e.png|94
0x5E}} | {{5f.png|95
0x5F}} |
^ 6 | {{60.png|96
0x60}} | {{61.png|97
0x61}} | {{62.png|98
0x62}} | {{63.png|99
0x63}} | {{64.png|100
0x64}} | {{65.png|101
0x65}} | {{66.png|102
0x66}} | {{67.png|103
0x67}} | {{68.png|104
0x68}} | {{69.png|105
0x69}} | {{6a.png|106
0x6A}} | {{6b.png|107
0x6B}} | {{6c.png|108
0x6C}} | {{6d.png|109
0x6D}} | {{6e.png|110
0x6E}} | {{6f.png|111
0x6F}} |
^ 7 | {{70.png|112
0x70}} | {{71.png|113
0x71}} | {{72.png|114
0x72}} | {{73.png|115
0x73}} | {{74.png|116
0x74}} | {{75.png|117
0x75}} | {{76.png|118
0x76}} | {{77.png|119
0x77}} | {{78.png|120
0x78}} | {{79.png|121
0x79}} | {{7a.png|122
0x7A}} | {{7b.png|123
0x7B}} | {{7c.png|124
0x7C}} | {{7d.png|125
0x7D}} | {{7e.png|126
0x7E}} | {{7f.png|127
0x7F}} |
^ 8 | {{80.png|128
0x80}} | {{81.png|129
0x81}} | {{82.png|130
0x82}} | {{83.png|131
0x83}} | {{84.png|132
0x84}} | {{85.png|133
0x85}} | {{86.png|134
0x86}} | {{87.png|135
0x87}} | {{88.png|136
0x88}} | {{89.png|137
0x89}} | {{8a.png|138
0x8A}} | {{8b.png|139
0x8B}} | {{8c.png|140
0x8C}} | {{8d.png|141
0x8D}} | {{8e.png|142
0x8E}} | {{8f.png|143
0x8F}} |
^ 9 | {{90.png|144
0x90}} | {{91.png|145
0x91}} | {{92.png|146
0x92}} | {{93.png|147
0x93}} | {{94.png|148
0x94}} | {{95.png|149
0x95}} | {{96.png|150
0x96}} | {{97.png|151
0x97}} | {{98.png|152
0x98}} | {{99.png|153
0x99}} | {{9a.png|154
0x9A}} | {{9b.png|155
0x9B}} | {{9c.png|156
0x9C}} | {{9d.png|157
0x9D}} | {{9e.png|158
0x9E}} | {{9f.png|159
0x9F}} |
^ A | {{a0.png|160
0xA0}} | {{a1.png|161
0xA1}} | {{a2.png|162
0xA2}} | {{a3.png|163
0xA3}} | {{a4.png|164
0xA4}} | {{a5.png|165
0xA5}} | {{a6.png|166
0xA6}} | {{a7.png|167
0xA7}} | {{a8.png|168
0xA8}} | {{a9.png|169
0xA9}} | {{aa.png|170
0xAA}} | {{ab.png|171
0xAB}} | {{ac.png|172
0xAC}} | {{ad.png|173
0xAD}} | {{ae.png|174
0xAE}} | {{af.png|175
0xAF}} |
^ B | {{b0.png|176
0xB0}} | {{b1.png|177
0xB1}} | {{b2.png|178
0xB2}} | {{b3.png|179
0xB3}} | {{b4.png|180
0xB4}} | {{b5.png|181
0xB5}} | {{b6.png|182
0xB6}} | {{b7.png|183
0xB7}} | {{b8.png|184
0xB8}} | {{b9.png|185
0xB9}} | {{ba.png|186
0xBA}} | {{bb.png|187
0xBB}} | {{bc.png|188
0xBC}} | {{bd.png|189
0xBD}} | {{be.png|190
0xBE}} | {{bf.png|191
0xBF}} |
^ C | {{c0.png|192
0xC0}} | {{c1.png|193
0xC1}} | {{c2.png|194
0xC2}} | {{c3.png|195
0xC3}} | {{c4.png|196
0xC4}} | {{c5.png|197
0xC5}} | {{c6.png|198
0xC6}} | {{c7.png|199
0xC7}} | {{c8.png|200
0xC8}} | {{c9.png|201
0xC9}} | {{ca.png|202
0xCA}} | {{cb.png|203
0xCB}} | {{cc.png|204
0xCC}} | {{cd.png|205
0xCD}} | {{ce.png|207
0xCE}} | {{cf.png|207
0xCF}} |
^ D | {{d0.png|208
0xD0}} | {{d1.png|209
0xD1}} | {{d2.png|210
0xD2}} | {{d3.png|211
0xD3}} | {{d4.png|212
0xD4}} | {{d5.png|213
0xD5}} | {{d6.png|214
0xD6}} | {{d7.png|215
0xD7}} | {{d8.png|216
0xD8}} | {{d9.png|217
0xD9}} | {{da.png|218
0xDA}} | {{db.png|219
0xDB}} | {{dc.png|220
0xDC}} | {{dd.png|221
0xDD}} | {{de.png|222
0xDE}} | {{df.png|223
0xDF}} |
^ E | {{e0.png|224
0xE0}} | {{e1.png|225
0xE1}} | {{e2.png|226
0xE2}} | {{e3.png|227
0xE3}} | {{e4.png|228
0xE4}} | {{e5.png|229
0xE5}} | {{e6.png|230
0xE6}} | {{e7.png|231
0xE7}} | {{e8.png|232
0xE8}} | {{e9.png|233
0xE9}} | {{ea.png|234
0xEA}} | {{eb.png|235
0xEB}} | {{ec.png|236
0xEC}} | {{ed.png|237
0xED}} | {{ee.png|238
0xEE}} | {{ef.png|239
0xEF}} |
^ F | {{f0.png|240
0xF0}} | {{f1.png|241
0xF1}} | {{f2.png|242
0xF2}} | {{f3.png|243
0xF3}} | {{f4.png|244
0xF4}} | {{f5.png|245
0xF5}} | {{f6.png|246
0xF6}} | {{f7.png|247
0xF7}} | {{f8.png|248
0xF8}} | {{f9.png|249
0xF9}} | {{fa.png|250
0xFA}} | {{fb.png|251
0xFB}} | {{fc.png|252
0xFC}} | {{fd.png|253
0xFD}} | {{fe.png|254
0xFE}} | {{ff.png|255
0xFF}} |
^ 0x01 \\ + \\ 0x4n \\ 0x0n ((в [[#matrix|таблице матрицы клавиатуры]] и в [[#font|шрифте]])) | | {{0141.png|1+65
0x01+0x41
0x01 }} | {{0142.png|1+66
0x01+0x42
0x02 }} | {{0143.png|1+67
0x01+0x43
0x03 }} | {{0144.png|1+68
0x01+0x44
0x04}} | {{0145.png|1+69
0x01+0x45
0x04}} | {{0146.png|1+70
0x01+0x46
0x06}} | {{0147.png|1+71
0x01+0x47
0x07}} | {{0148.png|1+72
0x01+0x48
0x08}} | {{0149.png|1+73
0x01+0x49
0x09}} | {{014a.png|1+74
0x01+0x4A
0x0A}} | {{014b.png|1+75
0x01+0x4B
0x0B}} | {{014C.png|1+76
0x01+0x4C
0x0C}} | {{014d.png|1+77
0x01+0x4D
0x0D}} | {{014e.png|1+78
0x01+0x4E
0x0E}} | {{014f.png|1+79
0x01+0x4F
0x0F}} |
^ 0x01 \\ + \\ 0x5n \\ 0x1n ((в [[#matrix|таблице матрицы клавиатуры]] и в [[#font|шрифте]])) | {{0150.png|1+80
0x01+0x50
0x10}} | {{0151.png|1+81
0x01+0x51
0x11}} | {{0152.png|1+82
0x01+0x52
0x12}} | {{0153.png|1+83
0x01+0x53
0x13}} | {{0154.png|1+84
0x01+0x54
0x14}} | {{0155.png|1+85
0x01+0x55
0x15}} | {{0156.png|1+86
0x01+0x56
0x16}} | {{0157.png|1+87
0x01+0x57
0x17}} | {{0158.png|1+88
0x01+0x58
0x18}} | {{0159.png|1+89
0x01+0x59
0x19}} | {{015a.png|1+90
0x01+0x5A
0x1A}} | {{015b.png|1+91
0x01+0x5B
0x1B}} | {{015c.png|1+92
0x01+0x5C
0x1C}} | {{015d.png|1+93
0x01+0x5D
0x1D}} | {{015e.png|1+94
0x01+0x5E
0x1E}} | {{015f.png|1+95
0x01+0x5F
0x1F}} |
При наведении курсора на символ отображается его код:
* десятичный
* шестнадцатеричный
* [шестнадцатеричный для оранжевых графических символов, этот код используется в [[#matrix|таблице матрицы клавиатуры]] ]
^ Диапазон ^^ Цвет ^ Описание ^
|0x00-0x1F, \\ 0x7F|00-31,\\ 127|@#0e34f1:синий|Специальные (управляющие) символы|
|0xFF|255|:::|Курсор|
|0x20-0x7E|32-126|@#9a01a0:фиолетовый|Эти символы соответствуют международной раскладке|
|0x80-0xBE|128-190|@#248e5b:зелёный|Символы, которые в международной таблице находятся в диапазоне 0xC0-0xFE (192-254)|
|0xBF-0xFE|191-254|@#d74d54:красный|0xBF (191) — знак валюты, 0xС0-0xFE (192-254) — русские буквы, набор символов соответствует стандарту [[KOI-8:KOI-8]]|
|0x40-0x5F|64-95|@#f5873d:оранжевый|Графические символы, для обращение к ним используется префикс 0x01 (1). \\ В [[#matrix|таблице матрицы клавиатуры]] и в [[#font|шрифте]] коды этих символов без префикса, в формате 0x0n|
{{msx2scrn.bas|Программа для вывод таблицы кодов символов на экран}}, [[+tab|wmsx>?DISK_FILES=/_media/msx/russification/msxfont.bas&BASIC_RUN=msxfont.bas|запуск в WebMSX]]
Программы для вывода таблицы символов (без кодов):
* {{msxfont1.bas|ширина 16 символов}}, [[+tab|wmsx>?DISK_FILES=/_media/msx/russification/msxfont1.bas&BASIC_RUN=msxfont1.bas|запуск в WebMSX]]
* {{msxfont2.bas|ширина 32 символа}}, [[+tab|wmsx>?DISK_FILES=/_media/msx/russification/msxfont2.bas&BASIC_RUN=msxfont2.bas|запуск в WebMSX]]
Программы для вывода таблицы символов (с кодами):
* **{{ascii2.bas|ASCII2.BAS — для SCREEN 5}}, [[+tab|wmsx>?DISK_FILES=/_media/msx/russification/ascii2.bas&BASIC_RUN=ascii2.bas|запуск в WebMSX]]**
* {{ascii.bas|ASCII.BAS — для SCREEN 2}}, [[+tab|wmsx>?DISK_FILES=/_media/msx/russification/ascii.bas&BASIC_RUN=ascii.bas|запуск в WebMSX]]
* {{asciis1.bas|ASCIIS1.BAS — для SCREEN 1}}, [[+tab|wmsx>?DISK_FILES=/_media/msx/russification/asciis1.bas&BASIC_RUN=asciis1.bas|запуск в WebMSX]]
----
[[http://marmsx.msxall.com/basic/english.php|ASCII table generator (© MarMSX, 2020-03)]], [[http://marmsx.msxall.com/basic/ascii.zip|оригинал]]
{{anchor:keyboard_layout}}
====== Раскладка клавиатуры ======
На компьютерах стандарта MSX которые поставлялись в СССР ([[msx:yamaha_kuvt:yamaha_kuvt|]]) используется [[keyboard_layout_ru_phonetic:keyboard_layout_ru_phonetic|]].
Белые кнопки расположены клавиатуре в четыре строки, из общее число: 48 (13 + 12 + 12 + 11):
|<100%>|
^ 1 || {{2b.png|43
0x2B}} {{3b.png|59
0x3B}} \\ {{a0.png|160
0xA0}} {{a5.png|165
0xA5}} || {{21.png|33
0x21}} {{31.png|49
0x31}} \\ {{ab.png|171
0xAB}} {{bd.png|189
0xBD}} || {{22.png|34
0x22}} {{32.png|
0x32}} \\ {{a1.png|161
0xA1}} {{bc.png|188
0xBC}} || {{23.png|35
0x23}} {{33.png|51
0x33}} \\ {{af.png|175
0xAF}} {{a6.png|166
0xA6}} || {{bf.png|191
0xBF}} {{34.png|52
0x34}} \\ {{a2.png|162
0xA2}} {{a7.png|167
0xA7}} || {{25.png|37
0x25}} {{35.png|53
0x35}} \\ {{b4.png|180
0xB4}} {{b5.png|181
0xB5}} || {{26.png|38
0x26}} {{36.png|54
0x36}} \\ {{bb.png|187
0xBB}} {{a8.png|168
0xA8}} || {{27.png|39
0x27}} {{37.png|55
0x37}} \\ {{ac.png|172
0xAC}} {{a9.png|169
0xA9}} || {{28.png|40
0x28}} {{38.png|56
0x38}} \\ {{0147.png|1+71
0x01+0x47}} {{0148.png|1+72
0x01+0x48}} || {{29.png|41
0x29}} {{39.png|57
0x39}} \\ {{0149.png|1+73
0x01+0x49}} {{014a.png|1+74
0x01+0x4A}} || {{24.png|36
0x24}} {{30.png|48
0x30}} \\ {{0157.png|1+87
0x01+0x57}} {{015f.png|1+95
0x01+0x5F}} || {{3d.png|61
0x3D}} {{5f.png|95
0x5F}} \\ {{b1.png|177
0xB1}} {{b0.png|176
0xB0}} || {{df.png|223
0xDF}} \\ {{2d.png|45
0x2D}} {{5e.png|94
0x5E}} \\ {{015e.png|1+94
0x01+0x5E}} {{0156.png|1+86
0x01+0x56}} |||
^:::| 0x01 || 0x02 || 0x03 || 0x04 || 0x05 || 0x06 || 0x07 || 0x08 || 0x09 || 0x00 || 0x0A || 0x0B || 0x0C ||||
^ 2 ||| {{ca.png|202
0xCA}} {{ea.png|234
0xEA}} \\ {{6a.png|106
0x6A}} {{4a.png|74
0x4A}} \\ {{8c.png|140
0x8C}} {{8b.png|139
0x8B}} || {{c3.png|195
0xC3}} {{e3.png|227
0xE3}} \\ {{63.png|99
0x63}} {{43.png|67
0x43}} \\ {{8f.png|143
0x8F}} {{90.png|144
0x90}} || {{d5.png|213
0xD5}} {{f5.png|245
0xF5}} \\ {{75.png|117
0x75}} {{55.png|85
0x55}} \\ {{8d.png|141
0x8D}} {{8e.png|142
0x8E}} || {{cb.png|203
0xCB}} {{eb.png|235
0xEB}} \\ {{6b.png|107
0x6B}} {{4b.png|75
0x4B}} \\ {{0158.png|1+88
0x01+0x58}} {{aa.png|170
0xAA}} || {{c5.png|197
0xC5}} {{e5.png|229
0xE5}} \\ {{65.png|101
0x65}} {{45.png|69
0x45}} \\ {{0152.png|1+82
0x01+0x52}} {{ad.png|173
0xAD}} || {{ce.png|207
0xCE}} {{ee.png|238
0xEE}} \\ {{6e.png|110
0x6E}} {{4e.png|78
0x4E}} \\ {{0159.png|1+89
0x01+0x59}} {{98.png|152
0x98}} || {{c7.png|199
0xC7}} {{e7.png|231
0xE7}} \\ {{67.png|103
0x67}} {{47.png|71
0x47}} \\ {{80.png|128
0x80}} {{85.png|133
0x85}} || {{db.png|219
0xDB}} {{fb.png|251
0xFB}} \\ {{5b.png|92
0x5B}} {{7b.png|123
0x7B}} \\ {{9c.png|156
0x9C}} {{9f.png|159
0x9F}} || {{dd.png|221
0xDD}} {{fd.png|253
0xFD}} \\ {{5d.png|93
0x5D}} {{7d.png|125
0x7D}} \\ {{82.png|130
0x82}} {{83.png|131
0x83}} || {{da.png|218
0xDA}} {{fa.png|250
0xFA}} \\ {{7a.png|122
0x7A}} {{5a.png|90
0x5A}} \\ {{9b.png|155
0x9B}} {{97.png|151
0x97}} || {{c8.png|200
0xC8}} {{e8.png|232
0xE8}} \\ {{68.png|104
0x68}} {{48.png|72
0x48}} \\ {{0141.png|1+65
0x01+0x41}} {{0142.png|1+66
0x01+0x42}} || {{3a.png|58
0x3A}} \\ {{2a.png|42
0x2A}} \\ {{014d.png|1+77
0x01+0x4D}} {{014e.png|1+78
0x01+0x4E}} ||||
^:::||| 0x26 || 0x2C || 0x1A || 0x27 || 0x29 || 0x2E || 0x2A || 0x1E || 0x24 || 0x25 || 0x0D || 0x0E ||||
^ 3 |||| {{c6.png|198
0xC6}} {{e6.png|230
0xE6}} \\ {{66.png|102
0x66}} {{46.png|70
0x46}} \\ {{84.png|132
0x84}} {{be.png|190
0xBE}} || {{d9.png|217
0xD9}} {{f9.png|249
0xF9}} \\ {{79.png|121
0x79}} {{59.png|89
0x59}} \\ {{92.png|146
0x92}} {{91.png|145
0x91}} || {{d7.png|215
0xD7}} {{f7.png|247
0xF7}} \\ {{77.png|119
0x77}} {{57.png|87
0x57}} \\ {{87.png|135
0x87}} {{81.png|129
0x81}} || {{c1.png|193
0xC1}} {{e1.png|225
0xE1}} \\ {{61.png|97
0x61}} {{41.png|65
0x41}} \\ {{0154.png|1+84
0x01+0x54}} {{94.png|148
0x94}} || {{d0.png|208
0xD0}} {{f0.png|240
0xF0}} \\ {{70.png|112
0x70}} {{50.png|80
0x50}} \\ {{0155.png|1+85
0x01+0x55}} {{0150.png|1+80
0x01+0x50}} || {{d2.png|210
0xD2}} {{f2.png|242
0xF2}} \\ {{72.png|114
0x72}} {{52.png|82
0x52}} \\ {{0153.png|1+83
0x01+0x53}} {{96.png|150
0x96}} || {{cf.png|207
0xCF}} {{ef.png|239
0xEF}} \\ {{6f.png|111
0x6F}} {{4f.png|79
0x4F}} \\ {{86.png|134
0x86}} {{8a.png|138
0x8A}} || {{cc.png|204
0xCC}} {{ec.png|236
0xEC}} \\ {{6c.png|108
0x6C}} {{4c.png|76
0x4C}} \\ {{9d.png|157
0x9D}} {{9e.png|158
0x9E}} || {{c4.png|196
0xC4}} {{e4.png|228
0xE4}} \\ {{64.png|100
0x64}} {{44.png|68
0x44}} \\ {{88.png|136
0x88}} {{89.png|137
0x89}} || {{d6.png|214
0xD6}} {{f6.png|246
0xF6}} \\ {{76.png|118
0x76}} {{56.png|86
0x56}} \\ {{0146.png|1+70
0x01+0x46}} {{0144.png|1+68
0x01+0x44}} || {{dc.png|220
0xDC}} {{fc.png|252
0xFC}} \\ {{5c.png|92
0x5C}} \\ {{0145.png|1+69
0x01+0x45}} {{0143.png|1+67
0x01+0x43}} || {{2e.png|46
0x2E}} {{3e.png|62
0x3E}} \\ {{a3.png|163
0xA3}} {{b7.png|183}} |||
^:::|||| 0x16 || 0x28 || 0x19 || 0x1B || 0x1C || 0x1D || 0x1F || 0x20 || 0x21 || 0x0F || 0x10 || 0x11 |||
^ 4 ||||| {{d1.png|209
0xD1}} {{f1.png|241
0xF1}} \\ {{71.png|113
0x71}} {{51.png|81
0x51}} \\ {{014f.png|1+79
0x01+0x4F}} {{b8.png|184
0xB8}} || {{de.png|222
0xDE}} {{fe.png|254
0xFE}} \\ {{7c.png|124
0x7C}} {{7e.png|126
0x7E}} \\ {{015c.png|1+92
0x01+0x5C}} {{b9.png|185
0xB9}} || {{d3.png|211
0xD3}} {{f3.png|243
0xF3}} \\ {{73.png|115
0x73}} {{53.png|83
0x53}} \\ {{a4.png|164
0xA4}} {{ba.png|186
0xBA}} || {{cd.png|205
0xCD}} {{ed.png|237
0xED}} \\ {{6d.png|109
0x6D}} {{4d.png|77
0x4D}} \\ {{015a.png|1+90
0x01+0x5A}} {{95.png|149
0x95}} || {{c9.png|201
0xC9}} {{e9.png|233
0xE9}} \\ {{69.png|105
0x69}} {{49.png|73
0x49}} \\ {{0151.png|1+81
0x01+0x51}} {{99.png|153
0x99}} || {{d4.png|212
0xD4}} {{f4.png|244
0xF4}} \\ {{74.png|116
0x74}} {{54.png|84
0x54}} \\ {{015b.png|1+91
0x01+0x5B}} {{93.png|147
0x93}} || {{d8.png|216
0xD8}} {{f8.png|248
0xF8}} \\ {{78.png|120
0x78}} {{58.png|88
0x58}} \\ {{014b.png|1+75
0x01+0x4B}} {{014c.png|1+76
0x01+0x4C}} || {{c2.png|194
0xC2}} {{e2.png|226
0xE2}} \\ {{62.png|98
0x62}} {{42.png|66
0x42}} \\ {{b3.png|179
0xB3}} {{ae.png|174
0xAE}} || {{c0.png|192
0xC0}} {{e0.png|224
0xE0}} \\ {{40.png|64
0x40}} \\ {{b2.png|178
0xB2}} {{9a.png|154
0x9A}} || {{3c.png|60
0x3C}} {{2c.png|44
0x2C}}\\ {{015d.png|1+93
0x01+0x5D}} {{b6.png|182
0xB6}} || {{3f.png|63
0x3F}} {{2f.png|47
0x2F}} \\ {{60.png|96
0x60}} ||||
^:::||||| 0x2F || 0x2D || 0x18 || 0x2B || 0x17 || 0x23 || 0x22 || 0x12 || 0x13 || 0x14 || 0x15 ||||
Под каждой клавишей указан её номер в [[#matrix|матрице клавиатуры]].
{{msx-keyboard-japanese-layout-1.png|}}
\\ [[http://kb.gr8bit.ru/KB0004/msx-keyboard-japanese-layout-1.png|оригинал]]
{{msx-keyboard-russian-layout-2.png|}}
\\ [[http://kb.gr8bit.ru/KB0004/msx-keyboard-russian-layout-2.png|оригинал]]
{{msx-keyboard-russian-layout-3.png|}}
\\ [[http://kb.gr8bit.ru/KB0004/msx-keyboard-russian-layout-3.png|оригинал]]
{{anchor:distinctive_features}}
===== Отличительные особенности =====
Цифры, точка и запятая нажимаются в верхнем регистре — с SHIFT.
Возможные причины этого:
* "В верхнем регистре на пишущих машинках располагались заглавные буквы, редко используемые знаки и цифры. Знаки препинания всегда располагались в нижнем регистре." \\ Источник: [[https://www.artlebedev.ru/kovodstvo/sections/105/#13|Ководство, § 105. Трагедия запятой]]
* "Следует отметить, что на пишущей машинке цифры печатаются в верхнем регистре (то есть при нажатой клавише перевода регистра);" \\ Источник [[wpru>Любава_(пишущая_машинка)#Клавиатура|Любава (пишущая машинка)]]
* Раскладка клавиатуры Русская (машинопись):
* знаки препинания набираются в верхнем ряду без использования SHIFT
* цифры набираются при помощи SHIFT.
Источники:
* [[https://klavogonki.ru/wiki/Раскладка_клавиатуры#.D0.A0.D1.83.D1.81.D1.81.D0.BA.D0.B0.D1.8F_.28.D0.BC.D0.B0.D1.88.D0.B8.D0.BD.D0.BE.D0.BF.D0.B8.D1.81.D1.8C.29|Раскладка клавиатуры Русская (машинопись)]]
* [[https://habr.com/ru/post/175075/|Выжимаем максимум производительности из клавиатуры / Хабр 5. Русская машинопись]]
{{anchor:matrix}}
====== Матрица клавиатуры ======
^ **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). Опрос строк происходит с частотой кадровых импульсов видео-генератора.
Работа с клавиатурой проходит через порты [[msx:ppi|PPI]].
Для проверки можно использовать программы:
- Программа из [[msx:basic_dialogue_programming_language:010#e1091-01|книги]]: \\
{{msx:basic_dialogue_programming_language:examples:1091-01.bas|}} \\ [[+tab|wmsxbpge>1091-01.bas]]
- Отображение матрицы клавиатуры (за основу взята программа Камиля Каримова. [[http://caro.su/msx/kbd4msx.htm|Источник]], {{kbdmtrx1.bas|оригинал}}) \\ {{kbdmtrx.bas|}} \\ [[+tab|wmsx>?DISK_FILES=/_media/msx/russification/kbdmtrx.bas&BASIC_RUN=kbdmtrx.bas|kbdmtrx.bas]]
- Отображение номера строки и столбца а также порядкового номера нажатой клавиши в матрице клавиатуры (за основу взята программа {{msx:basic_dialogue_programming_language:examples:1091-01.bas|}} \\ {{kbdmtrxn.bas|}} \\ [[+tab|wmsx>?DISK_FILES=/_media/msx/russification/kbdmtrxn.bas&BASIC_RUN=kbdmtrxn.bas|kbdmtrxn.bas]]
Примеры таблиц и скрипты [[msx:russification:keyboard:keyboard|здесь]].
----
[[https://github.com/gseidler/The-MSX-Red-Book/blob/master/images/CH04F36.svg|gseidler/The MSX Red Book — Figure 36: Key Numbers]]
===== Часть 1 =====
Основная часть таблицы.
* Строки: 0–5
* Адрес: 0xDA5
* Длина (байт): 288 (6 строк × 8 бит = 48 × 6 режимов)
* Клавиши: 0x00–0x2F
{{anchor:tables1}}
Режимы:
^ № п/п ^ Диапазон внутри таблицы ^ Описание ^ Примечание ^
| 1 | 0x00–0x2F |Без модификаторов|
| 2 | 0x30–0x5F |С нажатой клавишей SHIFT|
| 3 | 0x60–0x8F |С нажатой клавишей GRAPH|Коды оранжевых графических символов записываются в таблицу без префикса, в формате 0x0n|
| 4 | 0x90–0xBF |С нажатыми клавишами GRAPH + SHIFT|:::|
| 5 | 0xC0–0xEF |С нажатой клавишей РУС|
| 6 | 0xF0–011F |С нажатыми клавишами РУС + SHIFT|
Соответствие клавиш с дано [[#keyboard_layout|здесь]].
===== Часть 2 =====
Таблица дополнительных клавиш
* Строки: 6–10
* Адрес: 0x1033 (0x0FF8 для [[msx:msx_2_plus|]])
* Длина (байт): 40
* Клавиши: 0x30–0x57
{{anchor:font}}
====== Шрифт ======
* Адрес: 0x1BBF
* Длина (байт): 2048
256 символов, 8 байт на символ.
^ Диапазон \\ (относительное смещение) ^ Описание ^ Цвет в \\ [[#symbol_table|таблице символов]] ^
|0x00-0xFF|Графические символы|@#f5873d:оранжевый|
|0x100-0x3F7|Эти символы соответствуют международной раскладке|@#9a01a0:фиолетовый|
|0x400-0x5F7|Символы международной таблицы|@#248e5b:зелёный|
|0x5F8-0x7F7|Русские буквы, набор символов соответствует стандарту [[KOI-8:KOI-8]]|@#d74d54:красный|
|0x3F8|{{:msx:russification:7f_.png|}} код 0x7F (127) — этот символ назначен клавише Del, поэтому его нет смысла ставить в таблицу [[#matrix|матрицы клавиатуры]]||
{{:msx:russification:font.bin|Шрифт}}
Примеры и скрипты [[msx:russification:font:font|здесь]]
{{anchor:converter}}
====== Конвертер текста ======
Конвертер текста MSX в кодировку UTF-8.
Проект был создан для работы над файлами книги [[:msx:basic_dialogue_programming_language:|]]
Пока не подобраны замены для символов для режима 4 (GRAPH + SHIFT):
^ Код ^ Изображение ^ Номер строки и колонки\\ в матрице клавиатуры ^
|0x85|{{85.png}}|5 2|
|0x01+0x50 |{{0150.png}}|3 5|
|0x01+0x5F |{{015f.png}}|1 2|
Примеры и скрипты [[msx:russification:converter:converter|здесь]]
====== Ссылки ======
**[[github>gseidler/The-MSX-Red-Book/blob/master/the_msx_red_book.md#keyboard_matrix|gseidler/The-MSX-Red-Book — Keyboard Matrix]]**
[[msxorg>wiki/MSX_font|MSX font]]
[[msxorg>wiki/Keyboard|Keyboard]]
[[http://www.ateijelo.com/blog/2016/09/13/making-an-msx-font|Making an MSX font]]
{{char-set.bas |Program 5.1}} (Graham Bland — MSX Programmin (1986), ISBN 0-273-02302-0)
**[[http://map.grauw.nl/articles/keymatrix.php|MSX Assembly Page — Keyboard matrices]]**
[[http://www.msxblue.com/manual/russiankeyboard_c.htm|msxblue.com — Russian MSX Keyboard ]]
http://podrezov.com/msx2plus/top.jpg
**[[msxorg>forum/msx-talk/general-discussion/change-msx-keyboard-layout-matrix|Change msx keyboard layout / matrix]]**
**[[http://www.caro.su/msx/kbd4msx.htm|Подключение PS/2 клавиатуры к MSX]]**
[[msxorg>forum/msx-talk/general-discussion/change-msx-keyboard-layout-matrix|Change msx keyboard layout / matrix]]
[[msxorg>forum/development/msx-development/international-turbo-r-bios|'international' turbo r bios]]
FIXME [[zxpkru>/threads/25517-msx-raznoe/page20.html|zx-pk.ru MSX: Разное - Страница 20]]
[[msxorg>forum/development/msx-development/searching-public-domain-8x8-char-set?page=1|Searching for: "Public Domain" 8x8 char-set]]
[[msxorg>wiki/Shift_JIS_font#Romajis.2C_Kanas.2C_Cyrillic_.26_special_characters|Shift JIS code]]
[[zxpkru>/threads/18453-rassovo-vernyj-shrift-dlya-yis503|Рассово верный шрифт для YIS503]]
[[github>mr-GreyWolf/MSX-Russification|Проект на GitHub]]
**[[http://kb.gr8bit.ru/KB0004/GR8BIT-KB0004-Using-GR8BIT-Language-Pack-and-PS2-Keyboard.html|Using GR8BIT Language Pack and PS/2 Keyboard: GR8BIT KB0004]]**
{{tag>Topic Russification MSX}}