comparison sms.c @ 1555:6ce36c3f250b

More audio refactoring in preparation for allowing proper sync to video with dynamic audio rate control
author Michael Pavone <pavone@retrodev.com>
date Fri, 30 Mar 2018 00:37:08 -0700
parents ce1f93be0104
children 430dd12e4010
comparison
equal deleted inserted replaced
1554:87350caf6dab 1555:6ce36c3f250b
511 sms->bank_regs[1] = 0; 511 sms->bank_regs[1] = 0;
512 sms->bank_regs[2] = 0x4000 >> 14; 512 sms->bank_regs[2] = 0x4000 >> 14;
513 sms->bank_regs[3] = 0x8000 >> 14; 513 sms->bank_regs[3] = 0x8000 >> 14;
514 } 514 }
515 515
516 char * lowpass_cutoff_str = tern_find_path(config, "audio\0lowpass_cutoff\0", TVAL_PTR).ptrval;
517 uint32_t lowpass_cutoff = lowpass_cutoff_str ? atoi(lowpass_cutoff_str) : 3390;
518
519 //TODO: Detect region and pick master clock based off of that 516 //TODO: Detect region and pick master clock based off of that
520 sms->normal_clock = sms->master_clock = 53693175; 517 sms->normal_clock = sms->master_clock = 53693175;
521 518
522 sms->psg = malloc(sizeof(psg_context)); 519 sms->psg = malloc(sizeof(psg_context));
523 psg_init(sms->psg, render_sample_rate(), sms->master_clock, 15*16, render_audio_buffer(), lowpass_cutoff); 520 psg_init(sms->psg, sms->master_clock, 15*16);
524 521
525 sms->vdp = malloc(sizeof(vdp_context)); 522 sms->vdp = malloc(sizeof(vdp_context));
526 init_vdp_context(sms->vdp, 0); 523 init_vdp_context(sms->vdp, 0);
527 sms->vdp->system = &sms->header; 524 sms->vdp->system = &sms->header;
528 525