Windows 64ビットOSで、32/16ビットDOSプログラムを実行する方法


- Old Counter



古いWindows XPデスクトップPCが限界に近く速度が遅くなってきたので、生産性を上げるために新しいデスクトップPCを2ヶ月ちょっと前に購入しました。
(実際にはPCの速度が遅くなってきたわけではなく、筆者の忍耐力が減ってきただけなのですが・・・)

当然のことながら、イマドキのデスクトップPCは8GBのRAM搭載が普通になってきています。
そして、3.24GB以上のRAMを有効にアクセスするには64ビットWindows OSが必須です。

最低限必要なアプリケーションの移行・インストールも終了し、暫く問題も無くラクチンに使っていたのですが、・・・

つい数日前、久しぶりに15年以上昔から使っている業務システムを使って請求書作成の為に使う必要が出てきて、初めて新しいディスクトップPCでDOSコマンドウィンドウを開いて、そのプログラムを実行しようとしたら・・・
(参考までに、実行しようとしたプログラムはDOS版FoxProのプログラム。)

こんなエラーメッセージが・・・

 


 


 

「えっ? 64ビットWindowsでは、32ビット(16ビット)DOSプログラムは実行できないの?・・・32ビットWindowsプログラムは実行できるのに、32ビットDOSエミュレーターは搭載していないの?」

「う~ん!?!?」と唸って、調べた結果、・・・

ありました!?

それは、「DOSBox」というソフト。
http://www.dosbox.com/

 

調べたら、Macも含めていろんなOSに対応しているんですね。

そこで、早速ダウンロードしてインストールし、使ってみることにしました。「DOSBox」の「Downloads」ページで「Windows」をクリックすると、・・・

 

ダウンロードページが開始・・・「Save(保存)」をクリックし・・・

 

ダウンロード後、「Run(実行)」します。

 

「Next>」をクリックし、・・・

 

もう一度「Next>」をクリックし、・・・

 

インストールのフォルダーを指定(デフォルト選択)して、「Install」をクリックし、・・・

 

数秒でインストールが終了します。「Close」をクリックすると・・・

 

デスクトップに「DOSBox」のアイコンがインストールされています。

 

「DosBOX」のアイコンをクリックすると、ネイティブの64ビットDOS(コマンド)Windowsが下に現れ、その上に、「64ビットDOS(コマンド)ウィンドウ下で稼動している『(32ビットDOSエミュレータ)DOSBox』」のウィンドウが現れます。
ここで注意しなければいけないのは、コマンドプロンプトは「Z:>」となります。そして、どうやらZドライブは、RAMドライブのようです。(最後の文章は、不確か。)DOSBoxを実行するたびに、ZドライブがRAM空間にマップされるようです。

 

そのまま「C:」ドライブをアクセスしようとしても、アクセスできません。

 

「mount C C:」コマンドで、物理ドライブ「C:」をエミュレータ内の「C」ドライブにマウントします。

 

その他のネットワークドライブも、DOSBoxを実行するたびにMount(マップ)しなおします。

 

これでレガシーの32ビットDOSプログラムも実行できるようになりました。(注意:日本語環境は実行を確認していませんので、自己責任でどうぞ。)

 

毎回DOSBoxを実行するたびに「mount C C:」コマンドなどを実行するのは、不便ですね。そこで、DOSBoxのオプション(Options)設定で「AUTOEXE.BAT」に代わる設定を行います。
Windowsのディスクトップから「Start(スタート)⇒All Programs(全てのプログラム)⇒DOSBox⇒Options⇒DOSBox Options」をクリックすると、・・・

 


 

DOSBoxプログラムのConfiguration(設定)ファイルがオープンされます。

 

このファイルの一番最後に
 mount C C:
 C:
などのいつも使うコマンドを追加して、・・・

 

保存(Save)します。

 

その後、DOSBoxを実行すると、自動的に追加したコマンドがDOSBox起動の冒頭に実行されます。

 

なお、DOSBoxで使用できるコマンドは、「help/all」で表示できます。

 


 

使い方は、DOSBoxのWikiページでも確認できます。
Basic Setup and Installation of DosBox

一つだけ困ったのは、DOSBoxでは「net use」コマンドが使えないので、プリンター出力がネットワークプリンターにリダイレクトできないこと。
幸いに5年弱前に買ったラップトップが、その後、ハードディスクをアップグレードしたり、OSをWindows 7にアップグレードしたものの、いまだに32ビットOSなこと。
古いDOSプログラムからネットワーク・プリンターに出力するときには、そっちを使うしかないな。

 

あと、画面のピクセル・リゾリューションが、640x480か、フル画面かの、どちらか。(後者は、実行後、「ALT + ENTER」キーで達成可能。またはDOSBoxプログラムのConfiguration(設定)ファイルに「fullscreen=true」を挿入しておくと、自動的にフル画面になります。)
中間リゾリューションは設定できません。

追記:
DOSBox日本語化版があるようです。
日本語フォント表示の為には、日本語版が必要でしょう。
英語版は最新バージョンが0.74ですが、日本語版は0.72は確実にあるようですが、その後のバージョンの存在は不明です。
自己責任で検索エンジンで検索してください。



――<●>――
関連すると思われる記事:

「Windows 64ビットOSで、32/16ビットDOSプログラムを実行する方法」への6件のフィードバック

  1. 年末に、IPhone4Sのプリペイドでの使用法を教えていただいて、その後とても効率的に使っております。相沢裕子と申します。本当に、その節は、ありがとうございました。
    ところで、先日MacBook Proを初めて購入し、今まで使っていたWinVistaから、音楽やファイルの移行を試みたいと思っています。相変わらず、こんな初歩的な質問で、申し訳ないですが、一体、何で接続して、どうしたらいいのでしょうか。お忙しいときに、申し訳ありませんが、急ぎませんので、教えていただけたら、大変に助かります。宜しくお願い致します。

    管理人 返信:

    単純に考えたら、移したい内容をUSBメモリーにPC(Win)からコピーし、そのUSBメモリーをMacに繋げてコピーするのが、一番手間が少なく簡単だと思いますが、・・・

    USBメモリーは2GB、4GB、8GB、16GB、32GBなど普通の家電量販店やStaples/Office Max/Office Depotに販売しています。($10-80程度)
    転送したいファイルの総量が数ギガバイト程度ならこれで十分だろうし、数百ギガバイトならUSB外付けハードディスクが数十ドルから$150程度で100GB、500GB、1-3TBの容量のが販売されています。

    他にも、
    ● 同じネットワークに繋いで、フォルダーを共有設定にして、ネットワーク上でコピーする
    ● iCloudやDropBoxなどのクラウドサービスを使って、一回PCからクラウドに同期し、そのクラウドからMacに同期する、
    と言う方法がありますが、ネットワークを設定したり、クラウドサービスのアカウントを作ったりしなければなりません。
    また、クラウドで無料で割り当てられる容量は2-5GB程度なので、転送したいファイルの総量がそれ以上だと何度も小分けしてコピーするなど、手間が面倒です。

    しかし、総容量が少ないのであれば、この機会にクラウドのアカウントを作って、使い方を勉強すれば、クラウドがバックアップにもなるので、便利ではあります。

  2. 早速のご返答をありがとうございます。USBメモリーで、やってみます。いつも、お世話様です。

  3. DSOBox -> DOSBox

    管理人 返信:

    タイポを訂正しました。

コメントは受け付けていません。