mucom88 for Mac を macOS 10.14 (mojave) で、ビルドしてみた
mucom88 というのは、88用の、古代祐三さんの自作FM音源ドライバーとのこと
GitHub - onitama/mucom88: OpenMucom88 project
それが何と、Windowsで動くようになりました。中身としては、PC-8801 相当のエミュレータを、HSPというライブラリ?でGUIを記述して、Windowsアプリとして動かしているそうです。
ただし、ROMファイルなど問題となりそうな部分は使ってませんので、誰でも使うことができます。
すぐに聞くことができるように、たくさんの楽曲がMMLという形で、公開されています。
ソースリストは公開されているので、Windows 以外でも動かす試みがなされています。今回は、Mac 版を取り上げてみます。
私も、なんとかできないか?と思っていたのですが、その前に、ぼうきちさんが移植してくださりました。本当に頭が上がりません。(__)
ただ、Xcodeのプロジェクトファイルが含まれているのですが、MacOSX 10.6 のプロジェクトファイルのようです。 10.14 などでビルドしたい場合、プロジェクトファイルの設定をいじらないと、ビルドできないようです。
とりあえず、いじらないといけないと思われるところを羅列してみました。ただし、本当にこれだけなのか(変えなくてもいいのか)は、追試をしないといけないと思います。
大きなところでは、Xcode 10から、32ビットアーキテクチャーがサポートされない。あと、C++ライブラリが、libc++ に変わりました。
あと、Mojaveが、32ビットバイナリーをサポートする最後の macOS であることが発表されています。。orz
Appleさん、ちょっとやりすぎ。。
Architedtures 64bit Intel
Valid Architectures X86_64
macOS Deployment Target macOS 10.14
Framework Search Paths /Library/Frameworks (変えなくてもいいかも?)
C++ Standard Library libc++
あと、Code Signing 系もいじったような。。最近のMac 開発は、デベロッパーIDが必須になってきているので、その流れでしょうか。。カタリナでどうなるのか、不安しかありません。汗
あと、SDLライブラリに依存しているので、/LIbrary/Frameworks に、SDL.framework を入れました。(SDLは、1.x の方)
ちなみに、ビルドされた実行ファイルは、Un*x の実行ファイルになるみたいですね。。
つまり、ターミナルで、$ ./miniosx hoge.muc などと打ち込まないといけないです。これは辛い。。
2パターン考えられます。
1つ目は、このプログラムにGUIを追加する外部プログラムを作り、そこから呼び出す。
2つ目は、このプログラムを改造して、GUIをつける。
手っ取り早いのは、1つ目か。。 うーん?
ちなみに、SDLに依存しているので、GUIといっても、GUIぽいのを配置して、それに反応するようにして。。と大変かもしれませんぎゃあ。。。