現在地

パソコン

パソコン

PC」以外の各メーカーが独自のアーキテクチャを採用した個人用のコンピュータです。
本体だけでなくオプション・周辺機器なども含みます。

パーソナルなコンピュータのグラフィック事情 (第3回: テレビの利用《後編》)

前回はハードウェアが中心でしたが、今回はソフトウェア的な面について書きたいと思います。

さてテレビに文字表示を行なうコントローラICにグラフィック機能も搭載されていたと書きましたが、どの程度の機能があったでしょうか。

解像度は64×32~256×192程度まで、今から考えるとお話にならないようなものですが、もちろんこれには理由がありました。まず256×192はテレビを使用することからくる制限で、テキスト表示を構成する文字のドットもこの程度です。これが表示できるなら何故解像度を下げた表示があるのかというと、それはメモリの制限です。モノクロで256×192を表示するためには6kBのメモリが必要で、カラーにしようと思えば2~3倍必要になるでしょう。RAMのアクセスタイムも450nsなどというものが普通にあった時代なので帯域の配慮も必要になります。CPUも遅いので必要以上に解像度を上げると描画に時間がかかります。

色数も2~8程度でした。これも同じくメモリの問題が大きかったのです。しかも後述のように色の使用には制限が多く、ドット毎に自由な色をつけることはできませんでした。

パーソナルなコンピュータのグラフィック事情 (第2回: テレビの利用《前編》)

7セグメント表示器8桁程度ではアドレス・データを表示して1バイトずつ書き込むモニタプログラムの実行は可能でも、BASIC言語のようなシステムを動かすには英数字・記号をある程度の文字数表示できる環境が必要になります。テレタイプでもこの条件は満たせますが、高価で大きく家庭に持ち込めるようなものではありません。

やはりCRT (Cathode Ray Tube)モニタを使いたいということになるわけですが、簡単に手に入るものはテレビだけです。そこで何とかテレビに文字を表示することになります。
当時のテレビには外部入力端子はありませんので、放送電波の形式でアンテナ端子から信号を入れることになります。

ビデオデッキやテレビゲームなども初期の頃は同様の方式で接続していました。そのうちにテレビにも外部入力端子が付くようになり、アンテナ端子への接続は減っていきました。

この方式では電波の帯域制限・Y/C分離・ドットピッチなどの問題から実用になるのは1文字8×8ドットで横に32~40文字程度、縦に16~25行程度となります。これなら1文字1バイトとして512~1kBのメモリですみますから当時のメモリ事情でも無理なく実現できます。

パーソナルなコンピュータのグラフィック事情 (第1回: はじめに)

これまで「メモリ事情」「サウンド事情」と書いてきましたが、今度はグラフィック事情について取り上げてみたいと思います。

本当の初期、まだパソコン用のディスプレイがなかったころは以下のような涙ぐましい努力がされたようです。

パーソナルなコンピュータのサウンド事情

以前「メモリ事情」を書きましたが、今回はサウンド事情について書いてみたいと思います。

  1. 初期のサウンドの目的はエラー等の発生時に注意を促すことでした。これならビープで事足ります。
    最も簡単なのは一定の周波数の信号(通常何らかのクロックを分周するが、専用の発振回路でもよい)をソフトウェアでOn/Offして一定時間鳴らす方法です。
    長さもハードウェア処理でも良いのですが、ソフトウェア処理ならハードウェアは1ビットの出力ポートとゲート1つで済むのでこちらが選ばれることが多かったです。

    PC-8001や初期のPC-9801シリーズなどがこの方式でした。

    PC-8001ではOn/Offを高速で切り替えることによって音楽らしきものを鳴らすというテクニックがありましたが、ビープの2.4kHzが混ざってしまうこと、表示のためのDMAによりCPUが停止する期間があり正確な周期でOn/Offできないことから、濁った音しか出せませんでした。

PC-9801F2 FDCボード

カテゴリー:

前にPC-9801F2 (分解編 その1)でFDCボードが抜かれていると書きましたが、それらしいボードが出てきました。

FDCボード 表面
これが本体内の専用スロットに搭載されます。カードエッジコネクタ部には未使用があり、専用スロットなのになんで必要の無い端子があるのか疑問かもしれませんね。

パーソナルなコンピュータのメモリ事情 (第8回: 80386以降)

日本ではPC-9801RAから(PCではPS/2の一部から)搭載された80386になるとCPUのメモリ空間は4GBとなり、しばらくこの4GBの時代が続くことになります。
しかし当時本当にありがたかったのはメモリ空間が増えたことより、仮想86モードが使えるようになったことでしょう。プロテクトモードにいながら8086互換の環境を提供できるようになり、ソフトウェアのみでメモリの再配置が可能になりました。

これにより1MB超にあるメモリの好きな部分を1MB内の好きなエリアに割り当てることができます。これはコピー操作を伴わないので時間はかかりませんし、同じメモリを複数個所にマップしても矛盾は生じません。

  1. ソフトウェアのみでバンクメモリをエミュレーション
  2. ソフトウェアのみでEMSをエミュレーション
  3. 拡張ROMエリアなどメモリ未実装のエリアにメモリを割り当てる

といったことが可能です。1,2ができるので増設メモリはプロテクトメモリ用のみですべての機能が実現できるようになるのでメモリボード選択の悩みもなくなります。3はメモリ管理チェーンに組み込むことでドライバや常駐プログラムのエリアとして使うことができます。

パーソナルなコンピュータのメモリ事情 (第7回: 80286期)

80286が使われるようになるとCPUのメモリ空間は16MBありますのでメモリ問題は解決(一時的なものなので先送りと言った方が良いかもしれません)したかと思いきや、そう簡単ではありませんでした。

80286にはリアルモードとプロテクトモードという2つの動作モードがあります。リアルモードでは8086のソフトウェアがそのまま動作しますが、メモリ空間は1MB (実は「+α」があり、後で出てきます)のままです。リセット後は自動的にリアルモードになるので特別なことはせずに高速な8086として使用できます。一方プロテクトモードでは16MBのメモリ空間が使えますが、ソフトウェアの変更が必要になり、OSもMS-DOSは使えず専用のもの(OS/2など)が必要になります。

ここで皆がOS/2へ移行していれば良かったのですが、DOS互換機能に難(後に80386で解決)があったこともあり多くの人が移行せずDOSを使い続けたためメモリ問題に悩まされ続けることになります。
MS-DOS環境で大きなメモリを使う工夫は8086時代の延長ですが、新たなものも加わりました。

パーソナルなコンピュータのメモリ事情 (第6回: 8086後期)

8086/8088に移行して1MBというメモリ空間を手に入れましたが、すぐに不足をきたすようになります。

PC-9801の発売から4年後のPC-9801VM21で標準搭載のメインメモリは640kBとなり、拡張は限界に達しました。同じ頃、メモリ空間が16MBの80286搭載の上位機種も発売されていますが、8086やV30(NEC製の8086改良版でメモリ空間は1MBのまま)の機種もラインナップとして残りました。また従来機を640kBにまで拡張して使い続けるユーザも多くいました。
これらの機種でも大容量のメモリを使いたいということでいくつかの方式が考えられました。

パーソナルなコンピュータのメモリ事情 (第4回: 8ビット後期)

カテゴリー:

8ビット中期」で書いたバンク切り替えという手法はメモリ空間をいくらでも増やすことができるものですが、活用するプログラムを作成するのはかなり大変です。GVRAMなどには向いていますが、メインメモリを64kを超えて拡張してもなかなか有効には活用されません。RAMディスクなどとして使われることが多かったと思います。

その中でMMUを搭載してこれに立ち向かった機種もいくつかありました。バンク切り替えと大きな違いは、バンクではCPUのメモリ空間の特定の場所にしかマップできませんが、MMUでは好きな場所に出現させることができます。

シャープのMZ-2500や日立のS1がそうです。

ページ