MIDI音源のディスプレイに何か表示してみる
プログラムかどうかあやしいけど。
以下、今回の参照元。
・音源のディスプレイに文字を表示させてみよう。
・エクスクルーシブで自由自在(InternetArchiveから拾い上げたもの)
・液晶へ文字を表示
F0 41 10 45 12 CS AD AD AD 文字 SS F7・文字 … 32文字まで(16文字からスクロール)
文字コードはJIS第一水準…らしいけど、
要するにASCIIコードでいいっぽい。
・AD … アドレス。
とりあえず「10 00 00」で大丈夫なようだ。
・液晶のバー表示部分を制御
F0 41 10 45 12 CS AD AD AD nn*64 SS F7・nn … 表示するブロックの指定。
表示箇所は0〜47個目までは0〜5bit目までのbit状態をそのまま。
48〜63個目までは5bit目のbit状態を表示。
・AD … アドレス。
とりあえず「10 01 00」で大丈夫なようだ。
書いてから思ったけど、アドレスというより、モード指定なんではないかね、これは。
*バーの表示箇所
xxN
・xx … xx個目のデータ(16進)
・N … Nbit目の状態004 003 002 001 000 104 103 102 101 100 204 203 202 201 200 304
014 013 012 011 010 114 113 112 111 110 214 213 212 211 210 314
024 023 022 021 020 124 123 122 121 120 224 223 222 221 220 324
034 033 032 031 030 134 133 132 131 130 234 233 232 231 230 334
044 043 042 041 040 144 143 142 141 140 244 243 242 241 240 344
054 053 052 051 050 154 153 152 151 150 254 253 252 251 250 354
064 063 062 061 060 164 163 162 161 160 264 263 262 261 260 364
074 073 072 071 070 174 173 172 171 170 274 273 272 271 270 374
084 083 082 081 080 184 183 182 181 180 284 283 282 281 280 384
094 093 092 091 090 194 193 192 191 190 294 293 292 291 290 394
0A4 0A3 0A2 0A1 0A0 1A4 1A3 1A2 1A1 1A0 2A4 2A3 2A2 2A1 2A0 3A4
0B4 0B3 0B2 0B1 0B0 1B4 1B3 1B2 1B1 1B0 2B4 2B3 2B2 2B1 2B0 3B4
0C4 0C3 0C2 0C1 0C0 1C4 1C3 1C2 1C1 1C0 2C4 2C3 2C2 2C1 2C0 3C4
0D4 0D3 0D2 0D1 0D0 1D4 1D3 1D2 1D1 1D0 2D4 2D3 2D2 2D1 2D0 3D4
0E4 0E3 0E2 0E1 0E0 1E4 1E3 1E2 1E1 1E0 2E4 2E3 2E2 2E1 2E0 3E4
0F4 0F3 0F2 0F1 0F0 1F4 1F3 1F2 1F1 1F0 2F4 2F3 2F2 2F1 2F0 3F4
と、それはおいておいて、
「CS」「SS」って何?という話。
これはいわゆるClearCheckSum・CheckSumというヤツだそうで、
…で出るみたい。
SS = 128 - ( (CSより後の項目の和) % 128 );
実際、文字を表示する譜面の文字を変更させようとしたとき、
データだけじゃなくて、CheckSumもいじった覚えがあったので、全部の和でいいと思う。
CSの部分には特に記述しなくてもいい?
古いシーケンサだと要るらしいんだけど…。