BlueMSX2.9.0私家版メモ

■ BlueMSXのビルドメモ




BlueMSXは使いやすくて動作も優秀なMSXエミュレーターですが、
更新が止まって久しいのでOpenMSXに移行した方が良いかもしれません。
ですが、それでもBlueMSXをもう少し愛用したい方向けの情報になります。

他の人がビルドした2013年 2.8.3β
https://www.msx.org/forum/msx-talk/emulation/bluemsx-latest-version

自分が弄った3倍、4倍表示対応版2.9.0β
https://app.box.com/s/50a2muesr4vvii7shz1viw5ae85vpafn
と、そのソース
https://app.box.com/s/7uq1l4yqc2xkdwt1lifvye6c5x7nhv78

WindowsSDK7以降はDirectShow回りが変更されてるのでそのあたりの修正とか色々。
VC++2017かVC++2010、
Windows SDK 7.0か7.1
DirectX SDK (August 2007)
でビルド完了。

※ ただ自前ビルド版では録画機能があまり安定しない気がします。

●BlueMSX最新版ソース(2.9.0?)

https://sourceforge.net/p/bluemsx/code/HEAD/tree/
ステートセーブのバグその他が修正されている。

●qedit_def.hを探してきて、qedit.hをインクルードしてる箇所をqedit_def.hに置き換え。
https://github.com/nyatla/NyWin32Capture

●Strmbaselib、Strmiids.lib、Quartz.lib
WindowsSDKへのDirectShow統合に伴って、明示的なライブラリへのリンクが必要。
めんどいからこんな感じで、Win32DirectShow.cpp に pragmaで指定。
#pragma comment(lib, “Strmbase.lib”)
#pragma comment(lib, “Strmiids.lib”)
#pragma comment(lib, “Quartz.lib”)

※ Strmbase.lib
プロジェクトのblueMSX\Src\ThirdParty\DirectShowSamples に存在する。
インクルードパスに無ければ追加
....\Src\ThirdParty\DirectShowSamples
ライブラリパスに無ければ追加
....\Src\ThirdParty\DirectShowSamples

※ 自分で作成する場合は、Windows SDK 7のsampleにあるbaseclassesから作れる。
http://imagingsolution.blog.fc2.com/blog-entry-189.html

自作の場合の追加のインクルードパス
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses

自作の場合の追加のライブラリパスに追加
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug_MBCS
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Release_MBCS
(※ 32ビット版Windowsの人はC:\Program Files (x86)\ → C:\Program Files\)

●zlibstat.lib
zlibstat.libを要求された場合は、プロジェクト内に存在しないので
zlibをダウンロードしてきてビルドして作る。
(レポジトリの過去ログを探れば見つかるかもしれない?)

●build_number.h
build_number.hが見つからないといわれた場合インクルードパスに追加
....\bin

●Languageファイル
英語環境向けのため、日本語環境だとうまくいかない事がある。

日本語環境でどうにかするなら、
エスケープシーケンス(漢字やかなの前に\があった場合の\)を削除する。
・こまめにUTF-8で保存しなおす。
UTF-8で保存しなおした場合、マルチバイト文字だと再現できませんなどの警告が出るがあきらめる。
(ワイド文字対応すると結構大変そう)

英語環境でやるなら、
VisualStudioインストーラで言語を追加。
設定→環境→国際対応で英語環境を選択する。

●その他
・upx.exeをダウンロードしてきてパスを通しておく。
・何か足りなかったらインクルードパス等に追加すればたぶんできる。