正直日記



2005/09/21

_ うへぇ
MIDI-SYNC CABLEって輸入代理店で買うと12,390円するのなー。
マジコン買えちゃわない?
_ ひらめいたぞ
MIDI-SYNC CABLEでTX81ZとかFB-01を繋げばいいんだよ!
俺って超天才じゃね?
_ BREWのガレッガが俺の機種に対応しないのが悔しいので
誰か一緒にガレッガ移植しない?AGBにさー。
BGMコンバとテストプレイは俺がやるよー。わら
_ ミッソーチェンバーイズエンプティ!
さすがにRISCだけあってARM7はMULの速さが異常だな。8bitで2clkだものね。
掛け算を減らした程度ではなかなか高速化につながらないっすなあ。
(CISCだと例えば80386が9-14clkで、80486に至っては13-18clkも掛かる。
ので、乗算の代わりにビットシフトと足し算で頑張れば高速化出来たり出来
なかったりした)

それでも減らせるところは減らしてみようと思います。
do {
  *mxr++ = *snd * vol;
  cnt += step;
  if (cnt > TICK_COUNT) {
    snd += cnt / TICK_COUNT;
    cnt &= (TICK_COUNT - 1);
  }
} while (--length);
これをこうする。
int sample = *snd * vol;
do {
  *mxr++ = sample;
  cnt += step;
  if (cnt > TICK_COUNT) {
    snd += cnt / TICK_COUNT;
    cnt &= (TICK_COUNT - 1);
    sample = *snd * vol;
  }
} while (--length);
step < TICK_COUNT の場合にちょっとだけ掛け算が減らせそう。 つかさー、最初のコードからして「こりゃ駄目だろ」って感じなんだけど、 いやそれは分かってるんだけど、これくらいはコンパイラの最適化でなんと かしてほしい感じじゃない?

最新
2010 | 01 04
2009 | 01 02 03 04 05 06 07 09 10 11 12
2008 | 01 02 03 04 05 06 07 08 09 10 11 12
2007 | 02 03 04 05 06 07 08 10 11 12
2006 | 01 02 03 04 05 06 07 08 09 10 11 12
2005 | 01 02 03 04 05 06 07 08 09 10 11 12