HI-TECH Cは、元々はCP/M用に作られたANSI規格準拠のCコンパイラです。
コンパイラなので、BASICよりずっと早いプログラムが作れる上、他機種でも広く使われているので、巷に溢れる参考書で学習でき、慣れれば強力なメモリアクセスや構造化プログラミングなどにより、アセンブラよりずっと楽にかつ高度なプログラムを組む事ができます。
MSXの他のCコンパイラは、ANSI規格に準拠していなかったり、作ったソフトを売る事ができないと言う制限がありますが、HI-TECH Cには、それがありません。しかも、入手するのに、お金はいりません。こう書いただけでも、HI-TECH Cがいかに素晴らしい物かが分かると思います。
しかし、世の中はそううまくは出来ておりません。HI-TECH Cは元々、CP/M用に作られており、MSXで使うには、コマンドファイルにパッチを当てなければなりません。また、HI-TECH Cが外国からきた物なので、パッチ当てなどのマニュアルも全て英語です。そこで、今回は、パッチ当てのやり方から、1つのCプログラムのコンパイルまでを説明する事で、皆様が、HI-TECH Cを使えるようになるまでの手助けをしようと思います。
今回は、MSXで動かすときのインストールについて説明します。
HI-TECH Cを動かすには次のような物が必要です。
ファイル名をクリックするとソフトをダウンロードすることができます。
HI-TECH C Easy Patcherを使わない場合は、実行ファイルにパッチを当て、更新するのにバイナリエディタやモニタ等が必要となります。この時の説明をするのは面倒なので、今回は、HI-TECH C Easy Patcherを持っているという事を前提にして話を進めていきます。
いよいよ、今回の本題である、インストールに入ります。今回は、3.5インチ2DD,720Kフォーマットのディスクを念頭において説明します。
まず、フロッピーディスクを1枚、フォーマットして、MSX-DOSのシステムファイルを入れて下さい。このディスクが、これからの実行用ディスクとなります。
次に、実行用ディスクにLINK.COM(HITECH-1.PMAの中のものではありません。)をコピーします。
次に、アーカイブHI-TECH1.PMAを実行用ディスクへ解凍して下さい。LINK.COMは上書きしないでください。
2DD,720Kフォーマットのディスクの場合、アーカイブを入れたままにしておくと作業時にディスクの容量が不足する可能性があるので、アーカイブを解凍したら、アーカイブはディスクから削除しておいた方が良いでしょう。
次に、コンパイラの処理系にMSX用パッチを当てる作業に入ります。
この作業を行なわないと、MSX-DOSで使う場合にコンパイルエラーが出てもコンパイル作業を行うバッチファイルが停止しないので、不便なため、パッチ当てはMSX-DOSで使う場合必須です。
この作業はディスクの容量を食うので、作業用ディスクで行います。
まず、HI-TECH Cの実行ファイル(C.COM除く)をまっさらな作業用ディスクにコピーします。
次に、MSX用パッチのアーカイブHPATCHES.PMAを作業用ディスクに展開します。
その後、HI-TECH C Resource kit #1のHI-TECH C Easy PatcherとMSX-DOS1の場合は、PATCH1.BATを作業用ディスクに展開します。
まず始めに、処理系とMSX用パッチファイルを結合します。
この手順はバッチファイルになっているので、MSX-DOSのバージョンに応じたバッチファイルを実行します。ここで、注意したいのは、MSX-DOS1用のバッチファイルには、バグが有ると言う事です。そこで、HI-TECH C Resource kit #1のPatch1.BATを実行します。MSX-DOS2の場合は、HPATCHES.PMAに付属するPATCH2.BATを実行します。
これで、パッチのついた実行ファイルが出来上がります。オリジナルのファイルも(拡張子.BAKで)残るので、とりあえず、失敗時の為にとっておいて下さい。
次に、実行ファイルを書き換えて、パッチを有効にします。
HI-TECH C Easy Patchar付属のドキュメントファイル以外のファイルとカスタマイザAYAKA.COM、パッチを結合したあとの実行ファイル(CGEN.COM,CPP.COM,CREF.COM,DEBUG.COM,ZAS.COM,LIBR.COM,LINK.COM,OBJTOHEX.COM,OPTIM.COM,P1.COM)を用意して、HI-TECH
C Easy Patchar付属のバッチファイルを実行するとパッチが有効になります。HI-TECH
C Easy Patcharのマニュアルも見ておきましょう。
パッチを当てたら、実行ファイルを作業用ディスクから実行用ディスクにコピーします。そのついでに、実行ファイルのバックアップをとっておきましょう。何かの時にまた、パッチを当てるのは大変な手間ですから。
HI-TECH Cの実行ファイルは、結構サイズが大きいので、FDD1台で運用する時は、Popcom!などで圧縮しておきましょう。ただ、実行時に展開を行う必要があるので、立ち上げ回数の少ない物に圧縮をかけておきましょう。CGEN.COM,LINK.COM,OPTIM.COMあたりが良いかな?
また、C言語として使う時に、CREF.COM,DEBUG.COM,OBJTOHEX.COMといったコンパイルに直接関係しない物は、他のディスクに移しておくと、作業用ドライブの容量の節約になります。これは、特に、FDD1台で運用する場合に重要になってきます。
これで、準備が出来ました。
では、試しに、下のプログラムをコンパイルしてみましょう。
#include <stdio.h> int main(int argc,char *argv[]) { printf("Welcome to HI-TECH C world !!\n"); return 0; } [EOF]--- ここまで ---
プログラムの内容はさておいて、テキストエディタでソースファイルを打ち込んだら、ここでは、TEST.Cというファイル名で保存する事にしましょう。
その際、ファイルの終わりには、1AH(EOF)を入れておくようにしましょう。
このファイルのコンパイルは、
C TEST
でできます。ここで、TEST.Cの終わりに1AHがないとエラーが出るので、きちんと1AHを付けましょう。
見事に、コンパイルが終わったら、実行ファイルを実行してみましょう。
TEST[RET]と打ち込むと、
Welcome to HI-TECH C world !!
と表示されたはずです。
このあとは、HI-TECH3.PMAを解凍して得られたテキストファイルによる、英文マニュアルとC言語の解説書(そこら辺の物がほぼ、そのまま使えます。この辺が、この処理系の良い所)をみながら、HI-TECH
Cを使いこなしていって下さい。
HI-TECH4.PMAには、便利なライブラリやユーティリティーが揃っていますので、それらを使いつつ、試行錯誤しながら、HI-TECH
Cを使いこなしていって下さい。
多くの読者がHI-TECH C(別に、マクロアセンブラ+リンカだけでもいいから)で優れたプログラムを組んで、MSX界が活性化するのを祈って、本文を終わります。
MSX-C Magazineに戻る
Tatsu's MSX情報局目次に戻る