ゲームボーイアドバンス(GBA)非公式開発 Part2at GAMEDEVゲームボーイアドバンス(GBA)非公式開発 Part2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト403:名前は開発中のものです。 06/02/12 17:33:59 7Ys7XIFa int play_dma(u32* sound_src){ // DirectSound設定 REG_SGCNT0_H = 0x0906; *(u16*)0x4000082 = 0x0b0E; // sound control channel ( SGCNT0_H ) // 左右ボリュームの設定 1234 1234xLLL xRRR (0x77) REG_SGCNT0_L = 0xffff;0x0080; *(u16*)0x4000084 = 0xffff; //sound enable ( SGCNT1 ) // *(u32*)0x40000BC =(unsigned long)&ROM_Sample; // the address of the source // *(u32*)0x40000BC = (u32*)sound_src; // the address of the source // Waveデータ転送アドレス設定 *(u32*)0x40000BC =(u32)sound_src; // the address of the source // DMA→サウンド REG_SGFIFOA_L *(u32*)0x40000c0 = 0x040000a0;// Dest DMA LOW&HIGH written (0x40000c0= DM1DAD_L )(0x040000a0=SGFIFOA_L) // DMA有効,転送元増加,転送先固定,32ビット // REG_DM1CNT_H = DMA_ENABLE(8000) | DMA_TIMMING_SOUND(3000) | // DMAイネーブル・サウンドFIFO要求 // DMA_IF_ENABLE(4000) | // 割り込み要求イネーブル // DMA_CONTINUOUS_ON(0200) | // 連続モードON // DMA_SRC_INC(0000) | DMA_DEST_FIX(0040) | // 転送元増加・転送先不変選択 // DMA_32BIT_BUS(0400); // 32ビット // =e640 *(u16*)0x40000C6 = 0xB640; // サウンドFIFO要求を入れると音が鳴らない? // タイマー0の値を設定 u16の-値がサンプリングレート(周波数)になる // 11KHzの場合 -1520 *(u16*)0x4000100 = (u16)(-1520); // タイマー0を設定、周期は1クロックで1進む *(u16*)0x4000102 = 0x0080; //timer Control. Ingen IRQ eller nerdelning av CPU clockan. } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch