・
MIDIplay for PC-60/88 - 20131230版 (D88 イメージとソースコード)
対応機種は
・PC-6001mk2/PC-6601
・PC-8801mk2SR以上(V2モード 4/8MHz ただし 8MHz-H は未対応)
確認が取れているのは プリンタポート版とジョイスティック(マウス)ポート版だけです。
RS-232C は筆者の環境では何故か動きませんでした。
PC と繋いでログを取った限りでは、一応 38400bps で通信自体は出来ているようなのですが原因不明。
一応…RS-232C で動かす場合は SR/TR/FR/MR はディップスイッチで 1200bps にする必要があります。
I/O ポート 0x6F で設定可能な FH 以降は自動設定。
8MHz-H や V1 モード、80SR でも対応は可能かと思いますが、後述するようにタイミングがシビアなので
机上での計算だけでは実装は不可能です。適当に改造してください。動作報告歓迎。
演奏開始前や演奏開始後に各種リセットメッセージを送りません。
筆者の所では MIDI 機器側で初期化を掛けておかないと演奏が開始しない場合がありました。
誤動作を起こすと MIDI 機器が鳴りっぱなしになる可能性があるので音量には注意しましょう。
ポートの初期状態にも左右されるので、鳴らない場合もあるかもしれません。
同梱のディスクイメージにはあらかじめサンプル曲が入っていますが、
以下のようにすることで、別な SMF を書き込むことができます。SMF の制限は次の通り。
・SMF は Format0/1 で 32KBまで、24トラックまでのもの。プログラムを弄ればそれ以上も可。
・タイムベースは 48 を推奨します。昨今の 384〜480 くらいはかなり厳しいので変換を強く推奨。
> makemid80.exe sample.mid PC88の場合
|
例によって trk.1 sec.1 から書き込んでいるだけなので分かる人はよろしくやってください。
サンプル曲(sample.mid)は以下のサイトの Beethoven > Sonata No. 14 > Part.1 を使用させていただきました。
SMF の Format.0 を Format.1 に、Timebase を 48 に変更しています。
>Copyright (c) 1996-2013 by Bernd Krueger
>Home:
http://www.piano-midi.de
ライセンスが CC-BY-SA なので本作品についてもそれに従います。
シリアルポート版は、MIDI音源と PC の RS-232C ポートを直接つなぐケーブルがあるので、それを使用します。
MIDI 音源のスイッチはメーカーによって異なりますが PC-2 / 38.4k / RS232C-2 / (I) などの設定にしておいてください。
プリンタポート版およびジョイスティックポート版はインターフェースの工作が必要です。
といっても最低限必要なのは 220Ω の抵抗 2 本と若干量のケーブル(できればシールド線)だけです。
プリンタ版は、アンフェノール14pinオスコネクタ、
ジョイスティック版は、D-Sub 9pin メスコネクタがあると接続が容易です。
それから MIDI ケーブルを持っているなら DIN 5pin メスコネクタがあると良いでしょう。
でも MIDI ケーブルもコネクタも少々お高いんですよね。
以下に図を示します。図のコネクタはいずれも機器側コネクタを正面から見た状態です。
ケーブルやコネクタのオスメス、正面か裏面かで左右が逆になるので注意しましょう。
ジョイスティックポートは普段は入力に使用するポートなので、想定外の機器が繋がったまま出力してしまうと
本体ごと壊してしまう可能性があります。十分注意してください。
雑ですみません。
220Ωは赤赤茶(金)です。耐圧 1/4W とか 1/2W とかありますが何でもいいです。
220Ωが無ければ110Ωを直列にするとか中学理科を思い出しながらやってみましょう。
原理およびインターフェースは MSX の "只 MIDI" by 戯音匠者 氏 を参考にさせていただきました。というかそのままです。