void sound_init() { initalmain(0,NULL); inital(); outbuffer = malloc(SOUNDBUFLEN * 2 * sizeof(int16_t)); sound_add_handler(sound_cd_poll, sound_cd_get_buffer, NULL); }
void *ssi2001_init() { ssi2001_t *ssi2001 = malloc(sizeof(ssi2001_t)); memset(ssi2001, 0, sizeof(ssi2001_t)); pclog("ssi2001_init\n"); ssi2001->psid = sid_init(); sid_reset(ssi2001->psid); io_sethandler(0x0280, 0x0020, ssi2001_read, NULL, NULL, ssi2001_write, NULL, NULL, ssi2001); sound_add_handler(ssi2001_get_buffer, ssi2001); return ssi2001; }
void *pssj_init(const device_t *info) { pssj_t *pssj = malloc(sizeof(pssj_t)); memset(pssj, 0, sizeof(pssj_t)); sn76489_init(&pssj->sn76489, 0x00c0, 0x0004, PSSJ, 3579545); io_sethandler(0x00C4, 0x0004, pssj_read, NULL, NULL, pssj_write, NULL, NULL, pssj); timer_add(pssj_callback, &pssj->timer_count, &pssj->enable, pssj); sound_add_handler(pssj_get_buffer, pssj); return pssj; }
void *pas16_init() { pas16_t *pas16 = malloc(sizeof(pas16_t)); memset(pas16, 0, sizeof(pas16_t)); opl3_init(&pas16->opl); sb_dsp_init(&pas16->dsp, SB2); io_sethandler(0x9a01, 0x0001, NULL, NULL, NULL, pas16_out_base, NULL, NULL, pas16); timer_add(pas16_pcm_poll, &pas16->pit.c[0], &pas16->pit.enable[0], pas16); sound_add_handler(pas16_get_buffer, pas16); return pas16; }
void *wss_init() { wss_t *wss = malloc(sizeof(wss_t)); int c; double attenuation; memset(wss, 0, sizeof(wss_t)); opl3_init(&wss->opl); ad1848_init(&wss->ad1848); ad1848_setirq(&wss->ad1848, 7); ad1848_setdma(&wss->ad1848, 3); io_sethandler(0x0388, 0x0004, opl3_read, NULL, NULL, opl3_write, NULL, NULL, &wss->opl); io_sethandler(0x0530, 0x0004, wss_read, NULL, NULL, wss_write, NULL, NULL, wss); io_sethandler(0x0534, 0x0004, ad1848_read, NULL, NULL, ad1848_write, NULL, NULL, &wss->ad1848); sound_add_handler(wss_poll, wss_get_buffer, wss); return wss; }
void speaker_init() { sound_add_handler(speaker_get_buffer, NULL); speaker_mute = 0; }