トップ > 興味のあること > コンピュータ > ハードウェア > パーソナルコンピュータ

自作6809マシン

1999年12月31日

「マイコン」の存在を知ったのが1978年頃だったので、 おそらくは1980年あたりからちまちまと作っていた。

当時は高校生で、いまに輪をかけて金がない。 で、雑誌を参考にして回路を設計し、 夏休みのバイト代でH68/TR用の拡張ボード*1 とラッピング用のICソケットだけを購入する。 配線だけは済ませて、テスタで間違いがないかどうかチェックする。

*1 1979年頃に市販されていた、 日立のマイコンキットH68TRと同じサイズのユニバーサル基板。 当時でも7800円という、たいへん高価なボードだった。 これを選んだのは、参考にしていた雑誌記事で推薦されていたため。 確かに丈夫で、多少半田づけを失敗した程度では、 ランドパターンはびくともしなかった。

その次の冬休みで貯めたバイト代を握りしめ、 メモリとCPUとTTLを買い込んだ。 ようやくソケットに差し込んで、動作を確認できる。 おかげで、当初6802*2を使うつもりで設計していたのに、 実際に購入したCPUは6809*3。 性能は上がっていたが、回路設計と配線はやり直すハメになった。

*2 モトローラのCPU。 初代は6800だったが、 これをハードウェアレベルで実装が楽なように改良したチップ。 ソフトウェア的には完全互換。 セカンドソースとして富士通もあり、 ここから発売されていたMB8871を使うつもりだった。 このチップは、 インデックスアドレッシング時にオフセット値としてアキュムレータの内容を使えるという、 命令拡張がされていたのだ。
*3 これもモトローラのCPU。 6800との上位互換を保ちつつもかなりきれいな命令体系だった。 アキュムレータをインデックスアドレッシングのオフセットに使うというのも、 きちんとサポートされていた。 発表当時これを紹介したアスキーの誌面で「究極の8ビットCPU」というキャッチフレーズを読んだ覚えがある。 まるでF-104である。

次の夏休みにもバイトに精を出し、こんどは画面表示回路の実装である。 CRTCとNTSCチップのふたつで、比較的簡単に作れたように記憶している。 チップの型番は忘れてしまった。 TV画面に32文字16行程度の表示だったが、うれしかった。 グラフィックモードもあったので、 ライフゲームなどを作って遊んでいた。

え、画面表示回路実装以前にどうやって使っていたのかって? スイッチとLEDだ。 CPUを止めて、 スイッチでアドレスを指定してからアドレスセットスイッチをON。 次に書き込むデータをセットして、ライトスイッチをON。 結果はリードスイッチでLEDに表示していた。 モニタも何もないので、 実行するプログラムをいきなり書き込んで走らせる。 処理が終わったら、 自分自身へジャンプする命令を書いて無限ループさせておく。 もちろん、ハードディスクもフロッピーディスクもテープもなし。 どこかにミスがあって暴走したら、最初からやり直しである。

そのまた次の冬休みで稼いだバイト代は、 キーボードとメモリボードに化けた。 8KBという、いまから考えると小さなものだが、 当時はかなり広かったし、メモリチップも16個使った。 ROM用のソケットも用意してあったので、 ここに簡単なモニタも入れてみた。 ハンドアセンブルで作ったモニタだが、 500バイトもなかったと記憶している。 もちろん、これだけでキーボードの読み込みと画面への表示、 そしてメモリの読み書きやプログラムの実行が可能だったのだ。

なにせ、ソフトからすべて自分で作ったので、とても勉強になった。 いまあるのは、このマシンを作ったおかげだと思っている。