2004年1月4日の日記を表示中

2004年 1月 4日 (日)

DirectSound

今日はほぼ一日,DirectSoundでどっぱまりでした.DirectSoundといってもWindowsのあれではなくてGBAの方なわけなんですが.タイマ動かしつつサウンドデータをDMAでFIFOに叩き込んで,DMAコントローラの割り込みで転送済みデータサイズを減らして,0になったらDMAとタイマ止めて・・・,と「Linuxから目覚める〜」と全く同じようにコーディングしたつもりなのに,何故か前の方のデータを再生すると,ちょっとだけはみ出て続きの領域に格納されたデータが一緒に再生されてしまう・・・.

色々調べた結果,どうもDMA終了割り込み時に転送済みサイズを16しか減らしていないのがダメらしく,ここを20にしたら(要するに早目にDMA転送を切り上げるようにしたら)きれいに音が出るようになったんですが,なんでFIFOのサイズより多く転送されてしまうのか,わけがわかりません.サンプリングレートもデータサイズもちゃんとあってるはずなのに・・・.というか,16byte転送につき1回割り込みかかるって,本当なのか???

というわけで

一応休み終わりなんで,正月休みの成果ということで,GBAのテトリスです.bzip2で圧縮されてるんで,適当に解凍してください.解凍後は,実機に転送するか,VBAで動かせます.背景は具満タン8についてたのを使ってます.効果音はザ・マッチメイカァズさんの物を利用させていただいてます.何の役に立つかもわかりませんが,一応近々ソースその他を含めてがらくた置場に置く予定です.今は,激しく汚くて・・・,ちょっと・・・.

で,「Linuxから目覚める〜」ですが,色々勉強になったものの,あれだけだとやっぱつらいですね.特にレジスタのアドレスとか,まとめて掲載したページが無いのが痛い.あと,やっぱ筆者さんがあっさりPhotoshop使って作業しちゃったりしてるのが萎えます.「Linuxから」とタイトルにつけたなら,画像変換はgimp+自作プログラムで,音声変換はsox+自作プログラムでという具合に,KNOPPIX上で気合いで完結させて欲しかった・・・.これなら最初からWindows+Cygwinとかの方が良くない?

2004年1月4日の日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2004年1月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ