螺旋を描いて…

螺旋 のごとく続く毎日を綴ります

PCG・略語の思い出・94…

先ほどの「MSXMicroSoft eX)」の、表示部分のプロセッサーです。

「PCG(Programmable Character Generator)」です。

 

MSXにもグラフィックモードがあり、BASIC(Beginner's All-Purpose Symbolic Instruction Code)でも、点が打てたり円が描けたりしましたが、正直、あまり使いやすいものではなく。

その理由の一つが、MSXの画面システムが、実はキャラクタベースであることも、あったと思います。

すなわち、画面は8×8のキャラクター、つまり文字が敷き詰められていて、その内容を書き換えることで、画面表示を実現していたわけです。

 

普通に使おうと思えば、英数字にカナ、記号があれば充分で、もちろんそれらもありますが、各文字の色や形は、自由に書き換え可能。

ROM(Reaf Only Memory)ではなく、RAM(Random Access Memory)で利用することで、柔軟性を高めたわけです。

 

それらは、VRAM(Video Random Access Memory)という特別な領域を使って、管理していました。

VRAMは各文字の色や形、何をどこに表示させるかなどを、制御できました。

当時としては大きなデータ転送になるため、通常はアセンブリ言語機械語)を使いますが、BASICからでも、「VPOKE」命令で、VRAMを直接書き換えることが出来ました。

アドレスさえ合っていれば、BASICからも直接、表示内容を操作できたわけです。

なお、「VPEEK」命令で、読み出しも可能です。

 

一つの文字(パターン)の書き換えで、画面中の同じ文字を、一度に書き換えれば、疑似スクロールの表現も出来ましたから、ゲームを作るには、いい性能だったと思います。

 

…管理は8×8単位、1つの文字で、背景色も含めて2色しか使えない、動く小さなセルである、スプライトとの衝突判定がない(スプライト同士のみ)など、あと一歩感もありますけどね。

 

それでも、多くのゲームが発売されたあたり、ゲーム制作に耐え得る環境だったんだと思います。

 

バージョンアップし、MSX2になったのは、2年後。

従来仕様の他に、「ビットマップグラフィック」という、新しいモードが追加されました。

 

各ドットに1バイトずつ与え、RGB(Red-Green-Blue)の色情報を、直接書き込む方式です。

1バイトは8ビットなため、赤・緑は3ビット8段階、青だけ2ビット4段階にはなってしまいますが、256色をわかりやすく表現できる、画期的な方式と言われました。

今も、RGB各1バイトに揃えて、そのまま使われています。

 

しかし、この頃には既に、ゲームではファミコン、プログラムではなく各社の上位機、という図式が出来てしまい。

MSXシリーズは中途半端、というイメージがついていまいました。

 

なのでか、MSX2の性能に特化した作品って、数が少ないんですよね…。

 

そろそろ使われ出した、漢字の表示機能や、FM音源(Frequently Modulation)が、いずれも非搭載でしたが、逆に載せたら、価格で勝負出来なかったかも知れません。

苦渋の決断だったかなと、察します。

 

なので、MSX2になっても、MSX1時代のソフトの再生が多い以上、PCGの天下だったかな、と。

いろいろ制限はあったにせよ、通常のテキストベースからグラフィックまで、非常に汎用性の高い、優秀なシステムだったと思いますよ!

 

 

次の略語は、こちら

kiha-gojusan-hyakusan.hatenablog.com

 

前の略語は、こちら

kiha-gojusan-hyakusan.hatenablog.com