32bitプログラミングの恐怖


 Audio Studio Liteなど16bitソフトの開発に区切りが付いたことで、ようやく32bitのプログラミングを開始しようかというところです。試しに16bit用に書いたSequence Studio Liteのコードをそのまま32bitでコンパイルしてみたところ・・何事もなくコンパイル終了。実行してみると・・ぼろぼろ(T_T)。起動するようになるまで何度も何度も手直しして、やっと立ち上がったかと思えばバグの嵐。32bitへの以降は、そう簡単ではないようです。こうなってしまった原因として最も考えられるのがInteger型が32bitになったこと。そのあたりのメモリ計算や、割り当て、他の型との代入の際に多くのエラーの原因があると思われます。
 Midiも全く機能しません。デバイスのオープンさえ出来ない状態です。また、コールバックも正常に行われていないようで、すぐ原因不明のエラーを出して止まってしまいます。一体カウントが正常に進むようになるまで何個所を直さなければいけないのか・・考えただけで嫌になってしまいます。
 さらに、マルチメディアタイマーが普通のタイマーくらいボロボロなのです。これじゃ分解能48さえも実現できそうにありません。マルチメディアタイマー意外にも何か方法があるのでしょうか、そうでもなければその部分は16bitを受け継ぐしかありません。・・ということは肝心な部分がほとんど16bitになってしまうことになり、32bitにする意味はほとんどなくなってしまいます。まあ、それ以前に32bitアプリからどうやって16bitルーチンを呼び出すのかも分かっていませんが・・。
 このように、明らかに難航している32bitへの移植ですが、せっかくもうすぐ夏休みに入ることですし、32bitに慣れるためにいくつかゲームを作りながら、ゆっくり移植していこうと思っています。