|
http://art17.photozou.jp/pub/378/247378/photo/29483151_org.v1258647991.gif
■実体配線図 MSXの汎用入出力ポートの8ピンは、起動時LOWである。一方、RS232Cぽい通信では、無信号時はHIGHで、スタートビットのLOWにより通信が開始される。 8ピンの状態を無信号時HIGHに反転するため、74LS14を加えている。74LS04でもいいと思うが、波形がしゃきっとするような気がする。伝送が遅延するというウワサは気にしない。 ■送信波形 9600bpsにおける1bitの信号幅は約104μ秒。一方、MSXの1ステートは0.294μ秒。 従って、1bitの信号幅で処理できるステート数は、 104μ秒 ÷ 0.2794μ秒 ≒ 373 により、約373ステート分となる。 例えば「NOP」は本来4ステートのところ、MSXではマシンサイクル1回に付き1ステートのウエイトが入るので、計5ステートとなる。 373 ÷ 5 ≒ 75 により、9600bpsにおける1bitの信号幅は、NOPを約75回実行した長さに相当する。 以上をもとに、アセンブラソースのステート数を数えようと思ったが、面倒になってきた。 というわけで、スタートビットの立下りからストップビットの立上りまでの計算上の時間(938μ秒)と同じような波形になるよう、ウエイトループを調整した。 どうせ信号幅の許容誤差3〜5%のおおらかな通信仕様であり、結果オーライである。 ■奇妙な現象 ところで、奇妙な現象に気づいた。 普段からSONYのHBI-J1を用いて漢字モードを常用しているのだが、試みにANKモードで試してみると、なぜか文字化けが増加する。 機械語プログラムでは、割り込み禁止してPSGを直接操作しているので影響ないはずである。 BASICプログラムでも大したことしていないので、影響が出るとは思えない。 今後の原因究明が待たれる。待っていて解決するのか知らんが。 ■今後の展開 ひとつはPCとの連携。もうひとつはMSXどうしの連携。いずれも、MSX側の受信環境を整える必要がある。 受信は送信に比べ、難易度が格段に高くなる。 また、turboRへの対応も必要かなと思うが、一時的にZ80モードにすればええのんとちゃう? と気乗り薄である。 |
過去の投稿日別表示
-
詳細
2009年11月19日
全1ページ
[1]
コメント(0)
全1ページ
[1]



