こんにちは。
今日は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をご利用ください。(*1.29以降のバージョンのコンパイルは最下部よりご覧ください)
別途テキストエディタが必要になりますので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を導入します。
こちらのサイトのソースコードを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の再生にはプレーヤーが必要になります。
入門用としてはZXTuneが良いように思われました。
本格的な制作にはosoumenさんの提供しているnsfplayjを推奨いたします。
https://github.com/osoumen/nsfplayj
以上です。
*nsdlibの最新版(1.30)をコンパイルしてみました。
[…] […]
[…] […]
[…] https://www.tatsuyakitahara.com/archives/289 […]
[…] nsd.libをMac用にコンパイルしてみる nsd.libをMac用にコンパイルしてみる […]