2013.10.24
前へ
次へ
ホームページトップへ戻る

復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります

[第502回]


●CP/M互換DOSのRS232C機能

ここ数日は急ぎの注文が重なってしまって、大変でした。
まだ全部片付いたわけではありませんが、本日納期のご注文をぎりぎりさばいて、ほっと一息ついたところです。
さて、ホームページを、と思ったのですが、この数日の過密スケージュールで頭と身体を酷使してしまったものですから、どうも思考がまとまりません。
しばらくウォーミングアップが必要なようです。

ということで、本日はウォーミングアップを兼ねて少しだけ、です。

[第497回][第499回]で、E−80ミニコンに搭載のZB3BASICのRS232C機能をハードに合わせて組み込んだことについて書きました。
E−80ミニコンには、ZB3BASICのほかに、CP/M互換DOS(ZB3DOS)も搭載しています。
CP/M互換DOSにもRS232C機能がありますから、それも組み込まなければなりません。

CP/M互換DOSの場合にはBIOSに組み込むことになります。
BIOSの機能を直接CALLして使うこともできますが、普通はファンクションコールを使います。
ファンクション03がRS232C受信で、ファンクション04がRS232C送信です。
CP/MではRS232C通信の機能は、紙テープリーダーからの受信機能と紙テープパンチャへの送信機能として用意されています。
そのためファンクション03はリーダー入力(RDR)、ファンクション04はパンチ出力(PUN)になっていますが、いまどきパンチやリーダーはありませんでしょう。
実際には相手は何でもよくて、とにかくRS232C通信を介してつながるものならよいわけですから、ここは相手装置を特定しないで、単にRS232C受信機能、送信機能としたほうがよろしいでしょう。

それでその作業に取りかかったのですが、RS232C機能を組み込むにあたり、ちょいと考えてしまいました。
RS232C受信に割込みを使うべきか否か?
ZB3BASICのREAD #では、受信割込みを使っています。
しかし、CP/Mでは…?
うむむ。
調べてみますと特に割込みを意識したものにはなっていないようです。
ま。
考えているより、作ってしまったほうが早い、というわけで、とりあえずは割込みを使わない通常の受信プログラムをBIOSに組み込んで、さっそく試してみました。


左が当社のZBKボードで右がE−80ミニコンです。
これは[第205回]と同じテストです。
おや。何だか様子がおかしいようです。
受信のところで@がずらりと並んでいます。
@のASCIIコードは40Hです。
おお、ビット6が1ですから、これはオーバーランエラーのようです([第499回]参照)。
やっぱり。

9600bpsともなりますと、普通の受信では無理のようです。

ワンボードマイコンでCP/Mを![第502回]
2013.10.24upload

前へ
次へ
ホームページトップへ戻る