JavaScriptを有効にすると、ここにメニューを表示します。
FM Towns エミュレータ「津軽」プロジェクト

ysflight.com

FM Townsエミュレータ作ってます。多分、CPUコアとか音源コアとか出回ってるものを使えばもっと楽なのかと思いますが、それだと自分の経験値にならないので、いばらの道を覚悟でCPUコアから作り始めました。

FM Townsエミュレータとしては、Kasanovaさん作のUNZが非常に再現性が高く、最近はMAMEの再現性も上がってきたと聞きます。が、これは自分の考えですが、こういうソフトは同じような機能を持ったものが3種類ぐらいあるのが良いと思ってます。例えば、ある機能を持ったプログラムが一種類しか無いとして、あるとき突然そのプログラムが使えなくなってしまったら、手も足も出ません。とくに、最近OSを開発する企業が無責任かつ不必要かつ頻繁に後方互換性を切り捨てる悪習が蔓延しているので、使ってるプログラムがある日突然使えなくなる危険はコンピュータ史上ありえないレベルで高くなっています。

また、FM Townsのソフトを実行するだけであれば、SCSI接続のCD-ROMドライブをエミュレートする意味はまったくないですが、僕は実機を稼働状態に維持するためのドライバ YSSCSICD.SYS の開発と必要に応じたパッチ開発のためにエミュレータを使いたいという個人的な需要があるので、SCSI接続のCD-ROMドライブのサポートも予定しています。

ソースコードは既にGithub上に公開しています。

https://github.com/captainys/TOWNSEMU

実行ファイルは、とりあえず仮に↓で公開しています。GitHubでコンパイルしたやつをそのままアップロードしています。"Assets"の中からダウンロードできます。

https://github.com/captainys/TOWNSEMU/releases

なお、現状コマンドユーザーインターフェースです(^_^;)  GUIなんかつけるからプラットフォーム依存になったり、ものすごく重たいライブラリに依存したりになるんです。

とかいいながら、GUIも作ってみました。Tsugaru_GUI.exeで起動します。中からTsugaru_CUI.exeを呼ぶので同じディレクトリに両EXEが入っている必要があります。macOSの場合だと数々のセキュリティの警告を突破してAppを起動するとGUIで使えます。

WindyさんがWikiを作成してくださいました。ありがとうございます!ご利用ください。

https://wiki3.jp/fmtowns

一応、1月中旬(2020年)に開発を開始して、約4か月でAfterburner IIがプレイできるレベルになりました。

動作確認

ソフトウェアタイトル 開発 確認日 確認内容
Towns OS V1.1 L10 富士通 (Unit Test) 起動、基本的な操作、デモプログラム
Towns OS V1.1 L30 富士通 (Unit Test) 起動、基本的な操作
Towns OS V2.1 L10 富士通 2020/05/23 起動、ただし -PRETEND386DX オプションが必要 (フリコレ4 DiscBで確認)
Towns OS V2.1 L10B 富士通 2020/05/23 起動、基本的な操作
Towns OS V2.1 L20 富士通 (Unit Test) 起動、基本的な操作、ハードディスクイメージへのインストール
Towns OS V2.1 L31 富士通 2020/05/23 起動、基本的な操作
Towns OS V2.1 L50 富士通 2020/05/23 起動、基本的な操作 (フリコレ11で確認)
F-BASIC 386 V2.1 L10 富士通 2020/05/23 起動、簡単なプログラムの動作
MS-DOS V3.1 富士通 (Unit Test) 起動、基本的な操作
Afterburner II SEGA/CRI 2020/05/23 ステージ8入るところまで確認 (オートデモまで定期的に動作確認)
Turbo Out Run SEGA/CRI 2020/05/23 二つ目のチェックポイント通過後ぐらいまで確認 (オートデモまで定期的に動作確認)
Galaxy Force II SEGA/CRI 2020/05/23 ステージ3(?)ぐらいまで確認 (タイトル画面まで定期的に動作確認)
Wing Commander 1 Origin 2020/05/25 デモ画面~セーブ~ミッション開始~敵機1機撃墜
遥かなるオーガスタ T&E Soft 2020/06/07 デモ画面~ショット練習、ホール1クリアまで。
Alone in the Dark INFOGRAMES 2020/06/07 ゲーム開始まで
RAYXANBER DATAWEST 2020/06/12 ゲーム開始まで (オートでもまで定期的に動作確認)
Afterburner III SEGA/CRI 2020/06/12 ゲーム開始~ステージ5ぐらいまで。
Air Combat II Special System Soft 2020/06/13 ミッション開始できたもののキー操作がわからなくて離陸できなかった。 (オープニングまで定期的に動作確認)
Super大戦略 System Soft 2020/06/13 ゲーム開始、昔のセーブデータから初めてIsland Campaignクリア、エンディング
VIEWPOINT SNK/VING 2020/06/17 オートデモ、ゲーム開始。 (オートデモまで定期的に動作確認)
Chase HQ TAITO/VING 2020/06/19 ゲーム開始~ステージ2クリアまで。 (オートデモまで定期的に動作確認)
A列車で行こう3 ARTDINK 2020/06/20 ユーザーディスク作成、ゲーム開始、線路敷設 (オープニングまで定期的に動作確認)
F-29 Retaliator Imagineer 2020/06/23 オートデモ、Zulu-Alertで飛行
Libble Rabble namco/電波新聞社 2020/06/30 実行可能だけど遅い。
VSGP Drivers T's (フリコレ6) 2020/06/30 FD1マップ一周。ただし、タイマーを見ていないようで (逆アセンブルして結構調べたんだけど)、
12MHzぐらいまで下げないと速すぎてついていけない。実機でもそうだったっけ?
Sky Duel Makken (フリコレ9) 2020/06/30 Snowy ValleyをFINまで飛行。
僕がポリゴン3DやってたときMakkenさんのこのプログラムはインパクトでかかった。
ぷよぷよ COMPILE/CRI 2020/07/01 ステージ1
Dungeon Master FTL 2020/07/02 起動に妙に時間がかかって動かないかと思ったら単に時間がかかっていた模様。
キャラクター一名復活させて歩き回る、手裏剣を投げるなど確認。
Emerald Dragon GLODIA 2020/07/03 起動、タイトル~戦闘開始まで確認。
Advantage Tennis INFOGRAMES 2020/07/03 プレイ可能。ただし、そのままだと速すぎるのでクロックを下げた方がいい鴨。

現在動作しない確認

Fractal Engine Demo Psygnosis 2020/07/02 意図的にPage Faultを起こしている。現CPUコアではPage Faultをエミュレートしていなくて、またエミュレートするとパフォーマンスがかなり低下するかもしれないので保留。

今思えば当時志願してThe CockpitのFM Towns用移植をさせてもらえばよかった。当時そういう発想は無かった。ポリゴンエンジン自作したんだから頑張ればTop Landingぐらい移植できたかもしれん。

Comments are welcome.  Send E-Mail to: 

Back to http://www.ysflight.com