以前、6502互換CPUを作ったが、これを用いて、お正月休みの間に、Apple-I互換システム(AISoCS)を作成した。
本来のApple-IはNTSCのテレビモニタとASCIIキーボードを接続して利用するボードコンピュータであるが、今の時代、これらは返って不便なので、入出力はシリアル端末に変更する。
Wozのモニタの使い方については、ネットを探すと、Apple I Operation Manualが見つかるはずなので、そちらを参考にしてほしい。
ターゲットボードは、Xilinx社のSpartan3 Starter Kitである。
(実は、帰省直前に、digikeyに発注していたSpartan3E Starter kitも届いたのであるが、持ち帰らなかったので、少し古めのボードになるが、シリアルしかまともには使わないので、シリアルポートが使えるボードならなんでもいいはず)。
モニタプログラムはWozのApple-Iモニタを16進ダンプしたものを作成した。(このモニタは、WozがApple社設立以前にパブリックドメインとしたものだ)
IP ARCHのサイトにパッケージをアーカイブしておいたので、これと、sfl2vl(の最新版)を用いて、Apple-I互換機が完成する。
sfl2vlの20090101版は、開発環境の問題から、WindowsGUI版しか作っていないのだが、以前のバージョンとの違いは実はあまりなく、XilinxのISEが、Verilog構文的には正しいのに、エラーを報告する部分の出力形態を調整しエラーを出さないように変えただけ。