先ほどの「MSX(MicroSoft 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
前の略語は、こちら