
UbuntuでDQ1を再コンパイルしたら、makefileでハマった―開発環境の再構築②
前回までのあらす
前回、UbuntuでX68000のエミュレータであるXEiJを動作させた。
動作させたと言っても、Windowsの環境で構築したHDDイメージをそのまま使用しているわけだが。さらにUbuntu環境でも、コンパイル済みのdq1.xが動作することは前回確認していた。
が、動作したdq1.xは、以前の記事用にNPCを非表示にしていたものだった。
makeされない
以前インストール済みのvscodeでソースファイルを開き、#if 0を一箇所
#if 1に変えて、
make
だけで終わる予定だった。

もちろん、makefileがないなんてことではない。

いろいろやっているうちにわかったが、makefileを指定してやれば問題ないらしい。
make /f makefile
でも、それはそれで納得が行かない。
もともと、Windowsでは xxxx を使用しており、特に問題なく、makeだけで動作していたから。
ファイルが間違っていれば、以下のようにファイル名が表示されるばす。

そもそも、makefileがないとNo targetになる。

で、別エミュレータでは認識していることを加味すると考えられるパターンは、
rename makefile MAKEFILE

認識した。…やっぱり^^;
チャッピーに公式のサイトを探してもらったら、
Linux標準の ext4 は大文字小文字を区別するので、Human68kで使うには不向き。
LinuxでHFSを使うなら、可能ならWindows用にフォーマットされたディスクを割り当てることを推奨。
FAT32は大小文字を区別しないので問題なし。
NTFSなら nocase オプションを使う。
私がext4上で動作させているのが問題らしい…。
DQ1のためだけにFAT32を用意するのももったいないので、このままext4にしますけど…まぁ、原因が判明すれば特に問題はないです。
再コンパイル
#if 0 を一箇所だけ #if 1に戻して、再度コンパイル。
依存関係により複数のファイルがコンパイルされて、リンクされ、生成された dq1.x を起動すると…王の間が表示され、一瞬で終了した。
起動ログによると、メインループが即終了している。
エラー落ちしているわけではない。? もちろん、思い当たる節はある。
デバッグ用にA+B(A,Bボタンの同時押し)で終了するようにしている。
恐らく、このA+Bボタン同時押しをなぜか、検知しているのだろう。

メインループでやっているA+Bボタン同時押しでの終了をとりあえず、止めて、再コンパイル。やっぱり、普通に起動できるよね^ ^;

X68000には、インタラプトボタンがあるので、それを押して、Aキーを押せば、とりあえず終了はできるので、まずは、これでいいと言うことにしておくか。
とはいえ、ジョイスティックが使用できないのも不便なので、次回はジョイスティックを動作させる方法を考えてみる。