最初へもどる

戻る


PC-98*1 で DJGPP を使いたい


環境

私が Enforcer ( PC-9821Xs/U7W(改) ) に DJGPP を install したときの覚え書きをまとめた物を公開します

ということで環境は以下のマシンなどを使用しています
本体概要
本体NECPC-9821Xs/U7W(改)
CPUAMDAm5x86-P75
RAMいろいろ35.6MB
内臓HDD1Conner Peripherals 210MB - CFS210A
SCSI IFIO DATASC-98 III
外付HDD1TEXASTATION 80S
外付HDD2MIDORIVESPER V3 1060

OS:マイクロソフト MS-DOS 6.2
DOS は NEC の PC-9801/PC-9821 シリーズで動作する MS-DOS です
( 最近の PC-98NX は詳しく知りませんが、DOS に関してはサポート外だそうです (^^;;; )
今回は外付 HDD1 に install しました


準備

GCC271B1.ZIP  AT,98 gcc: DOSエクステンダgo32上で動作するgccパッケージ - Cコンパイラ SJIS移植版 1/3
GCC271B2.ZIP  AT,98 gcc: DOSエクステンダgo32上で動作するgccパッケージ - Cコンパイラ SJIS移植版 2/3
GCC271B3.ZIP  AT,98 gcc: DOSエクステンダgo32上で動作するgccパッケージ - Cコンパイラ SJIS移植版 3/3
DJDEV112.ZIP  AT    djgpp: DOSエクステンダgo32上で動作するgccパッケージ - 開発ツール集
GAS23DJ3.LZH  AT,98 gas: DOSエクステンダgo32上で動作するgccパッケージ - アセンブラ
BNU252BN.ZIP  AT    binutils: DOSエクステンダgo32上で動作するgccパッケージ - リンカ他ツール
G12M398B.LZH  98    go32: 98用 GO32 1.12 SWAP 版を DJGPP 1.12 maint 3 対応にした
DJEOE112.ZIP  AT    djgpp: DOSエクステンダgo32上で動作するgccパッケージ - 最少限の実行環境

上記のファイルを用意しました
( 別に ZIP ファイルと LZH ファイルを解凍するのに UNZIP.EXE や LHA.EXE 等を用意しておく必要があります )


ファイルを解凍する

外付 HDD1 に DJGPP を install する場所とテンポラリのディレクトリを確保します。以下のディレクトリを作成しました
B:\DJGPP B:\DJGPP\TMP

まず用意したファイルのなかで以下の二つのファイルを B:\DJGPP へ移動して解凍します

DJDEV112.ZIP
BNU252BN.ZIP

解凍した後に dir コマンドで確認すると以下のようになります

B:\djgpp>dir /A:D /O:N /S /B

B:\djgpp\BIN
B:\djgpp\DIFFS
B:\djgpp\DOCS
B:\djgpp\INCLUDE
B:\djgpp\LIB
B:\djgpp\MANIFEST
B:\djgpp\SAMPLES
B:\djgpp\DIFFS\BINUTILS.252
B:\djgpp\DIFFS\BINUTILS.252\GAS
B:\djgpp\DIFFS\BINUTILS.252\GAS\CONFIG
B:\djgpp\DOCS\DJGPP
B:\djgpp\INCLUDE\SYS
B:\djgpp\SAMPLES\COMPRESS
B:\djgpp\SAMPLES\DPMI
B:\djgpp\SAMPLES\ESCAPE
B:\djgpp\SAMPLES\GRTASK
B:\djgpp\SAMPLES\HELLO
B:\djgpp\SAMPLES\HEXCALC
B:\djgpp\SAMPLES\PAGETEST
B:\djgpp\SAMPLES\SORT

B:\digpp>
次に B:\djgpp\BIN の中に以下のの5つを解凍します
GCC271B1.ZIP
GCC271B2.ZIP
GCC271B3.ZIP
GAS23DJ3.LZH
G12M398B.LZH
最後に DJEOE112.ZIP から djgpp.env のみを取り出して B:\djgpp におきます


環境設定

私の CONFIG.SYS について

DEVICE=B:\DOS\HIMEM.SYS
DEVICE=B:\DOS\EMM386.EXE /UMB /DPMI
BUFFERS=10,0
FILES=30
DOS=UMB
LASTDRIVE=Q
FCBS=4,0
SHELL=B:\COMMAND.COM B:\ /P /E:1024
DEVICEHIGH /L:2,12560 =B:\DOS\SETVER.EXE
DEVICEHIGH /L:2,4576 =B:\DOS\KKCFUNC.SYS
DEVICE=B:\DOS\NECAIK1.DRV
DEVICE=B:\DOS\NECAIK2.DRV B:NECAI.SYS
DEVICEHIGH /L:1,12480 =B:\MDEV\IOSPRO\IOS10.EXE 2176 /X
DEVICE=C:\DOS_DRV\LCD440.SYS /D:CD_101
DOS=HIGH

現在の CONFIG.SYS はこのようになっています
ここで最低限注意しておくことは EMM386.EXE のオプションで /DPMI が必要だということです
(その他については個々の設定や環境によって異なるので自分でマシンと格闘しながら設定してみてください (^^;;; )

私の AUTOEXEC.BAT について (抜粋)

SET TZ=JST-9
rem --  DJGPP  Begin --
PATH %PATH%;B:\DJGPP\BIN
SET DJGPP=B:\DJGPP\DJGPP.ENV
rem --  DJGPP  End ----

DJGPP ではタイムゾーンの設定(1行目)を行い、パスの追加と環境変数 DJGPP に DJGPP.ENV を設定しています
これで起動する準備が整いました。再起動します


Sample プログラムをコンパイルしてみる

B:\djgpp\SAMPLES\HELLO ディレクトリに入っているサンプルプログラム hello.c をコンパイルしてみました
hello.c の中身
#include 
int main()
{
  printf("Hello!  This is the test program.\n");
  return 0;
}

プログラムのあるディレクトリに移動して
B:\djgpp\SAMPLES\HELLO>gcc hello.c
B:\djgpp\SAMPLES\HELLO>

うまくコンパイルできるとディレクトリの中には a.out というファイルができています
このファイルは go32 実行形式になっているので実行するには
B:\djgpp\SAMPLES\HELLO>go32 a.out

と実行します

今のところここまでしかできていません (^^;;;

戻る

最初へもどる


This page hosted by
Get your ownFree Home Page

1