古いレコードも出てきました
コンピュータ関係から離れて、電気からも離れて、古いレコード盤です。
このような袋に入ってダンボールに挟まれた状態で発見されました。袋は厚手の封筒のような紙製で、中央にはレーベルが読めるように穴があいています。
中身を出してみました。ズッシリと重みがあります。直径は25cmほどでしょうか。サイズはLPレコード(最近注目を集めていますね)と似ていますが別物です。
コンピュータ関係から離れて、電気からも離れて、古いレコード盤です。
このような袋に入ってダンボールに挟まれた状態で発見されました。袋は厚手の封筒のような紙製で、中央にはレーベルが読めるように穴があいています。
中身を出してみました。ズッシリと重みがあります。直径は25cmほどでしょうか。サイズはLPレコード(最近注目を集めていますね)と似ていますが別物です。
「出土品」を取り上げるのは久しぶりですね。今回はSony製のSRAMです。
CXK5864BSP-10L、8k×8bit構成の64k SRAMです。データシートをみると「8,192-word × 8-bit High Speed CMOS Static RAM」とあり、「-10L」なので一瞬10ns品を期待してしまいましたが、よく読んだら100ns品でした。70ns,100ns,120nsのラインナップはこの頃のSRAMとしては特別高速ではないと思うんだがなぁ。
一応今回で「グラフィック事情」は最後の予定です。
前回の「ハイレゾ」以降もいろいろな進化がありましたが、力技で面白くないのと私があまり詳しくないので項目だけ並べておきます。
それと書き忘れたことがいくつかあるので、最後にそれを書いておきます。
日本のパソコンでよく使われたコントローラには以下のようなものがありました。
解像度が上がり色数が増えると書き換えなければならないメモリが増え、相対的に速度が低下します。もちろんCPUに余裕があればよいのですが、そうも言っていられません。ここでは当時の工夫や仕掛けをいくつか見ていきます。
まずソフトウェアだけでできる方法です。直線や円などの描画アルゴリズムの選択はもちろん重要ですが、場合によっては続・80系アセンブラのテクニックのような小手先のテクニックが有効な場合もありました。
当初グラフィック描画には(BASIC用に)ROMに搭載されたルーチンを呼び出すことが多かったのですが、各機種用の高速描画ルーチンが雑誌等に発表されるようになりました。同機能で最適化したもの、頻繁に使う機能に絞ってさらなる高速化を実現したもの、より多機能化したものなどいろいろありましたね。ソフトメーカも独自に作っていたはずです。
640×200, 640×400ドットが実現すると、次なる改良の方向は使える色数の拡大へと向かいます。
あたりが理由でしょう。
最初はソフトウェアだけでできるタイルが使われました。
当時大きな画像は線を繋げて輪郭を作り、その中を塗りつぶすという手法がよく用いられました。
さらに一部の機種では640×400ドットが使えるようになりました。
日本語(漢字)を表示したときに12行ではやはり不便であること、ドットが極端(約1:2)な縦長では使いにくかったことが理由だったのではないかと思います。
これには大きく2通りのアプローチがありました。
一つはFP-1100などで使われた方式です。モニタは640×200で使われていた水平同期周波数が15.7kHzのものをそのまま使用し、インターレススキャンすることにより縦方向の解像度を倍にするのです。実質的な垂直同期周波数が半分になるので若干のちらつきが発生しますが、使えないほどではありませんでした。またインターレスで使うことを想定した長残光性のモニタもありました。
前回書いた専用モニタの登場で640×200ドットのグラフィックスの実現は目前となりました。残るはメモリ容量とその大容量メモリを書き換えるCPUパワーの問題です。
この頃サードパーティーからグラフィック機能を追加するハードウェアがいろいろと発売されました。
HAL研究所のPCG (Programmable Character Generator)は文字フォントを自由に定義できるようにしたものです。定義できるのは128個までなのでTMS9918のグラフィック2モードのように画面中に並べることはできませんでしたが、ゲームのキャラクタを表示するのに都合よく、対応したソフトウェアも多くありました。
PC-8001用にはFGU-8000/8200というモノクロですが640×200ドットのグラフィックを実現するユニットもありました。
メモリ容量の進歩は早いので解決は時間の問題です。1981年ごろからは富士通のFM-8やNECのPC-8801といった640×200ドットでドット毎に(制約なく)8色が使えるパソコンが発売されます。そしてこれが日本のパソコンの標準的なグラフィックとなり、その後の多くの機種が追従していくことになります。
2回にわたりテレビに表示する話を書きましたが、やはり実用的に使おうと考えるとテレビではうまくありません。32桁×24行では文字数が不足ですし、滲みもひどく長時間の使用には向きません。
パソコン本体価格がある程度以上の機種では専用モニタの使用を前提に、テキスト表示が40桁×25~80桁×25程度のものが多くありました。1文字は8×8ドットが普通でしたから640×200ドットに相当しますが、まだメモリが高価でそれだけのグラフィック機能はつめません。やはり1文字のエリアをいくつかのタイルに分割するセミグラフィックが主流でした。
この頃の代表機種としてNECのPC-8001とシャープのMZ-80Kについて説明したいと思います。
PC-8001のテキスト表示は最大で80桁×25行表示、文字色は8色から選べ背景色は黒に固定でした。この表示のためにメインメモリから約3kBが使われます。セミグラフィック表示は文字フォントの代わりに2×4分割したタイル(文字コードは8ビットなので8つのタイルのOn/Offを表現できます)を表示します。色は文字単位で黒ともう1色が使用可能、また文字単位でテキストとセミグラフィックを混在させることもできます。
前回はハードウェアが中心でしたが、今回はソフトウェア的な面について書きたいと思います。
さてテレビに文字表示を行なうコントローラICにグラフィック機能も搭載されていたと書きましたが、どの程度の機能があったでしょうか。
解像度は64×32~256×192程度まで、今から考えるとお話にならないようなものですが、もちろんこれには理由がありました。まず256×192はテレビを使用することからくる制限で、テキスト表示を構成する文字のドットもこの程度です。これが表示できるなら何故解像度を下げた表示があるのかというと、それはメモリの制限です。モノクロで256×192を表示するためには6kBのメモリが必要で、カラーにしようと思えば2~3倍必要になるでしょう。RAMのアクセスタイムも450nsなどというものが普通にあった時代なので帯域の配慮も必要になります。CPUも遅いので必要以上に解像度を上げると描画に時間がかかります。
色数も2~8程度でした。これも同じくメモリの問題が大きかったのです。しかも後述のように色の使用には制限が多く、ドット毎に自由な色をつけることはできませんでした。