生成AI(gemini)を使って16進ダンプリストを入力する
過去のプログラムで遊ぶ時に 避けられないのがプログラムリストの入力である。
BASICであれば、入力時・実行時にエラーが出るので、まだなんとかなる。
でも、16進ダンプは打ち間違えると、プログラムが暴走してどこで間違えたかわからない。
後年になると、縦横チェックサムが考案されて チェックは楽になったのだが、入力の手間は変わらなかった。
近年、“Program List OCR” などの優秀なOCRソフトウェアが開発され、入力の手間は格段に楽になったのだが、それでも事前・事後の整形やチェックに少々手間がかかる。
もっと手間を省けないかと考えているうちに閃いた! 生成OCRに全部やらせれば良いんじゃない?
Geminiに16進ダンプを喰わせてみた
いくつかの生成AIで試してみたのですが、私が使った範囲では Google gemini が 精度が高くて楽に読み込みができます。
サンプル:私が高校生のときに作ったミニプログラムのマシン語部分です。
BMUG会報 BASIC MASTER USER’S GROUP No.5 MAY 1982 に掲載されたもので、日立の放電プリンター(MP-1010)で印刷したものです。
さて、これをGeminiに食わせてみます。画像データをdrag-and-dropして、以下のプロンプトで処理してみました。
「イメージの16進ダンプを読み取り、元のフォーマットに合わせてテキストにしてください。0のフォントは斜め線が入っています」
読めてるぜ! マジかよ!
精度を確認するために、正しいデータとdiffを取って、色付けしてみました。
やはり、0と8とBは区別しづらいようです。人間でもわかりにくい時があるので仕方がないですね。それ以外の部分の間違いは少ないので、0/8/Bが現れる部分だけ重点的にチェックすれば、ほぼミスは無くなります。
1バイト丸々欠落している部分もありますが、これはわかりやすいので修正は楽です。
フォントを事前に与えて、精度を上げることもできるかなあ?
ディスカッション
コメント一覧
まだ、コメントがありません