nsd.libをMac用にコンパイルしてみる。

スポンサーリンク

こんにちは。

今日はnsd.libをMac用にコンパイルしてみる記事を公開してみようと思います。最新版のnsdl129(ver1.29)では対応していない方法ですので、それ以下のバージョンでご利用ください。

こちらの記事は伝説のセピアンゲーマーズというサイトやnoteなどで公開していたのですが、サイトの閉鎖などで行き場を失ったため、こちらで公開をし直すことにしました。参考になれば幸いです。

nsd.libのダウンロード

まず、nsd.lib(NES Sound Driver & Library)はこちらからDLできます。

http://shaw.la.coocan.jp/nsdl/

GitHubでの管理に切り替えたようですので、そちらからDLしてみてください。

https://github.com/Shaw02/nsdlib/releases

現在の最新バージョンは1.29となっていますが、64bit対応されているため、この方法ではMac用にコンパイルできません。1.28を例にご説明いたしますので、ご利用の際は過去バージョンの1.28をご利用ください。

別途テキストエディタが必要になりますのでVisual Studio Codeなどをご利用ください。

https://azure.microsoft.com/ja-jp/products/visual-studio-code/

下ごしらえ

Macにnsdl128をDLできたらzipファイルを解凍します。

nsdl128/src/nsc

こちらのファイルまで下に降りていってmakefileというファイルに変更を加えます。

こんな感じです。

ポイントはcp932をutf-8に書き換えるところです。

CFLAGSの行の該当箇所を書き換えてください。

また#//と打って、CXXFLAGSをコメントアウトにします。

CFLAGS		= -finput-charset=utf-8 -fexec-charset=utf-8 -O4 -Wall -I/usr/local/include -D_UNICODE
#// CXXFLAGS	= -finput-charset=cp932 -fexec-charset=cp932 -O4 -Wall -I/usr/local/include -D_UNICODE

こんな感じになりますね。

Homebrewとnkf

次にHomebrewを導入します。

https://brew.sh/index_ja

こちらのサイトのソースコードをMacのターミナルにはりつけて実行してみてください。自動的にインストールがはじまります。こちらはパッケージマネージャーになりますので、何かとあると今後も便利です。

Homebrewのインストールが終わったらnetwork kanji filterをインストールします。ターミナルで

brew install nkf

と入力してインストールしましょう。

ターミナルを使って

さて、ここからはターミナルをフル活動します。よくわからない方はコードを示しますので、順番にターミナルに打ち込んで進めて行ってください。

cd nsdl128/src/nsc

cdコマンドでnsd.libのnscフォルダに移動します。

こちらで先ほど導入したnkfを実行します。コマンドは

nkf --overwrite -w -Lu *.cpp *.h makefile

こちらです。–overwrite以下はオプションですが、つけないとうまくいかないようですので、ご注意ください。

特にエラーなどがでなければ成功しているはずですので、makeします。

make 2>&1 | tee make-log

makeが通っていればコンパイルされてnscというファイルができます。

このnscファイルをbinなどに移動して、MMLをNSFファイルにコンパイルすることが可能です。

MMLのコンパイル

コンパイルの際のコマンドは

./nsc MML

この形式です。.mmlの形式のみコンパイル可能で、ファイルの拡張子は入力しないほうが良いようです。

NSFプレーヤー

生成したNSFの再生にはプレーヤーが必要になります。

osoumenさんの提供しているnsfplayjを推奨いたします。

https://github.com/osoumen/nsfplayj

よくわからないという方のために自分用にビルドしたnsfplayjを置いておきますので、ご利用ください。

以上です!

お疲れ様でしたー!

スポンサーリンク