|
■DTMFデコーダー・ハード
DTMFデコーダーのハードを収めるケースを物色中。候補は下のふたつ。いずれも百均アンプで、左側が旧機種。デザインがダサいでしょ?w 右側が現行機種。いずれにせよ電源はMSX本体から取るので、単四電池2本分のスペースが空く。そこに右上のデコーダーチップを収めるつもり。
スイッチ付VRのスイッチ部分が無駄になるが、ライン出力の場合はアンプを生かし、イヤフォンジャック出力の場合はアンプを迂回するスイッチに転用するつもり。
受信端子としてRCA端子をネジ止めのつもり。MSXとの接続用のDサブ9ピン端子を切らしていたので到着待ち。電源を含めて7線をところどころ結束するつもり。10cmもあればいいかな?
つもりつもりが、積もりつもっとるな。
まだ考えちう。考えているのは2点。
(1) 出力する文字は「0123456789ABCDEF」に限られるのだから、8ビットを4ビットずつの2文字にしてデコーダーの負担を増やさなくとも、素直に「0123456789ABCDEF」とデコードできる形で出力してやればいいじゃないか。
(2) ウエイトをマシンサイクルに依存している。これではturboRに適用できない。MSX-Datapack Vol.3には「高速モード時は専用システムクロックを参照せよ」旨が書いてあるが邪魔臭い。turboRかどうか判断して、適宜Z80モードに切り替えることにする。BIOSが処理するとはいえ、スロット間コールは好きじゃないんだけどなあ。
■蛇足1
にゃごすさん主宰のWEB版「MSX2テクニカルハンドブック」は素晴らしい。が、ちょこっと手を加えたい部分もある。
カートリッジ用のワークエリアについて、
(1)カートリッジ自体にRAMをのせてしまう(最も安全確実な方法)。
(2)2バイト以下ならばSLTWRK(FD09H〜)の自分に対応する2バイトをワークとして使用する。
(3)必要なワークエリアが3バイト以上ならば、まずBOTTOM(FC48H)の内容をSLTWRK(FD09H〜)の対応するエリアに書き写し、BOTTOMの値を必要なワークエリア分増やし、そこをワークエリアとして確保する。 と3案が示されており、これはアスキー版原本及びMSX-Datapack Vol.2にも同じ記述がある。しかし、Vol.2添付の正誤表では、(2)(3)を削除し、「カートリッジにRAMを搭載することを推奨します」と改められている。この情報はあまり流布しておらず、今日もどこかで誰かが苦しんでいるかもしれない。
カートリッジスロットの端子について、「5Vが二つあるが、どちらが+5Vで、どちらが−5Vか分からない」旨の注記があった。別途、+12V及び−12Vの端子はあるが、5Vはどちらも+5Vである。
下に某ゲームの基板を示す。左端の2端子が5V、次の2端子がGNDである。以前書いたように、電源の強化目的と考えていいと思う。
■蛇足2
今さらながらDTMF規格について調べてみた。そもそもは ITU-T勧告を元に総務省令 端末設備等規則第12条第2号に基づく別表第2号に、押しボタンダイヤル信号の条件として規定されているそうな。
その中で、信号送出時間は50ms以上、ミニマムポーズ(隣接する信号間の休止時間)の最小値は30ms以上。そして、周期(信号送出時間とミニマムポーズの和)は120ms以上と規定されている。 よく「ピポパ」と言われるが、「ピ」と鳴ってから次の「ポ」が鳴るまでに120ms以上かけないといけないらしい。これに従うと、10文字送信し終えるまでに120ms×9+50ms=1130ms。1秒以上かかる。
ちなみに、今回使用予定のDTMFレシーバーCM8870は、信号送出時間、ミニマムポーズとも最低20msである。実質4bit文字を10文字フルスピードで送るのに190ms。メチャ遅だが1130msよりはずっとマシである。
遅さが魅力のMSXであるが、そこそこのスピードは確保したい。苛立って叩き壊さない程度にねw(・∀・)
|

>
- コンピュータとインターネット
>
- コンピュータ
>
- その他コンピュータ




