データレコーダーのエミュレータを作ってみた (その4)

  • 2011/09/04(日) 21:42:48

またも時間が空いてしまいました。
データレコーダーのエミュレータ試作中、その後です。
前回の最後にちょろっと記載しましたが、出力の先にアンプを付けてみました。
回路図はこんな感じ。


アンプとしてはNJM386を利用し、アンプ部の回路図はほぼデータシート通りです。
またアンプ回路部分には5Vを供給し、AVRとSDは3.3V動作なので、3端子レギュレータにて5Vから3.3Vを作成しています。
5VはACアダプターやPC用の電源などから簡単に取れますので適当に。
#あんまり怪しい5Vだとアンプ部分なのでいまいちかもしれません。
この辺のパーツは秋月で簡単に購入できます。

前回まで単3電池2本で動作させていましたが、今回のものはDC5Vを必要とするようにしてしまいました。
電池電源でもある程度の電圧があれば問題なく動作します。
#単3を4本で6Vにしてしまうとか。
ただ、今後キャラクターLCDを付けて再生中のファイル名を表示したり、レベルメーターをつけたりしたいと思っているのでこのような回路にしました。
作成される方は自分の使用環境に合わせていろいろと試してください。

んで、できたのがこちら。

音量の関係でダメだったPC-8801やMSXをやってみます。

持っているPC-8001のテープはこんなかんじ。

PC-8001のテープは問題なく使用できていました。

それに加えてPC-8801やMSXのテープはどうでしょうか?

まずはPC-8801のテープ。
F2グランプリをやってみました。

いやらしい思い出がよみがえるキャリーのローダーですが、一回問題なく読み込めれば、wavにしてしまっているので、その後のエラーはありません。


次はプラズマラインやってみます。


テクノソフトのも問題ありませんでした。

つぎ、MSXはどうでしょうか?

#って3本しか持ってないです。




こちらも音量調節にて問題なくロードできましたよ!
#動画でなくてもいいですよね。

ということで、「きちんとwav化されていればPWM出力を音量調節するだけで、データレコーダーを置き換えることができる」と思われました。

ただ問題はこの「きちんとwav化」です。
録音にはもうちょっといろいろと検証してみたので、それは次回に続きます。
では

この記事に対するトラックバック

この記事のトラックバックURL

この記事に対するコメント

プロテクト等でソフトごとにテープへ記録する方式がバラバラなのでしょうか?
もし統一規格で録音されているものであれば、SDカードから生のバイナリー情報を得てAVRマイコンで変調して出力ってのも可能性があると思うのですけども。
今後の発展に期待しています。

  • 投稿者: uda
  • URL
  • 2011/09/04(日) 23:19:58
  • [編集]

コメントありがとうございます。
仰るとおりで、私の身近にあるハード(PC-80、88、MSX)では1200Hzと2400Hzの矩形波で記録されており、300ボーから2400ボーまでは1ボー=1ビットの情報なので、バイナリデータから音声に変換することは可能です。
ただAVRマイコンの速度などを考えると、現実的にはPC上で音声データの一歩手前(1200Hzと2400Hzの並びをデジタル化したもの)程度まで変換し、それをAVR上で音声として再生するぐらいな方が安全と思います。
この方法であればWAVに録音した後、ノイズ補正をしつつデジタル化できますので、将来的にはこの方向に向けたいと思っています。
#なにか新しいフォーマットを考える必要がありますかね。
ただしこの方法の欠点は未知のフォーマット(1200、2400Hz以外の音声を利用するなど)には対応できないというところでしょうか?
ある程度機種を限定して(国産のFSK方式、300〜2400ボーまでなど)しまえば可能と思いますが、如何せん私もそれほどレトロPCのハードを持っていないので、検証が難しいです。
余談ですがコモドール64にはコモドール64だけをサポートした形で同様のテープエミュレータが存在します。

正直プロテクトに関してはパリティのチェックがあったりするぐらいしか私は知りません。あとはアナログ的なダビングするとエラーになる音量で録音してあるなどでしょうか?

とりあえず次はLCD表示にて再生中のファイル名を表示したいと思います。

この記事にコメントする

管理者にだけ表示を許可する