CMU-800 の仕様

CMU-800 は 1982 年 AMDEK (アムデック株式会社) という会社から発売されました。AMDEK は 1983 年に
RolandDG (ローランド ディー.ジー.株式会社) に社名を変更しました。今ではプロッタープリンタや大型インクジェットプリンタなどを販売しています。



仕様
・6 ボイス (メロディ 1 音、ベース 1 音、コード 4 音 ) の内蔵音源。 (DCO 音源)
・7 音色のリズム
・8 台分のアナログシンセ用 CV/GATE 出力

CMU-800 には 8253 という IC が 2 つ、8255 という IC が 1 つ使用されています。8253 は、内蔵音源の音階の高さを設定できます。ひとつの 8253 が内蔵音源 3 ボイス分、それが 2 つで 6 ボイス分設定できます。8255 は、リズムや設定した音階の発音などを制御します。

それぞれの IC の I/O アドレスは以下のように定義されています。
以下は MZ-2200 での調査結果ですが、MZ-80K、MZ-700、PC-8001でも同じになっているようです。
IC 8253 (1)
90h 出力 チャンネル 1、メロディの音階設定
91h 出力 チャンネル 2、ベースの音階設定
92h 出力 チャンネル 3、コード 1 の音階設定
93h 出力 IC 8253 (1) の設定
IC 8253 (2)
94h 出力 チャンネル 4、コード 2 の音階設定
95h 出力 チャンネル 5、コード 3 の音階設定
96h 出力 チャンネル 6、コード 4 の音階設定
97h 出力 IC 8253 (2) の設定
IC 8255
98h 出力 CV-OUT、TUNE-GATE、KEY ON/OFF の設定
99h 出力 内蔵リズムの設定
9Ah 出力 チャンネルセレクト、設定完了の設定 (下位 4 ビット)
9Ah 入力 タイミング (上位 4 ビット)
9Bh 出力 IC 8255 の設定
※ CMU-800 のシーケンサーソフトでは、チャンネル 7,8 の設定時に音階を 9Ch に書き込みます。しかし、実際は何も起きません。この I/O ポートには、なにも接続されていないようです。

I/O ポート詳細
90h 出力 チャンネル 1 の発音周波数を下位、上位の順番で 16bit 分書き込みます。
内蔵音源にのみ影響し外部機器には影響しません。
91h 出力 チャンネル 2 同上
92h 出力 チャンネル 3 同上
93h 出力 8253 (1) コントロールワード。
94h 出力 チャンネル 4 の発音周波数を下位、上位の順番で 16bit 分書き込みます。
内蔵音源にのみ影響し外部機器には影響しません。
95h 出力 チャンネル 5 同上
96h 出力 チャンネル 6 同上
97h 出力 8253 (2) コントロールワード
98h 出力
bit0-5
bit6
bit7
CV-OUT データ (外部端子に出力される、内蔵音源に影響しない)
TUNE-GATE (1 だと CHORD の音が出なくなるのかもしれない・・未確認)
GATE-DATA (0 で発音、1 で消音)
99h 出力 bit0 未使用
bit1 CH (クローズハイハット)
bit2 OH (オープンハイハット)
bit3 CY (シンバル)
bit4 HT (ハイタム)
bit5 LT (ロータム)
bit6 SD (スネアドラム)
bit7 BD (バスドラム)
1 → 0 になった時に発音する。発音後は 1 に戻さないといけない。
9Ah 出力
bit0
bit1-3
1 → 0 になった時に bit1-3 のチャンネルの設定を反映。反映後は 1 に戻さないといけない
設定するチャンネル (0 ~ 7)
9Ah 入力 bit4-7 CMU-800 のテンポに合わせて 0000b か 1111b に変化する。
9Bh 出力 8255 コントロールワード
※ 8253 コントロールワード、8255 コントロールワードについてはそれぞれの IC の仕様を参照してください。8253 や 8255 はコントロールワードによりいろいろな設定をすることができますが、CMU-800 では固定機能しか使っていないため説明は省略します。

8253 に設定する内蔵音源の音階データ表
オクターブ C C+ D D+ E F F+ G G+ A A+ B
0 9741h 8EBEh 86BBh 7F2Eh 780Bh 714Eh 6AEDh 64ECh 5F41h 59E8h 54D9h 5015h
1 4B95h 4754h 4353h 3F8Dh 3BFCh 389Eh 356Eh 326Eh 2F99h 2CEDh 2A66h 2805h
2 25C5h 23A5h 21A5h 1FC3h 1DFBh 1C4Ch 1AB4h 1934h 17CAh 1674h 1531h 1401h
3 12E1h 11D1h 10D1h 0FE1h 0EFDh 0E26h 0D59h 0C99h 0BE4h 0B39h 0A98h 0A00h
4 0970h 08E8h 0868h 07F0h 077Eh 0712h 06ACh 064Ch 05F2h 059Ch 054Ch 0500h
5 04B8h 0474h 0434h 03F8h 03BFh 0389h 0356h 0326h 02F9h 02CEh 02A6h 0280h
6 025Ch 023Ah 021Ah 01FCh 01DFh 01C4h 01ABh 0193h 017Ch 0167h 0153h 0140h
7 012Eh 011Dh 010Dh 00FEh 00F0h 00E2h 00D5h 00C9h 00BEh 00B3h 00A9h 00A0h
8 0097h 008Eh 0086h 007Fh 0078h 0071h 006Ah 0064h 005Fh 0059h 0054h 0050h
9 004Bh 0047h 0043h 003Fh 003Ch

感謝
CMU-800 の仕様を作成する際にたくさんの方に協力していただきました。
私が CMU-800 に興味を持つきっかけを与えてくれたM▲M●さん
MZ-2500 に CMU-800 を接続するためのインターフェースボードを作成してくださった Suga さん
使用されている IC、I/O ポートアドレスを教えてくださった、たかさん
CMU-800 の仕様を解明していただいた MZ-ML の皆さん。
EmuZ-2000 用の CMU-800 プラグインを作成するチャンスを下さった EmuZ-2000 さん
EmuZ-2200 CMU-800 MIDI 対応版を作成するきっかけを作って下さった ぽっぽ/目玉P さん
どうもありがとう。

戻る