2020/9/20 | 投稿者: ghost

コミックマーケット方面でビンテージPC向けゲームを展開している @BCatSoftware が以下のようなアンケートを採っている。


結論から言えば「MSX2以降用のゲーム開発者は初期化処理中において明示的にVSYNCを設定すべき」という簡明な定言に落ち着くのだが、ボク自身長く関心のあった話題でもあるので、もう少し展開しておくことにしよう。

家庭用テレビに接続して利用することが前提とされていたMSXでは、当時世界的に二種類あったテレビの垂直同期周波数に対応して、VSYNCが50HzのMSXと、60HzのMSX、の二種類が存在した。VSYNCは、MSX的にはZ80に対するタイマー割り込み信号の発生元でもあることから、世界統一規格であったはずのMSXには、そもそも割り込み発生間隔の異なる二種類のMSXがあった、ということになる。

こと、ゲームの実装に限って言えば、タイマー割り込みは体感されるゲーム速度を一定に保つため、そして、根は同じことになるがBGMの演奏に利用される。その発生間隔が異なる二種類のMSXが存在した、ということは、一方のVSYNCを前提として開発されたソフトウェアをもう一方のVSYNCのMSX上で実行すると、見た目上の速度に変化が生じることになる。具体的には、日本(VSYNC 60Hz)で開発されたMSXゲームをオランダ(VSYNC 50Hz)で流通するMSXハード上で実行すると、体感速度・BGM演奏テンポが1.2倍遅くなる。

ボクの知る限りにおいて、少なくともMSX規格が立ち上がった1983年当時、この問題は事実上無視されていた。あらゆるものが瞬時に世界中でシェアされる今日を生きる我々からはなかなか想定し難いが、国境を越えてソフトウェアを頒布・交換することは一般消費者レベルではほとんど考えられないことだったので、実害が生じなかったからである。

続きを読む
タグ: MSX Z80




AutoPage最新お知らせ