超暇人MSX

MSXはMSXであるコト

ソフト移植とは何か?

あるコンピュータ機種やゲーム機で発売されているソフトを、別の機種や別のゲーム機でも動くように改造して公開する場合に、よくソフトを“移植”したと表現します。80年代のパソコン←→ゲーム機←→アーケード間の移植は、特定の相性の良い機種間を除けば、実質一からその機種用に作り直す“リメイク”で、プログラムやデータをそのまま他の機種に移し変えるわけではありません。しかし80年代のパソコン同士では、CPUやOSが同等だったり、ゲーム機よりは多いメモリを利用して元のソフトのプログラムやデータを出来るだけ流用した、文字通りの“移植”が行われていました。パソコン市場の規模も今ほど大きくは無かったので「出来る限り安く早く」という感じの会社も多かったのでしょう。

もうちょっとなんとか・・・

スクウェアが移植 オリジナルのPC系ドラスレ1
ちゃんと塗ってみると

上はFalcomのPC版「ドラゴンスレイヤー」で、X1版もFM-77版も画面はそっくりです。左上はそれをSQUAREがMSX1に移植したもの。ゲームは同じですが、絵があまりにも・・・。

左は私が左上の画面に“形状&色テーブルを見ながらMSX1のルールに従って”無理が無いよう着色したものです。もしこの要領で色テーブルの全てに色を付けて元のROMイメージにパッチを当てても、画面の周りに壁パーツを配した以外は単に色を変えるだけですから、全く同じ様に動くハズです。当時のSQUAREが初めからこの様な画面で作っても、十中八九は同じ容量のROMで収まると思います注1

色テーブル全体と言っても、ほんの1日、2日、色着け作業するだけなのにそれをしない。MSXにはこーいう手抜き移植がやたらに多かったのです。そりゃ営利会社として「出来る限り安く早く」は必然でも、だから手抜きして良いわけではないでしょう。

注1.ちゃんと解析してないけど、この場合だと32KROMで空きが1Kほど、で1〜2K増える    ので、もし32Kで収められないと64K。当時なら定価1000円アップ、SQUAREの制作    費も(1本500円増として)250万円上乗せとなり、それが無理でアレだったり?

ページのTOPへもどる

移植可能度分布図??

移植可能度分布??実際にここからここまでと奇麗に分割線が引けるわけではありませんが、他機種用にソフトを一から作り直すことを “リメイク”、可能な限りソースやデータを流用する場合を “移植” として、8ビットと16ビットの様に格段に性能が違うならともかく、同世代機種間のソフト“移植” が成功するか否かは「それらの機種同士の“構造” がどのくらい似ているか?」が大きなウエイトを占めている、というのが私の持論です。仮にCPUや音源等のパーツが違ってもアーキテクチャー(計算機構造)が似ていれば、比較的上手く移植できるのです。
 これは、私の持論をテキトーに図に表した、主な「80年代国産8ビット機間のソフト移植可能度分布図」です。ピンクの四角が理想的な8ビットコンピュータ枠で、四角内を埋めるほど完全な8ビットパーソナルコンピュータになります。
 2段目が、それぞれの機種の分布を重ねたもので、重なった部分を赤くしてあります。赤い部分が多いほど性能が似ているわけです。PC-8801とX1はほとんど重なっています。MSX2とPC-8801では、中央部と左右が重なりません。PC-8801とファミコンではあまり重なりません。MSX2とファミコンでは、ファミコン部分がかなり重なっています。
 3段目は、重なった赤い部分のみを取り出したものです。これは移植した際の完成度を表します。この形が元の分布に近いほど、移植時の再現度が高いのです。ほぼ元の形であるPC-8801とX1はどちらからでも損なうこと無く元のソフトを移植できるでしょう。MSX2とPC-8801では、88らしき形は見えるので、8801からMSX2への移植は工夫次第で成功しそうですが、あまりMSX2の形には見えないので、MSX2から8801への移植は苦戦するでしょう。ファミコンと8801では、残念ながらどちらの形にも見えません。MSX2とファミコンでは、ファミコンらしい形が見えますので、ファミコンからMSX2への移植は努力しだいでは上手く行きそうです。因みに、この4機種の中ではファミコンだけCPUが違うので、プログラムの “流用” という場合でもアセンブリソースの“翻訳”という手間は入ります。両方のCPUを知っている人なら “翻訳” も “改造” も同じ事です。

ページのTOPへもどる

移植はするな!!

PC-8801→MSX移植右の図は、PC-8801とMSX2のメインメモリとビデオメモリの構成を簡易的に図に表したものです。
 黄色い太線の上側がPC-8801で、灰色の四角がメインメモリ64K、水色の枠が表示域=ビデオメモリ48Kです。ビデオメモリの読書きは、一時的にメインメモリの一部とビデオメモリの各色部を入れ替えて行います。緑の線(バス線)の先はCPUのZ80等に繋がっています。
 黄色い太線の下はMSX2で、128Kあるビデオメモリのどこでも連続した27Kを表示枠に指定できます。メインメモリとの間にはVDPというグラフィックチップがあります。緑の線の先はPC-8801と同じくZ80等に繋がっています。
 なお、MSX2とPC-8801それぞれのビデオメモリとメインメモリを表す四角の大きさは、おおよそ本当のメモリの大きさの比率になっています。
 PC-8801でゲームを作る際は、メインメモリに細切れになった画像を置いて、必要ごとに随時ビデオメモリ(=画面)に送るという方法をとります。細かいパーツを重ね合わせて逐一新たなマップを作ったり、ゴチャゴチャと沢山の小さいキャラを動かすには好都合です。しかし、その方法をそのままMSX2に持って来る、すなわち “PC-8801ソース流用移植” すると、不都合のオンパレードになります。
 MSX2でゲームを作る際は、初めに4画面分あるビデオメモリに全てのマップパーツを置いておき、VDPを挟んで通路の長いメインメモリとビデオメモリのやり取りを少なくします。VDPは大きい画像ほどコピーの割合が速いので、ビデオメモリにはPC-8801とは逆に、なるだけ完成画像を置きます。VDPが画面を書いている間に、CPUのZ80には別の仕事をさせます。動くキャラは出来るだけスプライトを使います。1画面だけでなく2画面を表示用にキープすれば、交互に表示して見せていない方を書き換えればいいので、瞬時に効率よく画面を切り替えられます。
 PC-8801からそのまま “移植” すれば、このMSX2の方法は全て使えません。その上、重ねるパーツが要るたびVDPに命令して作らせなければいけませんし、VDPが出来ない加工は一々メインメモリに運んで処理し、またビデオメモリに戻すので、通路が長いという弱点ばかりを繰り返す羽目になります。PC-8801には無いスプライトも使いませんし、VDPとZ80を並列して使う様なアルゴリズムにもなっていません。同時表示色8色をタイリングで補うPC-8801画像を真似しても、ピクセルが荒めの所を512色中16色の色で補うMSX2本来の画像の方法ではありません。つまり、PC-8801からMSX2への “移植” は、何一つ良い事は無いのです。
 この場合“逆も又真なり”で、MSX2発の人気ソフトは、「アレスタ2」や「サイコワールド」「アンデッドライン」等々、大抵MSX2ハードの特徴が活かされていますから、タイプの違うPC-8801への “移植” は至難です。実際、これらのゲームは後発ゲーム機で “リメイク” されましたが、PC-8801には “移植” されませんでした。

ページのTOPへもどる

リメイクせよ!!

PC-8801を代表するゲームに「イースIII」こと「ワンダラーズ・フロム・イース」や「ソーサリアン」があります注1。後発ゲーム機でも発売されましたが、PC-8801のゲームををPCエンジンやメガドライブに “移植” するのは不可能なので、それらの「イースIII」や「ソーサリアン」は “リメイク” であり、評判も良いようです。
 しかしPC-8801版を “移植” したMSX2版は、上記のPC-8801方式をフルに使用したアルゴリズムをタイプの違うMSX2に無理矢理持ってきた為、MSX2のハードが全く活かせていないのです。この例だけではなく、かなりのPC-8801系→MSXシリーズ移植ソフトに多かれ少なかれこういう傾向があります。無理矢理“移植”出来てしまうMSX2の器用さが逆に仇となるのです。
 PC-8801で一番売れたゲーム「ザナドウ」のMSX1“移植” は無理があると見たFalcomはアレンジして “リメイク” しました。その “リメイク” MSX1版は、画面の解像度以外ほとんどPC-8801そのまま “移植” のMSX2版より好評です注2。ファミコンの “リメイク”「イースIII」は多重スクロールしませんが、PC-8801版を “移植” したMSX2版より快適です。メガドラ版“リメイク”「ソーサリアン」は、PC-8801版より軽快かつ単純明快なので、PC-8801版と違う事を怒る人は無く、シリーズ「最高傑作」だという人も少なくありません。“リメイク” は、一からその機種用に作りなおすのだから “移植” より無理なところが無く、“移植” よりハードの性能を使いこなせるのは当然であり、“移植” より良く出来る可能性が高いのです。つまりゲームさえちゃんと出来ていれば、アレンジ版の「MDソーサリアン」「FC悪魔城ドラキュラ」「PCEイースI・II」「MSXグラディウスII」で良いワケです。
 MSXにはPC-8801や海外他機種からの “移植” ではなく、ちゃんと “リメイク” してくれてたらなぁというソフトが本当に沢山ありました。

下はMSX1の傑作ゲーム「IOTZM」で、快適な操作性で背景2重スクロール+キャラ重ね合わせ処理をします。「イースIII」や「ソーサリアン」も、1からキチンとMSXのハードに合わせて “リメイク” すれば、MSX2はもとよりMSX1ですら画面の質感は変わってもパフォーマンスはPC-8801版に遜色なく出来るでしょう。

2重スクロール 重ね合わせもバッチリ

注1.当時のFalcomの社長はPC-8801の熱心なファンで、破竹の勢いだったファミコン     に対抗する為にファミコンに出来ない事すなわち「ソーサリアン」の“4人パー     ティ+敵のゴチャキャラ+沢山の魔法アイテムの組み合わせ”や「イースIII」     の“多重スクロール”を考えたという

注2.“そのまま”と書くと怒り出す人が居るから困ってしまう。88と同タイプのX1や     16ビット機9801への移植さえ100%全く同じには出来ないが、当時も今もシナリ     オが同じでイベントやアイテムが抜けて居らず画面配置も大体同じで同様に遊べ     る場合に“完全移植”という言葉はよく使われる。“そのまま”は“完全”より     も弱い表現だと思うが・・・

ページのTOPへもどる

このページは、1024×768画面に合わせて作りました。ちゃんと見えなかったらスミマセン