MSXturboR

テクノロジー



MSXturboR, by Wikipedia https://ja.wikipedia.org/wiki?curid=2074491 / CC BY SA 3.0

#MSX
MSX 」 MSXturboR MSXturboR(エム・エス・エックス・ターボアール)とはMSX規格の一つで、MSX2+の後継規格として1990年に発表された。
MSXturboR が正式な表記で、MSX TurboR のようにスペースを開けたり、「T」を大文字で表記するのは正しくない。
16ビットCPUの「R800」を採用し、MSX2+まではオプションのMSX-DOS2、MSX-JE、MSX-MUSICを標準搭載する。
また、turboRのRはR800のRを意味する。
一連のMSX規格で、最後の規格となった。
R800 CPU FM音源(OPLL) YM2413 MSX-ENGINE2 T9769 (写真はVer.C) システムLSI S1990 ザイログ社 Z80A相当品(クロック周波数3.579545MHz、割り込みはモード1)+アスキーR800を搭載し、排他使用。
MSX2+比で平均10倍(5~20倍)の高速化 MSX2+準拠 MSX2+準拠 FS-A1ST:256KB FS-A1GT:512KB MSX1準拠+MSX-MUSIC(ヤマハ YM2413) MSX1準拠 turboRでのR800の入力クロック周波数は28.636360MHzだが、実動作クロック周波数はそれを内部で1/4に分周した7.15909MHzだった。
ただしR800は、Z80の大半の命令を1クロックで実行できるなど、同一クロックにおける実効速度がほぼ4倍速であるため、カタログでは「Z80換算で28MHz相当」という巧妙な記述がなされた。
turboRは従来のMSXとの互換性を維持するために、Z80相当品(MSX-ENGINE2)と、R800使用時のZ80バスサイクルエミュレーション機能を搭載するシステムLSI S1990を実装している。
R800自身はメモリー管理なども含めハードウェア、ソフトウェア共にZ80を拡張したCPUであるが、turboRではそれらを使用せず、乗算命令の追加された高速なZ80として使われている。
R800は、Z80A相当のCPUと排他的に使用するようになっており、双方のCPUを同時に使用することは出来ない。
turboRもまた、その規格の柔軟性を生かし、モードスイッチなどによらない起動モードの選択が行われる。
起動時にBIOSが判定を行い、従来のソフトウェアは自動的に互換モード(Z80)でMSX2+相当として動作するようになっていた。
ソフトウェアにより起動後も切り替えが行えることもあって、ブートブロックの書き換えにより強制的に高速モードで動作させるツールや、あらかじめシステムの一部をフックした上で処理を移すことによって任意で動作を切り替えられるようなソフトウェアも制作された。
ただし、従来機種用のソフトウェアではタイミングが大きく変わってしまうため保証外であり、実際にZ80の挙動に強く依存したソフトウェアでは不具合が出ることもあった。
また、turboRリリース後に発売されたゲームの中にはMSX2/2+用として発売されながら、高速モードで動作するゲームもあった。
MSXturboRは従来機同様、MSX2で追加された仕様であるメモリー・マッパーを使用してメインメモリーを拡張し、日本語対応のMSX-DOS2を内蔵した。
内蔵のメモリーマッパーはS1990の仕様による制限があり、512KiBまでは正常に実装可能であるが、マッパーレジスタが6bitまでしかデコードされておらず、1MiBに実装した場合でも、マッパーレジスタの読み込みに問題が生じる。
改造により本体に直接メモリを増設した場合、これを原因として動作しないアプリケーションもある。
開発中とされた新規VDP(V9990)の採用は見送られ、MSX2+と同じV9958を採用したが、これによる表示が著しく全体のパフォーマンスの足をひっぱる形となっている。
MSXの構造上、VDPを経由しなければVRAMにアクセスできず、VDPへのアクセスそのものがMSX2+よりも多くのウェイトが掛けられるようになっている。
描画を行わないソフトウェアでは高速な動作をするものの、描画処理が増えるほどVDP自体の処理速度に依存してしまい、表示そのものに纏わる処理によって遅いソフトウェアについては、旧機種に対し、高速モードのパフォーマンス的な優位性は示せなかった。
ただし、後期にはCPUパワーを生かし、Z80では間に合わなかった処理を垂直同期割り込み期間中に行うことで、より高度な処理を見せるプログラムも現れた。…

Comments

Copied title and URL