やじうまPC Watch

「DOOM」がFM TOWNSに移植。有志開発

 PCゲーム全般についてはてなブログで投稿している“BCC”氏は、FPSゲームの金字塔である「DOOM」を、富士通のレトロPC「FM TOWNS」に移植したことを報告した。移植版はGoogleドライブからダウンロードできる。

 動作対象機種は、CPUが486以上で高速モード設定推奨、メモリが8MB、HDD必須、TownsOS V2.1 L40以上推奨(MS-DOS 6.2を組み込んでいる場合は10MB以上のメモリがないとメモリ不足で起動しない可能性)。このため、事実上は「FM TOWNS II MX」以降向けで、FM TOWNS マーティーでは動作しない。

 FM TOWNSは1989年より販売開始となった富士通製PC。初代はIntel 80386を搭載し、世界で初めてCD-ROMドライブを標準搭載、1,677万色中256発色、同時8音が可能なPCM音源といったスペックを持つなど、当時としては画期的だった。その一方で、これまでさまざまなプラットフォームに移植されたDOOMが移植されておらず、プレイするにはFM TOWNS用のLinuxやWindows 95を導入しなければならなかった。

 DOOMはライバルであるPC-98に公式で移植されたほか、Linux版ソースコードが公開されたことにより、32bit CPUを搭載したATMやデジカメですら動作できてしまうため、ハッカーたちの移植ネタとされてきたのだが、FM TOWNSはDOOMをプレイできるスペックであるにもかかわらず、移植されず放置されていたわけである。BCC氏は、この24年間の悔しい思いを晴らすため移植を決行。1カ月間の試行錯誤の末、ようやくある程度完成できたという。

FM TOWNSエミュレータ「津軽」で動作しているDOOM II
終了メッセージもFM TOWNSオリジナル仕様

 ちなみにBCC氏によれば、DOOMが移植の格好の的となっているのは、「プログラムに環境依存となる部分が本当に少ない、かつ環境依存部にしてもまとまっているから、見た目のインパクトに対して実装コストが低い」ためだという。ソースコードでは数十のCファイルがあるが、このうちファイル名の先頭に「i_」と付く4~5ファイルだけ書き換えれば移植でき、そのソースにある関数もそれほど多くないのだという。

 FM TOWNSに関して言えば、IBM PCで35分の1秒経過フレーム数を返す関数や、キーボード入力の取得関数、グラフィック表示を行なう関数、浮動小数点の除算関数で調整が必要だったが、同氏は当時公開された再配布可能なライブラリなどを駆使して解決した。

 ちなみにゲームにはシェアウェア(体験)版のエピソード1(DOOM1.WAD)のみが入ってる。エピソード2以降はSteamなどで購入し、WADファイルを自身でコピーする必要がある。