レトロPC誌の「打ち込み」を現代技術で攻略!NDLOCR-Lite、ProgramList OCR、AIによる入力実験

2026/3/16 RetroPC NEWS編集部

レトロPCファンにとって、当時の雑誌プログラムの打ち込み(タイピング)は本当に面倒でした。しかし、近年の画像認識OCRや、AIの精度向上により数ページにわたるソースコードを一瞬でテキスト化できる環境が整いつつあります。
果たしてAIは、当時のリストをどこまで正確に読み取れるのか? 手入力の苦労をどこまで減らせるのか? ChatGPTと話題のNDLOCR-Lite、そしてProgram List OCRを使い「令和流・プログラム入力術」の実践レポートをお届けします。

DUMPTITLE レトロPC誌の「打ち込み」を現代技術で攻略!NDLOCR-Lite、ProgramList OCR、AIによる入力実験

サンプルプログラムリスト

こちらサンプルで用意したプログラムリストです。「16進数の入力が一番面倒だろう」と判断し、こちらのサンプルを準備しました。左側が雑誌掲載、右側が正解のテキストです。

DATA レトロPC誌の「打ち込み」を現代技術で攻略!NDLOCR-Lite、ProgramList OCR、AIによる入力実験
141 DATA 20,C9,2A,20,8F,2B,36,00
142 DATA 2A,22,8F,2B,36,00,2A,24
143 DATA 8F,2B,36,00,C9,2A,20,8F
144 DATA 23,23,23,36,00,2A,22,8F
145 DATA 23,23,23,36,00,2A,24,8F
146 DATA 23,23,23,36,00,C9,00,00
147 DATA CD,1B,00,D6,4E,C2,44,81
148 DATA 2A,20,8F,2B,22,20,8F,2A
149 DATA 22,8F,2B,22,22,8F,2A,24
150 DATA 8F,2B,22,24,8F,CD,D0,80
151 DATA CD,05,81,C9,CD,1B,00,D6
152 DATA 4D,C2,67,81,2A,20,8F,23
153 DATA 22,20,8F,2A,22,8F,23,22
154 DATA 22,8F,2A,24,8F,23,22,24
155 DATA 8F,CD,D0,80,CD,F2,80,C9
156 DATA 2A,20,8F,22,08,8F,26,8F
157 DATA 2E,0A,36,28,CD,18,80,2A
158 DATA 0B,8F,7E,D6,43,C2,87,81
159 DATA 26,8F,2E,30,36,01,C9,23
160 DATA 23,7E,D6,43,C2,92,81,C3
161 DATA 80,81,2A,20,8F,2B,7E,D6
162 DATA 43,C2,9F,81,C3,80,81,23
163 DATA 23,23,23,7E,D6,43,C2,AC
164 DATA 81,C3,80,81,2A,24,8F,2B
165 DATA 7E,D6,43,C2,B9,81,C3,80
166 DATA 81,23,23,23,23,7E,D6,43
167 DATA C2,C6,81,C3,80,81,C9,00
168 DATA 2A,20,8F,36,F9,23,23,36
169 DATA F6,2A,22,8F,36,FD,23,23
170 DATA 36,FC,2A,24,8F,36,F6,23
171 DATA 23,36,F9,2E,01,26,00,22
172 DATA A1,11,00,CD,44,00,00,00
173 DATA 2A,A1,11,23,22,A1,11,00
174 DATA 7C,D6,20,C2,EB,81,00,00
175 DATA CD,47,00,00,00,00,00,C9

PiO 1985/8 より編集部加工

NDLOCR-Liteを使う

NDLOCR-Liteは、国立国会図書館(NDL)が開発したオープンソースのOCRプログラムです。
最大の特長は、古い雑誌や書籍特有の「複雑なレイアウト」や「縦書き・横書きの混在」を高精度に認識できる点です。最新のディープラーニング技術を活用しており、従来のOCRが苦手とした明治期から現代までの多様な活字文献をテキスト化することに特化しています。

Mac版の1.1.2(1)をインストールして使いました。非常に高速なのが特長です。画像データ(DATA)を入れると、ほぼ一瞬の0.56秒で6つのファイルが生成されます。

NDLOCR-Liteによる結果

認識結果は以下の通りとなりました

141DATA
20,C9,2Ω,20,8F,2B,36,00
142DATA
2A,22,8F,2B,36,00,2Ω,24
143DATA
8F,2B,36,00,C9,29,20,8F
144DATA

となり、”A”が”Ω”と誤認識されてしまいました。形が似ている文字の判断は難しくプリンタのフォントが独特であるためでしょう。また改行の位置も修正が必要です。

NDLOCR-Liteによる認識結果全文
141DATA
20,C9,2Ω,20,8F,2B,36,00
142DATA
2A,22,8F,2B,36,00,2Ω,24
143DATA
8F,2B,36,00,C9,29,20,8F
144DATA
23,23,23,36,00,29,22,8F
145DATA
23,23,23,36,00,29,24,8F
146DATA
23,23,23,36,00,C9,00,00
147DATA
CD,1B,00,D6,4E,C2,44,81
148DATA
2A,20,8F,2B,22,20,8F,29
149DATA
22,8F,2B,22,22,8F,29,24
150 DATA
8F,2B,22,24,8F,CD,D0,80
151DATA
CD,05,81,C9,CD,1B,00,D6
152 DATA
4D,C2,67,81,2Ω,20,8F,23
153DATA
22,20,8F,29,22,8F,23,22
154DATA
22,8F,2Ω,24,8F,23,22,24
155 DATA
SF,CD,D0,80,CD,F2,80,C9
156DATA
29,20,8F,22,08,8F,26,8F
157DATA
2E,00,36,28,CD,18,80,29
158DATA
0B,8F,7E,D6,43,C2,87,81
159 DATA
26,8F,2E,30,36,01,C9,23
160DATA
23,7E,D6,43,C2,92,81,C3
161DATA
80,81,29,20,8F,28,7E,D6
162DATA
43,C2,9F,81,C3,80,81,23
163DATA
23,23,23,7E,D6,43,C2,AC
164DATA
81,C3,80,81,2Ω,24,8F,2B
165DATA
7E,D6,43,C2,B9,81,C3,80
166 DATA
81,23,23,23,23,7E,D6,43
AC2,C6,81,C3,80,81,C9,00
2A,20,8F,36,F9,23,23,36
169DATA
F6,29,22,8F,36,FD,23,23
36,FC,2Ω,24,8F,36,F6,23
171DATA
23,36,F9,2E,01,26,00,22
172DATA
91,11,00,CD,44,00,00,00
173DATA
29,91,11,23,22,91,11,00
7C,D6,20,C2,EB,81,00,00
175DATA
CD,47,00,00,00,00,00,C9

ChatGPTによる解析

ChatGPTでもOCRができるというので試します。プロンプトは以下を入力しダンプリストの画像を貼り付けました。ChatGPTのモデルは「GPT-5.3」です。

BASICのプログラムリストの書かれた画像です。アルファベットと数字だけです。テキストにして。

CHATGPTS-789x1024 レトロPC誌の「打ち込み」を現代技術で攻略!NDLOCR-Lite、ProgramList OCR、AIによる入力実験

ChatGPTによる結果

ChatGPTによる読み取り結果は以下のとおりです。Z80と気づかれてしまうのは面白いですね!
画像のテキスト化についてはかなり優秀ですが、値がずれたり、勝手に値を生成してしまう可能性がありそうでした!

160 DATA 23,7E,D6,43,C2,92,81,C3
161 DATA 80,81,2A,20,8F,2B,7E,D6
162 DATA 43,C2,9F,81,C3,80,81,23
163 DATA 23,23,7E,D6,43,C2,AC,81 ← 勝手に値を生成された
164 DATA 81,C3,80,81,2A,24,8F,2B
165 DATA 7E,D6,43,C2,B9,81,C3,80
166 DATA 81,23,23,23,23,7E,D6,43

Macによる画像認識結果

MacData3 レトロPC誌の「打ち込み」を現代技術で攻略!NDLOCR-Lite、ProgramList OCR、AIによる入力実験

Macでは、画像をプレビューアプリで開くと自動的に文字認識(OCR)機能が働きます。灰色で表示されている部分は文字として認識された箇所ですが、残念ながら今回の画像では、すべての文字を正確に認識することはできませんでした。コントラストを変えたり、白黒反転してもほぼ結果は変わりませんでした。

Program List OCRは完璧にいけた!

Program List OCRが良いと聞き試してみます

programlistocr レトロPC誌の「打ち込み」を現代技術で攻略!NDLOCR-Lite、ProgramList OCR、AIによる入力実験

今回のデータでは認識結果は完璧に読み取れました!これは大変便利ですね〜!

Program List OCR による読み取り結果
141 DATA 20,C9,2A,20,8F,2B,36,00
142 DATA 2A,22,8F,2B,36,00,2A,24
143 DATA 8F,2B,36,00,C9,2A,20,8F
144 DATA 23,23,23,36,00,2A,22,8F
145 DATA 23,23,23,36,00,2A,24,8F
146 DATA 23,23,23,36,00,C9,00,00
147 DATA CD,1B,00,D6,4E,C2,44,81
148 DATA 2A,20,8F,2B,22,20,8F,2A
149 DATA 22,8F,2B,22,22,8F,2A,24
150 DATA 8F,2B,22,24,8F,CD,D0,80
151 DATA CD,05,81,C9,CD,1B,00,D6
152 DATA 4D,C2,67,81,2A,20,8F,23
153 DATA 22,20,8F,2A,22,8F,23,22
154 DATA 22,8F,2A,24,8F,23,22,24
155 DATA 8F,CD,D0,80,CD,F2,80,C9
156 DATA 2A,20,8F,22,08,8F,26,8F
157 DATA 2E,0A,36,28,CD,18,80,2A
158 DATA 0B,8F,7E,D6,43,C2,87,81
159 DATA 26,8F,2E,30,36,01,C9,23
160 DATA 23,7E,D6,43,C2,92,81,C3
161 DATA 80,81,2A,20,8F,2B,7E,D6
162 DATA 43,C2,9F,81,C3,80,81,23
163 DATA 23,23,23,7E,D6,43,C2,AC
164 DATA 81,C3,80,81,2A,24,8F,2B
165 DATA 7E,D6,43,C2,B9,81,C3,80
166 DATA 81,23,23,23,23,7E,D6,43
167 DATA C2,C6,81,C3,80,81,C9,00
168 DATA 2A,20,8F,36,F9,23,23,36
169 DATA F6,2A,22,8F,36,FD,23,23
170 DATA 36,FC,2A,24,8F,36,F6,23
171 DATA 23,36,F9,2E,01,26,00,22
172 DATA A1,11,00,CD,44,00,00,00
173 DATA 2A,A1,11,23,22,A1,11,00
174 DATA 7C,D6,20,C2,EB,81,00,00
175 DATA CD,47,00,00,00,00,00,C9


まとめ:Program List OCRは完璧に読み取れました。もちろん画像によっては不得意な部分はあるかもしれませんし、実際アルファベットの認識では不得意とも聞きます。しかし、かなり高い精度で読み取れるのは間違いありませんね!OCRやAIの特性を活かしながら、プログラムリスト入力の省力化を進めていきたいです。


応援しよう