Apple-I互換機の液晶パネルの制御プログラムをアセンブラで書き、FASMでアセンブルした。FASMはNES用のアセンブラであり、オブジェクトフォーマットはAAXと書かれていたが、中身を見ると単なるモトローラS形式だ。
そこで、CでS形式からApple-Iモニタメモリ入力形式への変換プログラムを書いて、TeraTermからファイル送信で、Apple-I互換機にアップロードする。
端末設定で、受信の改行をCR+LFにすることと、シリアル設定で、送信遅延を2mS以上取ることに注意する。(シリアルコントローラの受信部の問題?)
Spartan-3E starter kitのマニュアルを参考に、LCDパネルコントローラにコマンドを送るプログラムを作成。
遅延時間を微調整したりしたが、とりあえず、無事、画面表示はできるようになった。
ちなみに、プログラムは…
0800: A9 01 85 10 A9 03 20 E0 08 20 FB 08 A9 03 20 E0 08 20 F2 08 20 F2 08 20 F2 08 A9 03 20 E0 08 20
0820: F2 08 A9 02 20 E0 08 20 F2 08 A9 28 20 BD 08 20 F2 08 A9 06 20 BD 08 20 F2 08 A9 0C 20 BD 08 20
0840: F2 08 A9 01 20 BD 08 20 FB 08 A9 48 20 C7 08 20 F2 08 A9 65 20 C7 08 20 F2 08 A9 6C 20 C7 08 20
0860: F2 08 A9 6C 20 C7 08 20 F2 08 A9 6F 20 C7 08 20 F2 08 A9 21 20 C7 08 20 F2 08 A9 C0 20 BD 08 20
0880: F2 08 A9 41 20 C7 08 20 F2 08 A9 50 20 C7 08 20 F2 08 A9 50 20 C7 08 20 F2 08 A9 4C 20 C7 08 20
08A0: F2 08 A9 45 20 C7 08 20 F2 08 A9 2D 20 C7 08 20 F2 08 A9 49 20 C7 08 20 F2 08 4C 00 FF 48 A9 01
08C0: 85 10 68 20 D1 08 60 48 A9 03 85 10 68 20 D1 08 60 48 4A 4A 4A 4A 20 E0 08 68 29 0F 20 E0 08 60
08E0: 8D 21 D0 A5 10 8D 20 D0 EA EA EA EA A9 00 8D 20 D0 60 A9 C0 85 11 C6 11 D0 FC 60 A9 80 85 12 20
0900: F2 08 C6 12 D0 F9 60