static m64p_error plugin_start_audio(void) { /* fill in the AUDIO_INFO data structure */ audio_info.RDRAM = (unsigned char *) rdram; audio_info.DMEM = (unsigned char *) SP_DMEM; audio_info.IMEM = (unsigned char *) SP_IMEM; audio_info.MI_INTR_REG = &(MI_register.mi_intr_reg); audio_info.AI_DRAM_ADDR_REG = &(ai_register.ai_dram_addr); audio_info.AI_LEN_REG = &(ai_register.ai_len); audio_info.AI_CONTROL_REG = &(ai_register.ai_control); audio_info.AI_STATUS_REG = &dummy; audio_info.AI_DACRATE_REG = &(ai_register.ai_dacrate); audio_info.AI_BITRATE_REG = &(ai_register.ai_bitrate); audio_info.CheckInterrupts = EmptyFunc; /* call the audio plugin */ if (!audio.initiateAudio(audio_info)) return M64ERR_PLUGIN_FAIL; return M64ERR_SUCCESS; }
static m64p_error plugin_start_audio(void) { /* fill in the AUDIO_INFO data structure */ audio_info.RDRAM = (unsigned char *) g_rdram; audio_info.DMEM = (unsigned char *) g_dev.sp.mem; audio_info.IMEM = (unsigned char *) g_dev.sp.mem + 0x1000; audio_info.MI_INTR_REG = &(g_dev.r4300.mi.regs[MI_INTR_REG]); audio_info.AI_DRAM_ADDR_REG = &(g_dev.ai.regs[AI_DRAM_ADDR_REG]); audio_info.AI_LEN_REG = &(g_dev.ai.regs[AI_LEN_REG]); audio_info.AI_CONTROL_REG = &(g_dev.ai.regs[AI_CONTROL_REG]); audio_info.AI_STATUS_REG = &dummy; audio_info.AI_DACRATE_REG = &(g_dev.ai.regs[AI_DACRATE_REG]); audio_info.AI_BITRATE_REG = &(g_dev.ai.regs[AI_BITRATE_REG]); audio_info.CheckInterrupts = EmptyFunc; /* call the audio plugin */ if (!audio.initiateAudio(audio_info)) return M64ERR_PLUGIN_FAIL; return M64ERR_SUCCESS; }