OCRソフトでダンプリストを取り込んでみる



雑誌に掲載されているマシン語ダンプリストを、OCRソフトを使い取り込んでみました。実験的な試みです。

OCRソフトで取り込み、編集。




OCRソフトでマシン語ダンプリストを取り込み、テキストファイルにします。
(アドレス、チェックサムも取り込みます。)


最初、フリーのSmartOCR Liteを使ってみました。認識をを英語専用にすれば思っていたより使えるという印象でした。予想通り、かなり、0(ゼロ)をO(オー)、1(イチ)をI(アイ)とかl(小文字のエル)と読み取っています。

次にプリンタ(複合機)に付いていた読取革命Liteを使ってみました。左の画像です
これはすごいです。認識率もこちらのほうが高く、更に読み取る文字種を限定できるので、「1234567890ABCDEF−:」だけを認識させました。Aと4、Bと8の混同は仕方の無いところでしょう。


今回は、ダンプリストが雑誌の1ページに3列に掲載されていたので、3つの領域を設定して取り込み、1つのテキストファイルとしました。


@ A

テキストエディタで、読み取りミスを修正、フォーマットを整えます。
特に、読み取り文字種限定機能のないソフトで取り込んだ場合,16進数以外のアルファベットは混ざっていない様にしておく必要があります。


@ 縦横両方のチェックサムを活用する場合(左上の画像@)
目盛り部分など、チェックサム以外のダンプリストを分断している部分を削除、1行にアドレス、データ8バイト、":"+チックサム、(それぞれの間にスペース)。
縦方向のチェックサムの行は SUM から始まるようにしておきます。

A 横方向のチェックサムのみ活用する場合(右上の画像A)
比較的大きなダンプリストでOCRでの読み取りミスが多い場合など、縦方向のチェックサムの入力が面倒な場合は横方向のチェックサムのみの活用もできます。
その場合、ダンプリストを分断している部分はチェックサム部分を含め削除、1行にアドレス、データ8バイト、":"+チックサム、(それぞれの間にスペース)それが最後まで続いているというテキストファイルにします。


雑誌の1ページごとに1つのテキストファイルとして、複数ページ分のファイルをバイナリファイルにした後でくっつけます。


バイナリファイルへ変換
テキストファイルからバイナリファイルへの変換にはG-HALさんの"dmp2bin"を使用します。
MZのチェックサムにも対応してくださっています。

2021年10月追記
今の環境ではdmp2binは動かないみたいです。MS-DOS Player上でなら動かすことができます。
DMP2BIN.EXEと同一ディレクトリ上にmsdos.exeを置き、下の例なら
msdos dmp2bin mz data1.txt
として実行できます。






テキストファイルの名前を"data1.txt"とすれば

dmp2bin mz data1.txt とします。(mzのチェックサム対応版)




修正したつもりでも、エラーが多いですね。(^_^;)
(エラーが多すぎると、コマンドプロンプトの表示が切り替わるか何かで、全ては表示できない様です。dmp2bin mz data1.txt > data1.err で、data1.errというエラーログファイルを生成できます)

メモ帳などではなく行番号の表示できるテキストエディタを使い、ミスを修正して、エラーが出なくなるまで再変換します。
スタートアドレスとエンドレスが正しいかも確認しましょう。

今回は、雑誌の1ページを1つのテキストファイルとしていたので、複数ページ分のテキストファイルを変換し、できたバイナリファイルをくっつけます。(例 COPY /b a.bin+b.bin+c.bin mzfile.bin )



2017年5月追記
ひっそりX1さんの「リアルタイムチェックサム付ダンプ」がおすすめです。
リアルタイムチェックサムの付いたシンプルなバイナリエディタです。
MZ用に使う場合、チェックサムタブのところで
Add8(E)
を選択します。(トータルSUMは4桁表示だが下2桁のみ見る)
横サムのみの活用の場合は、ここで正しく修正します
トータルのチェックサムが正しくても、入力ミスがある場合がありました。縦横全てのチェックサムが正しいか確認する必要があります




最後にヘッダを付けて拡張子を変え、MZTファイルにします。

(ヘッダのフォーマットについては補足 tapeload.exeの使い方を参照。実行アドレスはMZ-1500の場合EAA7H,(MZ-700の場合0000H)にしておきます。MZ700WINで該当エリアをセーブしたダミーファイルを作り、そのヘッダの内容を参考にしてもいいでしょう。)


MZ-700WINへ


MZTファイルをMZ−700WINへロードします。

スクリーンショットは編集しながらチェックサムを確認できる、チェンジ・メモリというツールのものです。


QDイメージの場合、$qd$.mztというファイルにセーブし、リネームすれば完了です。
(当然、ヘッダの実行アドレスをEAA7Hにしていた場合は正しいものに修正します。)

コメント
印刷の状態、環境、変換作業の方法(画像補正など)、使うソフト、その設定などにより、読み取り精度が変化します。うまくいくかどうかは結局、OCRソフトでの変換作業の結果をいかに良くするか、ということでしょう。

参考リンク
OCRソフトを使用して昔のダンプリストをエミュレーターに使えるファイルにしたい
Darkslateblueさん古PC関連のページ
このページの元となっているページ。必見です。

残念ながらリンク切れになっています。とりあえずインターネットアーカイブで。