0
Help us understand the problem. What are the problem?

posted at

FreeDOS 1.3とdjgpp(Cコンパイラ)のインストール

背景

フリーウェアをWebサイトで公開する場合、より多くの人に使い易いことを考えた結果、FreeDOSで動作するフリーウェアのバイナリが良さそうかと思ったこと。djgppはGCCなのでフリーウェアを、ほとんど修正することなくコンパイルできると期待した。実際、修正なくコンパイルできて動作した。しかし標準ライブラリのlsearch()、lfind()がなかったためフリーウェアの公開で使うことは中止。FreeDOSのCコンパイル環境の構築方法を記事としてまとめることにしました。
30年前にMS-DOSは良く使っていました。当時も少しDOS-Extenderのdjgppを使っていましたが、久しくDOSは使ったことがないので、良くわかっていない点があること、ご了承ください。

はじめに

2022年2月20日、FreeDOS 1.3は2016年末以来、5年以上ぶりのアップデートしたようです。

窓の杜:「FreeDOS 1.3」がリリース ~オープンソースの「MS-DOS」互換OS

gihyo.jp:「FreeDOS 1.3」がリリース,オープンソースのMS-DOS互換OSが5年ぶりにアップデート

DOSのC言語環境は16bitが基本なのでC言語のソースコードを修正したくない場合、32bitのCコンパイラを探すことになります。FreeDOSではOpen Watcomが良く使われているようなのですが整数型のintが2バイトだったため、他のCコンパイラを見つけることになりました。djgppはIA-32(32bit)のGCC 4.7なのでdjgppをインストールすることにしました。FreeDOSの公式サイトからダウンロードできるBonusCDにdjgppは入っていました。このため簡単にインストールできました。

インストールしたマシンはMicrosoftの有償版のVirtual PC 2004です。無償版のVirtual PC 2004 SP1は、まだダウンロードできるみたいです。Virtual PC 2007 SP1もあるようですが、この記事ではVirtual PC 2004です。

FreeDOS 1.3のインストール

FreeDOSの公式サイトからFreeDOS 1.3 LiveCDとBonusCDをダウンロードします。

LiveCDのzipファイルを展開するとISOファイルと一緒に入っているフロッピーのイメージがあるので、このフロッピーのイメージを使って仮想マシンを起動します。日本語は無いのでEnglishでインストールします。

fdos01.png

新規の仮想ディスクの場合、パーティションを作る必要があります。

fdos02.png

パーティション作成後、リブートします

fdos03.png

キーボードは各自、自分の環境に合わせてください。キーボードは日本語がありました。

fdos04.png

MBRはOverwriteを選択
fdos05.png

パッケージは後で追加できるので、ここではPlain DOS systemを選択

fdos06.png

Yesを選択

fdos07.png

インストールが開始され、進行状況は画面下に表示されます

fdos08.png

インストール完了、リブート

fdos09.png

リブート後、FreeDOSがHDDから起動して次のような画面になればFreeDOS 1.3のインストールは成功です

fdos10.png

DJGPP(Cコンパイラ)のインストール

FreeDOS標準のエディタ以外のエディタが使いたい場合や、必要なアーカイバがある場合は、ここでDJGPPといっしょにインストールします。Emacsもありますが、デフォルトの設定では、あまり大きなファイルは編集できないようです。

ISOをBonusCDに変更します

fdos11.png

fdimplesコマンドの実行

fdos12.png

GUIに従って、インストールしたいパッケージを選択します

fdos13.png

選択が終わればTABキーを使って「OK」のところまでカーソルを持っていきます

fdos14.png

OKのところでエンターを押すと、インストールが開始されます

fdos15.png

最後にDJGPPの環境変数を設定します。

fdos16.png

C:ドライブのルートにあるFDAUTO.BAT(MS-DOSのAUTOEXEC.BATに相当)があるので、それを編集してDJGPPの環境変数を追加します

上記画面のset PATH、set DJGPP のように設定してください。
編集後、リブートすれば、FreeDOSのCコンパイラ環境の出来上がりです

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
0
Help us understand the problem. What are the problem?