示例#1
0
文件: sound.c 项目: startmenu/PCemN
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);
}
示例#2
0
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;
}
示例#3
0
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;
}
示例#4
0
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;
}
示例#5
0
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;
}
示例#6
0
void speaker_init()
{
    sound_add_handler(speaker_get_buffer, NULL);
    speaker_mute = 0;
}