★T77ファイルデコーダー


== 説明 ==

 XM7でサポートしているカセットイメージファイル(.T77ファイル)の中身を解析し、ファイルを抽出するユーティリティーです。

対応フォーマットはF-BASIC形式の1600bpsのみで、サッポロシティースタンダード(倍速)などには対応していません。

v0.3では変換速度がやたら遅くなりましたが、その分変換精度がグンとあがりました(当社比120%(ウソ))。

 t77dec_06.zip v0.6ダウンロード (20KB)


== 使い方 ==

書式: t77dev 入力ファイル [オプション]

入力ファイルは.T77形式カセットイメージファイルである必要があります。入力ファイルのフォーマットはチェックしています。T77形式以外のファイルを入力することはできません(エラーになります)。

出力ファイルは見つかったファイル名を元に自動的に作成されます。

オプションは次のものがあります。

-v

Verboseモード (音声ファイルのフォーマット情報など、いろいろメッセージを出力する)

-p[mode] 位相を指定する。昔のデレコのPhaseとか位相とかかかれてたスイッチと同じです。[mode]は以下の2つを指定できます
r = 逆相指定
n = 正相指定(デフォルト)

-

フルダンプモード。テープ内容をすべて'FULLDUMP.BIN'ファイルにダンプします。

変換に掛けたときにファイルがひとつも見つからないような場合には-prオプションをつけて変換しなおしてみてください。

生成ファイル名:

生成ファイル名は以下の規則にしたがって生成されます。

    テープイメージ中のファイル名(スペースを含む8文字) + ファイルタイプによる拡張子

ファイルタイプによる拡張子は以下のようになっています。

ファイルタイプ 拡張子 ファイルの中身
BASICプログラム .IBA BASIC中間コード
BASICプログラム .BAS BASIC ASCIIコード
データファイル .TXT ASCIIコード
機械語プログラム(データ) .BIN バイナリ

実行例:

C:\> t77dec basic.t77

FOUND:"BASIC "
FOUND:"BASIC_A "
FOUND:"00100100"
FOUND:"2 "

basic.t77というファイルからファイルを抽出する。

C:\> t77dec basic.wav -v

T77 file decoder version 0.1
Programmed by an XM7 supporter

FOUND:"BASIC " BASIC program(I-code)
Output filename:"BASIC .IBA"
LENGTH=$0031

FOUND:"BASIC_A " BASIC program(ASCII)
Output filename:"BASIC_A .BAS"
LENGTH=$0033

FOUND:"00100100" Binary file
Output filename:"00100100.BIN"
LENGTH=$00ef START=$0010 END=$0100 EXEC=$0000

FOUND:"2 " Binary file
Output filename:"2 .BIN"
LENGTH=$1110 START=$1234 END=$2345 EXEC=$aa55

変換するときの情報(出力ファイル名、開始,終了アドレスなど)を表示しながら変換する。

C:\> t77dec sample.t77 -pr
逆相で変換する。

== その他ノウハウなど ==

これも、T772WAVと同様、あまり使い道を考えずに作ってしまいました(^^;

なんとなく、カセットのフォーマットを解析しているうちに出来てしまったという感じです。

変換は独自(テキトー)調査に基づいて変換していますのでヘンなことをしでかすかもしれませんが、ご了承ください。もし、テープフォーマットの詳しいデータをお持ちの方がいらっしゃいましたら見せていただけるともっとまともな変換が出来るようになるかもしれません。

== 改版履歴 ==

// v0.1 2000/09/05 初期公開バージョン
// v0.2                    非公開バージョン

// v0.3 2000/10/04 変換方式を、T77→ビットストリーム(1μs)→1/0判定に変更。速度が著しく低下するが、精度は向上
// v0.4 001005 BASIC(I-CODE)=IBA, (ASCII)=BASに拡張子を変更
// v0.5 001009 マシン語ファイルを受信時、1バイト余分にデータを書き込んでいたのを修正
// V0.6 010114 マシン語受信時、ヘッダの読みだし開始位置を5増やしているのに、さらにブロックサイズを5引いてしまっていたバグを修正