Navigation Log - なびろぐ -
2010/03/15

...X680x0 spirit inside...

この日記はGNSで生成しています。
この日記の画像はOPTPiX webDesigner Ver.4で生成しています。

hauN
Go amazon.co.jp

■ご注文リストから■ [一覧]
■Amazonギフト券■ [購入]
NECプラットフォームズ EX5C クレードル PA-MR05L-EX5C []
NECプラットフォー...
Amazonほしい物リスト


2010/03/15 (月) 曇後雨

MZ-700テープデジタイズ (PC)

_ 実家から発掘してきたMZ-700。まずは残っているテープのデジタイズから。データレコーダはX1用のと汎用の2台が手許にあるが、先に出てきた後者のSANYO MR-22DRで作業。

_ WAVESPECTRAで波形を見ながらWAV収録。その後taperead.exeを通そうとするが、44.1kHzでサンプリングしたためそのままでは使えず。WAVを加工してもよかったのだが、taperead.exeにソースが付いていたのでそっちを改変する方法で対応。

_ んが、どうもデータリードエラー多発。いろいろ調査してみたが、1/0の判定処理を差し替えてみたらうまく行くように。ということで、置いておく。

_ 以下、ついったのログからコピペ。

03:04 gorry5: 原理の話。MZの場合、0を示すビットを「100単位時間のH→100単位時間のL」、1を示すビットを「200単位時間のH→200単位時間のL」のような形で記録する
03:06 gorry5: '1011'のようなビットを書く場合、「200H,200L,100H,100L,200H,200L,200H,200L」のような形になる
03:08 gorry5: 一方、これを読み出すときは「Hが見つかってから150単位時間後がHかLか」のような方法で判定している。MZのROMでも、オリジナルのtaperead.exeでもそう
03:11 gorry5: しかしこれに歪みや揺らぎが発生すると、読み出した結果が「200H,200L,150H,100L,150H,200L,200H,200L」のようになってしまうことがある
03:14 gorry5: 150単位時間後の状態を読むのに"150H"があっちゃまずい。読み出し結果がH/Lどっちになるか運次第
03:18 gorry5: で、対策。揺れても半周期くらいで安定するなら、1周期読んでからその総時間で判定してはどうか
03:20 gorry5: 200H+200L=400, 150H+100L=250, 150H+200L=350, 200H+200L=400だから、300くらいを1/0の境目にしておけば結果として正しいことになる
03:35 gorry5: 実例、sb_fromtape.wavがテープから実際に読んだデータ。比べると興味深い URL:gorry.haun.org
03:45 gorry5: taperead_g.cppの改変具合はまさにhack。真似しちゃだめよ :D

[URL] [View Log()] [Trackback]
Name: Comment:



メールはこちらへ...[後藤浩昭 / Hiroaki GOTO / GORRY / gorry@hauN.org]

「表紙へ戻る」
「会議室」 「最新版」 「なびろぐindex」 「GNSソースを読む」