
いくつかのものは長年にわたって良くなります。 たとえば、DOS時代に開発された古典的なゲームは魅力的です。 それらのそれぞれは、大きな愛で作られた作品です。 残念ながら、DOSプラットフォームは過去のものであり、素晴らしい製品がそこに残されています。 それらを現代の世界に戻すために-これは本当の贈り物ではありませんか?
どうやって? とても簡単です! もちろん、興味のある読者はemscriptenプロジェクトを覚えています。そのおかげで、C ++コードをJavaScriptに変換してブラウザーで動作させることができます。 彼の助けにより、DOOM、Dune 2、TTD、X-COMなどのゲームがブラウザに適合しました。 ただし、このパスは長くて困難です。 1つのプロジェクトには最大6か月かかります。 そして、あなたが一度にすべてを望むなら? 他の方法はありますか?
em-dosbox
別の方法があります-DosBoxを使用します。 実際、DOSプラットフォーム全体(正確にはMS-DOSエミュレーター)を移植できるのに、各プロジェクトを個別に移植するのはなぜですか。 この独創的なアイデアは
em-dosboxプロジェクトで
Boris Gjeneroによって具体化され
ました 。 これは、emscriptenを使用して作成されたJavaScriptのDosBoxポートです。
そこで、「ほぼすべての」DOSプログラムをブラウザに転送する方法を説明します。
成分
- ブラウザ
- em-dosbox(dosbox.js)
- プログラムはDosBoxで正しく動作します

動作中、ブラウザはdosbox.jsとデータパケットをプログラム(通常はソースプログラムのディレクトリがパックされたバイナリファイル)でロードします。 dosbox.jsスクリプトは、JavaScriptに移植されたDosBoxにすぎません;実行されると、DOSプラットフォームで実行されているプログラムでDOSプラットフォームをエミュレートします。
dosbox.jsのコンパイル
すべてがシンプルです。 em-dosboxリポジトリのクローンを作成し、autotoolsとmakeを使用してコンパイルします
git clone https://github.com/dreamlayers/em-dosbox.git cd em-dosbox ./configure make
成功すると、
dosbox.htmlと
dosbox.jsが
srcフォルダーに表示されます
em-dosboxのパフォーマンスの改善src / Makefile.amの dosbox_LDFLAGSに
--memory-init-file 0オプションを
追加します。 このオプションは、読み込みを高速化するために使用されるメモリファイルの生成を無効にします。 この場合、このファイルのサイズは約30メガバイトになりますが、これはブラウザーには適用されません。
dosbox_LDFLAGS = -s TOTAL_MEMORY=67108864 --pre-js pre.js --memory-init-file 0
src / dosbox.cppファイルで、置き換える
ことをお勧めします
emscripten_set_main_loop(em_main_loop, 100, 1);
に
emscripten_set_main_loop(em_main_loop, 0, 1);
この編集により、生産性が大幅に向上します。 ただし、ターゲットプログラムは十分にスマートであり、コンピューターのパフォーマンスに関係なく同じ速度で実行できる必要があることを考慮する必要があります。そうしないと、プログラムの動作が速すぎます。
エミュレータを高速化するには、
src / gui / sdlmain.cppファイルの
main関数に次の行を追加し
ます 。
#ifdef EMSCRIPTEN EM_ASM("SDL.defaults.copyOnLock = false; SDL.defaults.discardOnLock = true; SDL.defaults.opaqueFrontBuffer = false;"); #endif
プログラムのパッケージ化
em-dosboxには、プログラムを含むディレクトリをバイナリファイルにパックできるスクリプトが付属しており、dosbox.jsと組み合わせて使用できます。 たとえば、Dune 2ゲームのバッチファイルを取得するには、次のようにします。
成功すると、
dune2.htmlおよび
dune2.dataファイルが作成されます。 HTMLファイルは、
dosbox.htmlテンプレートを使用して作成されます(
srcフォルダーにあります)。
dosbox設定を変更するデフォルトでは、dosboxは標準構成で起動されます。 変更するには、プログラム
フォルダにdosbox.confファイルを作成する
だけです。 そして、ビルドスクリプトを次のように変更します。
打ち上げ
したがって、3つのファイルがあります。
- program.html
- program.data
- dosbox.js
それらをサーバーに配置することにより、ブラウザーでプログラムを実行できます。
明けましておめでとうございます。
50の新年の贈り物。適応ゲームのリスト次のゲームは、em-dosboxを使用するブラウザーに適合しています。
- 虐待
- 路地猫
- 別の世界
- アーケードバレーボール
- アルカノイド
- バトルチェス
- 武道館:マーシャルスピリット
- CDマン
- コロラド
- お化け屋敷の危険なデイブ
- デストラック
- 掘り
- ディズニーのダックテイルズ:ゴールドクエスト
- 運命
- ドゥーム2
- デューン2
- ダイナブラスター
- ミミズジム2
- ファイア&フォーゲットII
- ゴブリン1-3
- 黄金のx
- 異端者:ヘビライダーの影
- 信じられないほどのマシン
- の
- IndyCar Racing
- クリプトンエッグ
- ランボルギーニ:アメリカンチャレンジ
- ロードランナー
- 失われたバイキング
- の
- 金属変異体
- マイクロマシン
- 地雷爆撃機
- モータルコンバット
- パックマン
- 先史時代
- 先史時代2
- プリンスオブペルシャ
- 焦土:すべてのゲームの母
- シムシティ
- スタント
- サプレックス
- 試乗
- テトリス
- タワートプラー
- ティリアン2000
- うん!
- Warcraft:オークと人間
- 怒りの翼
- 冬のスーパースポーツ92
- ウルフェンシュタイン3D
- Xonix