"1702 programmer"でググったところ、参考になりそうなサイトが2つ見つかりました。(この記事の末尾の参考文献参照)
[1]の方はリーダー機能とライター機能の双方を完備しているので若干複雑な回路になっています。[2]の方はライター機能に特化したもので、かなり簡単な回路です。[2]に紹介されている文献[3]もとても参考になりました。具体的な作り方がわかったのでIntel のオリジナルの資料[4], [5]で仕様を確認。(順序が逆な気もしますが。)
読み込みをRCTに任せて、書き込み専用のライターならわりと簡単に作れそうな気がしてきました。
書き込みに必要なことをまとめると、
・電源は+12V, -47V
・Vcc=0V, Vbb=+12V, /CS=0V
・PROGRAM=-47V, Vdd=-47V, Vgg=-35~40V(-47Vからツエナーダイオード(9.1V)で作ったやつでOK)。
・PROGRAM, Vdd, Vggはパルスで与える。(Duty比20%以下、立上り立下り1μs以下)
・D1~D8は0Vで"0"、-47Vで"1"。
・A0~A8は0Vで"1"、-47Vで"0"。
・上記信号をタイミング仕様に従って生成して1byte書き込み、12ms以上休む。
・アドレス0x00~0xFFへの書き込みを32回繰り返す。
文献[3]ではアドレスやデータをトグルスイッチで与えていたので、1つのアドレスに対し32回繰り返してから次のアドレスに行けばいいのかと思ったのですが、文献[4]に "For best results, the 1602A/1702A should be programmed by scanning through the addresses in binary sequence some 32 times. Each pass repeats the same series of programming pulses. The duty cycle for applied power must not exceed 20%. As result, each pass takes about 4 seconds, with the 32 passes taking just over 2 minutes."
とあるため、「"0x00~0xFFへの書き込み"を32回繰り返す」が正しいやり方のようです。
タイミングに関する仕様はこんな感じ。
GitHub - ryomuk/prog1702: A simple programmer using Raspberry Pi Zero for Intel 1702A vintage EPROM
A simple programmer using Raspberry Pi Zero for Intel 1702A vintage EPROM - GitHub - ryomuk/prog1702: A simple programmer using Raspberry Pi Zero for Intel 1702A...