X68k Programming Series #1
X68k Programming Series (#1) X680x0 Developという、古い本がありまして、付録のFDが2枚あります。これはにはgcc真理子版が納められています。今回はこれを使って、gccをインストールします。
残念ながら本は捨てられてしまい、保有していません。手に入れたいけど高いなぁ…
なので、READMEを頼りにインストールします。
手持ちのFDを片っ端からイメージファイル化しておいて本当に良かったと。
なにより、無事イメージ化できていて、かつ令和の世までMacのハードディスク(今はSSD)の片隅によくぞ残っていたと…
何度かHDが吹っ飛んで、TimeMachineに救われています。バックアップ大事。
前準備
まずはハードディスクのイメージをバックアップします。
方法については何度も出たので割愛します。
ハードディスク上のCONFIG.SYSとAUTOEXEC.BATをD:ドライブにバックアップします。
今回はDEVELOP_1というフォルダを作り、そのフォルダ内にコピーします。
READMEを読む
DISK A,DISK Bをそれぞれ0,1ドライブにセットします。DISK Aをdirすると、
ボリュームがありません B:\
9 ファイル 1210K Byte 使用中 11K Byte 使用可能
ファイル使用量 44K Byte 使用
P2C <dir> 92-12-15 9:55:02
GCC <dir> 92-12-08 13:11:24
HAS <dir> 92-12-08 13:18:00
HLK <dir> 92-12-08 13:21:14
GDB <dir> 92-12-08 13:21:34
CVM <dir> 92-12-15 11:10:10
INST X 20564 93-01-29 16:59:50
README 9593 93-01-29 19:51:28
GPL DOC 13218 92-12-18 13:18:12
です。
DISK Bをdirすると、
ボリュームがありません C:\
3 ファイル 1060K Byte 使用中 161K Byte 使用可能
ファイル使用量 0K Byte 使用
F2C <dir> 92-12-14 14:17:36
P2C <dir> 92-12-14 15:37:48
UNDUMP <dir> 92-12-15 11:27:50
です。
まずは、DISK AにあるREADMEファイルを読みます。
type B:¥README | more[Enter]
INST.Xでインストールすれば良いようです。
その後、
COPY A:\AUTOEXEC.BAT A:\AUTOEXEC.ORG
COPY A:\AUTOEXEC.ORG+TOOLENV.BAT A:\AUTOEXEC.BAT
と、従来のAUTOEXEC.BATとインストールされたTOOLENV.BATをマージすればよいみたいですね。
私の環境だとC.BATとマージすれば良さそうです。
インストール
INST.Xの起動
B:ドライブにチェンジして、INST.Xを起動します。
B:[Enter]
INST[Enter]
$${\fbox{Y}}$$キーを押します。
$${\fbox{Enter}}$$キーを押します。
$${\fbox{Enter}}$$キーを押します。
$${\fbox{Y}}$$キーを押します。
$${\fbox{Y}}$$キーを押します。
$${\fbox{Enter}}$$キーを押します。
$${\fbox{SPACE}}$$キーを押します。
$${\fbox{XC Ver2.** 環境で使う}}$$を選択し、$${\fbox{Enter}}$$キーを押すします。
$${\fbox{Enter}}$$キーを押します。
$${\fbox{Enter}}$$キーを押します。
(2回)
$${\fbox{Enter}}$$キーを押します。
$${\fbox{Enter}}$$キーを押します。
$${\fbox{Y}}$$キーを押します。
$${\fbox{Y}}$$キーを押します。
$${\fbox{Enter}}$$キーを押します。
0ドライブにDISK Bを入れます。(1ドライブではありません)
インストールが終了します。
C.BATの調整
READMEに書いてあった、
COPY A:\AUTOEXEC.BAT A:\AUTOEXEC.ORG
COPY A:\AUTOEXEC.ORG+TOOLENV.BAT A:\AUTOEXEC.BAT
を参考に、以下を実行します。
A:[Enter]
copy C.BAT D:¥DEVELOP_1[Enter]
copy A:¥C.BAT A:¥C.ORG[Enter]
copy A:¥C.ORG+A:¥TOOLS¥TOOLENV.BAT A:¥C.BAT[Enter]
すると
C.BATが
echo off
path A:\;A:\BIN;A:\XC;A:\XC\CC;A:\XC\BIN;A:\XC\BC;A:\XC\BASIC2;
set include=A:\XC\INCLUDE
set lib=A:\XC\LIB
set cc=A:\XC\CC
set bc=A:\XC\BC
temp=A:
A:
cd A:\XC
こうなります。
echo off
path A:\;A:\BIN;A:\XC;A:\XC\CC;A:\XC\BIN;A:\XC\BC;A:\XC\BASIC2;
set include=A:\XC\INCLUDE
set lib=A:\XC\LIB
set cc=A:\XC\CC
set bc=A:\XC\BC
temp=A:
A:
cd A:\XC
set GCC_LIB=.l
set MARIKO=A
set GCC_OPTION=LFMOE
set GCC_AS= HAS
set GCC_LINK= HLK -l floatfnc.l
set HAS=
set SILK=
これで、C[Enter]でコンパイルできるようになるはず…
コンパイル
hello worldを表示してみる
では、コンパイルしてみます。
テストするのは、やっぱhello worldっしょ。
てことで、ED.Xで
#include <stdio.h>
main(){
printf("hello world\n");
}
を書いてコンパイルしてみます。
ed HELLO.C[Ener]
ファイル名はHELLO.Cで保存。保存方法は$${\fbox{ESC}}$$-$${\fbox{X}}$$です。
では、gccでコンパイルしてみます。
gcc HELLO.C[Enter]
ありゃ?
こりゃgccにpathが通っていないなぁ。
C.BATにA:\TOOLSを追加
$${\fbox{A:¥TOOLS}}$$の中にgcc.x やらがあるので、A:¥TOOLSフォルダのpathを通せば良いのだろう。ってことで、エディタで書き加えます。
ed A:¥C.BAT[Enter]
path行の最後に$${\fbox{A:¥TOOLS;}}$$を追加します。
$${\fbox{ESC}}$$-$${\fbox{X}}$$で保存します。
改めてコンパイル
では、改めてC[Enter]を実行後、コンパイルしてみます。
d:[Enter]
c[Enter]
gcc HELLO.C[Enter]
なにやらWarningが出ましたが、まぁいいか。
実行ファイルが出来たか見てみましょう。
dir HELLO.*
無事HELLO.xが出来ています。
では実行してみます。
hello[Enter]
無事hello worldが表示されました。
あ、思い出しました。Warningが気になる方は、$${\fbox{-O}}$$オプションをつけてコンパイルすると最適化が実施されて出なくます。
以上です。
ちょっと怪しい結果だけど、素人が楽しむにはこんなもんで良いと思う…