JavaScriptを有効にすると、ここにメニューを表示します。

ysflight.com

 

Free FM TOWNS Projectについて

このプロジェクトは、完全自己完結型FM TOWNSエミュレータの実現を目指しています。あるいは、将来誰かFM TOWNS互換機をFPGAとかで作ろうとかいうプロジェクトを始めたとき、フリーに使えるROMを作っておくことも目的としています。

富士通が1989年世に送り出したパソコンFM TOWNSは世界で初めてCD-ROMを標準搭載したことで、FM TOWNS用CD-ROMソフトが多数発売されました。そして、CD-ROMメディアは正しく保管すれば相当な長期間維持することができます。他のレトロPCと比べて今でもまったく問題なく実行可能なソフトのメディアが多数存在して、そしてそれを合法的に中古ソフトショップ、オークションなどを利用して購入することができます。

しかし、その実行環境は急速に失われつつあります。FM TOWNS本体、とくに内蔵CD-ROMドライブの故障が多く発生します。FM TOWNSは他社に先駆けてCD-ROMドライブを搭載してしまったもんだから、内蔵CD-ROMドライブはまったく標準規格とは違った仕様となっています。そもそも標準規格なんて存在しないときでした。そのため、内蔵CD-ROMドライブが故障すると交換用のドライブの入手はほぼ不可能、別の中古FM TOWNSから移植するしかありませんが、果たして中古を入手したとしてその内蔵CDドライブがまだ機能するのかどうか、事前に確認するのは非常に難しいです。

そこで、「UNZ」「津軽」といったエミュレータの利用が考えられますが、著作権法を厳密に解釈すると、FM TOWNS本体を所有していない場合、エミュレータ実行に必要なROMイメージを利用することは著作権法違反となります。

現行の著作権法は、著作者は守りますが著作物を守りません。著作者が門を閉ざしてしまったら、二度と誰も合法的に著作物を利用することができません。著作者は、ひとたび世に送り出したソフトウェアを取り上げる権利まで持つべきなのでしょうか?著作者は著作物を殺す権利も持つべきなのでしょうか?僕はそうは思いません。著作権法は著作物も守るべきであると考えています。古いソフトをすべて無料にしろというのではありません。古いソフトウェアも合理的な金額でユーザが引き続き利用できて、開発者もそれによって利益を得ることができるルールを決めるべきだと思っています。

FM TOWNSエミュレータの実行には、最低二種類のROMイメージが必要になります。ひとつはFMT_SYSと呼ばれる、起動にかかわるプログラムが入った領域です。このROMイメージに関しては、UNZ開発者のKasanovaさんが互換ROMを開発されて、ソースコードを含めて公開されています。Kasanovaさんが公開された最終バージョンではCD-ROMドライブからの起動しかできませんが、僕が引き継いでフロッピーディスク、ハードディスク起動にも対応しました。

もうひとつはFMT_DOSと呼ばれる、MSDOS.SYS, COMMAND.COM, MSCDEX.EXEが入った領域です。これが問題でした。とくに、Version 3.1相当のMSDOS.SYSが必要で、MicrosoftはMS-DOS V2.0まではMITライセンスで無料としてくれたのですが、3.1はいまだ無料公開されていません。また、COMMAND.COMもVersion 3.1用バージョンが必要です。

このほかに、FM TOWNSエミュレータの実行には、FMT_FNT.ROM (フォントROM), FMT_F20.ROM (20ドットフォントROM), FMT_DIC.ROM (OASYSかな漢字変換用辞書ROM)が必要ですが、pinteriorさんがFMT_FNT.ROMをパブリック・ドメインのフォントから生成するコードを作成されました。(https://github.com/pinterior/FMT_FNT.ROM/actions)。FMT_F20.ROMは初期のTOWNSにはそもそも搭載されていないため、すべて0で埋めておいても実行に問題のあるソフトはほとんどありません。FMT_DIC.ROMは実験の結果、すべて0xFFで埋めておくととりあえず平仮名とカタカナは入力できることが確認できました。

このうち、MSDOS.SYSとほぼ互換のYSDOS.SYS, COMMAND.COMとほぼ互換のYAMAND.COMの開発に成功しつつあります。まだ、未対応の機能にあたるといきなり止まってしまいますが、それでも、FM TOWNSを彩ったいくつかのゲーム、Towns OS GUIの起動までできるようになったので公開しました。

しかし、久しぶりにすごい量のアセンブリコード書いた。。。。。

ソースコード・ROMイメージ FMT_SYS.ROM, FMT_DOS.ROM, FMT_DIC.ROM https://github.com/captainys/TOWNSROM

津軽で動作確認

Afterburner II SEGA/CRI プレイ開始から数ステージ動作確認
Microcosm Psygnosis 起動確認
Megamorph Psygnosis 起動確認
Fractal Engine Demo Psygnosis 最後まで動作
Strike Commander Origin インストールからオープニングデモまで確認
Wing Commander Origin 起動確認
Wing Commander II Origin インストールから最初のメニューまで確認
Alone in the Dark Infograms 直接起動・HDインストールからプレイ開始まで確認
Towns OS V1.1 L10付属デモ Towns Illusion 富士通(T&Eに委託) 最後まで走る
Brandish Falcom オープニングムービーまで確認
Galaxy Force II SEGA/CRI 起動まで確認
RAYXANBER DATAWEST 起動~オートデモまで確認
Turbo Outrun SEGA/CRI 起動~オートデモまで確認
Viewpoint SNK/VING 起動~オートデモまで確認
Chase HQ TAITO/VING 起動~オートデモまで確認
Air Combat 2 Special Systemsoft 起動確認
A列車で行こう3 Artdink 起動確認
F-29 Retaliator Imagineer 起動~オートデモまで確認
機甲師団 Artdink 起動~オープニングムービーまで確認
Libble Rabble namco/電波新聞社 起動確認
Shadow of the Beast Psygnosis 起動~オープニングムービーまで確認
Advantage Tennis Infograms 起動確認
Super大戦略 Systemsoft 起動からプレイ開始まで確認
Emerald Dragon Glodia プレイ開始まで確認
遥かなるオーガスタ T&E ストロークプレイ開始まで確認
ImageFight IREM/VING プレイ開始まで確認
雷電伝説 SEIBU/SUCCESS/KID プレイ開始まで確認
Operation Wolf TAITO/VING プレイ開始まで確認
The New Zealand Story TAITO/VING プレイ開始まで確認
ぷよぷよ COMPILE/CRI プレイ開始まで確認
F-BASIC 386 V2.1 L10 富士通 コマンドをいくつかテスト

動作しないまたは不完全確認済み

Dungeon Master FTL/富士通 CDDA演奏を止めないままQ:\JDATA\DUNGEON.DATをFOPENしようとして失敗してフリーズ。解析の結果、プログラムは、(1) fopen (2) CDDA演奏停止 (3) ファイル読み込みの順で処理している。明らかな順番の誤り。MSCDEXだとたまたまディレクトリがキャッシュに残っているためFOPENに成功するが、本来は失敗するべきなので動作としてはSHSUCDXの方が正しい。津軽のコマンドまたはメニューで強制的にCDDA演奏を止めるか、演奏終了を待ってダンジョンに入るとフリーズを回避できる。
Comments are welcome.  Send E-Mail to: 

Back to http://www.ysflight.com