MakerFaire用に新たなデバイスを作っていたらOpenStickへの書き込みが出来なくなっている事に気づきました。 まずいです。 このままではMakerFaireで胸を張って照会できません。
先日Windows7(32bit)からWindow10(64bit)に変更した事が絡んでいる様です。
OpenStickへの書き込みはMybootOSというツールで行うのですが、これが下の様なエラーになって立ち上がりません。
MybootOSはC#で書いてありVisualStudio2010でビルドしています。
ググってみると、どうやらビルドする時のCPUの指定がAnyCPUになっていたのが原因だった様です。 AnyCPUってのは実行するOSが32bitでも64bitでも、それぞれに合わせたモードで動いてくれるものだそうです。ところがプログラム内からDLLを読んでいると、DLLが32bitか64bitかというところまでは面倒を見てくれないため、今回の場合アプリケーションは64biitで動作しているのにDLLが32bitだったのでエラーになっていました(Mybootではmpusbapi.dllを使っています)。
そこでVisualStudioでX86としてビルドし直すと32bitのアプリが生成され、これだと最初から32bitとして実行するので無事動作する様になりました。
という事で64bitのOS上で動かす時は32bit版のアプリを実行しなければならないという解り難い状況になっています。
いずれにせよ動作する様になったのでバイナリだけアップしておきます(ソースは変更していないので)。
で、そもそも何を作っていたのかというと、これです。。。
今回MakerFaireには実物大コントローラは持って行かないので雰囲気だけでもヨットっぽいコントローラをつくってみました。