RsvData.datとRsvData.bakの目的は, 結果リストと予約リストのデータを保存することである. ファイルそのものは標準で次の場所にある:
C:\Documents and Settings\All Users\Application Data\NEC\SmartVision
全体の情報を管理するヘッダ等はない. 単純なブロックの繰り返しであり, 各ブロックの先頭は' NEC'となっている.
前半には結果リストが, 後半には予約リストが時系列順に並んでいる. 各ブロックはリストの各項目に対応している.
各ブロックは百数十バイト程度の大きさで, 以下のような構造を持つ. 文字列はShift_JISである.
4bytes : ' NEC' 4バイトの文字列
4bytes : ID[*1]
8bytes : 予約開始時刻. 1899年12月30日0時を基点とした日数のdouble型数値.
8bytes : 予約終了時刻. 1899年12月30日0時を基点とした日数のdouble型数値.
4bytes : 0→TV, 3→CATV, 4→外部入力
1byte : TVのときチャンネル番号, CATVのときチャンネル番号-12, 外部入力のとき1.
1byte : 2→ADAMS-EPG受信, 3→おまかせ録画, 4→通常予約: 優先順位であろう.
4bytes : 0→視聴, 1→高画質, 2→標準画質, 4→ユーザー設定, 7→長時間, 100h→ADAMS-EPG受信.
1byte : 0→一回のみ, 1→毎日, 2→毎週(曜日指定)
1byte : 一回のみのとき 0, 毎日のとき 7Fh, 毎週のときは各ビットが曜日を表す:
1→日, 2→月, 4→火, 8→水, 10h→木, 20h→金, 40h→土
10bytes: 0 0 0 0 0 0 0 0 0 0
4bytes : 不明だが, ここが 0 でないときは直後に30バイトのデータが追加される.[*2]
4bytes : 番組名の長さをバイナリ値で指定.
?bytes : 番組名. ADAMS-EPGのときは'ADAMS-EPG受信'となる.
4bytes : 詳細情報の長さをバイナリ値で指定[*3]
?bytes : 詳細情報
4bytes : 予約結果. 実際に確認したものは以下の通り:
0→予約,
1→「成功」,
2→「失敗 予約を開始することができませんでした。」,
Eh→「成功 ユーザーが停止ボタンを押しました。」,
Fh→「失敗 予約をキャンセルしました。」,
1000h→「失敗 予期せぬ原因で予約に失敗しました。」,
F000h→(同じ時間帯に別の予約をしたため)この予約(ADAMS-EPG)は実行しない.
24bytes: 0 を24バイト続ける.
4bytes : 予約したクライアント名の長さ. 標準では7(文字列'RecTime'の長さ).
?bytes : 予約したクライアント名. 標準では'RecTime'
4bytes : 旧ID[*4]
4bytes : 0 0 0 0
4bytes : ビットレート[*5]
4bytes : 予約ユーザー名の長さをバイナリ値で指定.
?bytes : 予約ユーザー名.
1byte : 0→通常, 1→シークレット予約
1byte : 録画とADAMS-EPG受信のとき 0, 視聴のとき 1.
[*1] ブロックごとに振られる一意なID. SmartVisionをインストールした時刻から予約を設定した時刻までの時間を, 6日を1に換算してfloat型数値で表したものと思われるが, 細かい計算までは不明. 結果リストでは予約時のIDがそのまま使われる.
[*2] 詳細は不明だが, 番組表から直接予約した場合とおまかせ録画の場合に0以外の値を持つ. ADAMS-EPGのデータへのポインタか何かであろう.
[*3] 0にならないのはおまかせ録画のときだけのよう. 番組表から直接予約したときは, 詳細情報があってもRsvData.bakにはコピーされない.
[*4] RsvData.bakは予約終了直後に自動的に更新され, 特に毎日・毎週予約の場合, 次回の予約を表すブロックが自動的に生成される. そのとき, 古いブロックのID([*1])が新しいブロックの旧IDの所にコピーされる.
[*5] この値は, ファイルサイズ(MB)を録画時間(分)で割った値を整数に丸めたものと思われるが, 正確な計算式は不明. なお, 予約リストや視聴の結果リストの場合は0.
予約内容を変更したときや予約録画を正常に終了したときはRsvData.bakが更新されるが, RsvData.datは更新されない. 一方, 録画失敗など異常な場合は, RsvData.datだけ更新されたり, 両方更新されたりまちまちである. この2つのファイルの細かな役割や関係がどうなっているかは不明.