2023-08-06 21:37 — asano
カテゴリー:
その2で市販トレーニングキットと同じように使えるようになりました。
しかしまだハンドアセンブルしたバイナリを入力して実行することしかできません。何らかの高級言語を使いたいところです。そうなると16進キーパッドや7セグメントLED表示器では不足です。
というわけで......
キーボード
16進キーパッドと異なりスイッチを並べて自作するのは難しいですが、当時でもキーボードは入手できたようです。
もちろんUSBのような共通のインターフェイスがあったわけではありません。単にキースイッチが並んでいるだけで自分でマトリクスを配線しなくてはならないもの、マトリクスの配線までされているもの、エンコーダまでついているものなどがあったようです。マトリクスタイプならキーパッドの数が増えただけのようなものなのでソフトウェアの変更は容易でしょう。
ディスプレイ
表示装置そのものの製作は困難なので既製品を利用します。最も安価なのはテレビで代用する方法で、ビデオ入力が無い場合はRFモジュレータを用意してアンテナ端子から入力します。
とりあえずTiny BASICあたりを動かすだけなら32×16文字程度でもなんとかなりますが、将来的にCP/Mなどを動かすなら80×24文字欲しいところです。この場合テレビで代用するのは無理で専用ディスプレイを購入することになります。
機能としては英数字と記号が表示できれば十分です。フォントROMは標準品が売られていました。
ここまでくればTiny BASICなどパソコンっぽい使い方が可能になります。さらに本格的に使おうと思えばCP/Mなどの汎用OSを動かしたくなります。そのためにはさらなる拡張が必要です。
メモリ追加
CP/M-80を実用的に使うのなら64kBのRAMは必要です。
1980年前後だとSRAMでこの容量を搭載するのは困難なのでDRAMを使うことになります。
フロッピーディスク
ドライブは買うことになりますが、かなり高価だったので中古品を使うことも多かったようです。
CP/Mを使う場合は供給ディスケットが8インチ片面単密だったのでこれが読めるドライブが条件です。80年代に入ると5.25インチのドライブも入手できるようになり、また各パソコンメーカが自社製品用に移植販売していたCP/Mディスケットを流用することで8インチに拘る必要は無くなりました。
CP/Mが動けば一般流通しているソフトウェアをそのまま自作マシンで実行できるわけで一気に可能性が広がります。高機能なエディタに各種言語処理系など豊富にありましたが、やはり高価なので多くは買えません。フリーなソフトウェアも存在はしていましたが、ネットもない当時は情報を得るのも難しかったと思います。
本格的なアセンブラが使えるようになったのでここまで拡張を繰り返してきたソフトウェアの整理をするのがいいかもしれません。
コメント
昔話
個人的に初代PC-8001のキーボードのタッチが最高でした。ダイオードのデコードサボりで同時キー入力で変なキーコードが出力されました。
ディスプレイは、高解像度という言い方はまだしていなくて、高分解能と言っていた気がするが、いつ頃の話だったか?
単純計算で3倍だから高分解能が欲しい場合、カラーテレビでなくモノクロテレビのブラウン管を使うのが普通だった気がする。
DRAMの集積度が上がると、Z80内蔵のリフレッシュアドレスが足りなくて、簡単に使えない物もありました。
後になると、ヒドンリフレッシュによりDRAM外部からリフレッシュアドレスを与える必要がなくなり解決しました。
もっと後になると、256KbitのSRAMとROMでZ80の16bitアドレス空間を埋められるようになり、技術の進歩を感じました。
CP/Mの5インチディスクは機種毎にフォーマットの互換性がなくて、後にMS-DOSに負けた原因の一つと思います。
Re: 昔話
変なキーコードありましたね。スペース+カンマ+ピリオドでファンクション5が入力されるとか。
以前エミュレータ書いたときに再現しようとしたんですが、対角の回り込みまででそれ以上の複雑なルートは対応しませんでした。
モノクロを使うのはブラウン管の物理的な問題以外にも、コンポジット信号からの色分離時の問題を避けるためでもあったと思います。
8ビットリフレッシュの奴は...... 外部カウンタで1ビット増やすとか、割り込みでRレジスタのMSB書き換えるとか、手段はあったようですね。
私はこの時代よりはちょっと後だったのでZ80はSRAMで乗り切って、68000にSIMM付けたときはDRAMコントローラ使って手を抜きました。
コメントを追加