謎のオフセット値?
基本的な変換そのものは、ほぼ問題ない感じなのだが、妙なエラーになるファイルが見つかって、バイナリで見るとどうも先頭のリンクポインタの数字がおかしい。
どうにかそれらしいところを追っていくと、どうやらアドレスにオフセット値とでもいうのか付加されているという感じ。
試しにそれを考慮して追ってみると良さそうなので、オフセット値と思われる分を差し引いて処理するようにしたところきれいに変換できた。
が、別のファイルでは異なるオフセット値がはいっていて、プログラム中で指定していたのを修正することに。optparse を使ってオプション指定できるようにした。これで少し楽になるか。
といってもその手のファイルはわずかではあったけれど。いずれにしてもなぜそんなものがついたのかが謎。
ということで次々と変換できたのでおおむね作業は終わりに近づいた。
残りのうちで N-DISK BASIC をどうしようかとは思う。資料もないし。ファイルがそもそも少ないし、アスキーセーブしなおせばよいか。
| 固定リンク
コメント