Ejemplo n.º 1
0
void opl2_init(opl_t *opl)
{
        opl_init(ym3812_timer_set_0, opl, 0, 0);
        opl_init(ym3812_timer_set_1, opl, 1, 0);
        timer_add(opl_timer_callback00, &opl->timers[0][0], &opl->timers_enable[0][0], (void *)opl);
        timer_add(opl_timer_callback01, &opl->timers[0][1], &opl->timers_enable[0][1], (void *)opl);
        timer_add(opl_timer_callback10, &opl->timers[1][0], &opl->timers_enable[1][0], (void *)opl);
        timer_add(opl_timer_callback11, &opl->timers[1][1], &opl->timers_enable[1][1], (void *)opl);
}
Ejemplo n.º 2
0
void lds_rewind( void )
{
	int i;

	/* init all with 0 */
	tempo_now = 3;
	playing = true; songlooped = false;
	jumping = fadeonoff = allvolume = hardfade = pattplay = posplay = jumppos =	mainvolume = 0;
	memset(channel, 0, sizeof(channel));
	memset(fmchip, 0, sizeof(fmchip));

	/* OPL2 init */
	opl_init();				/* Reset OPL chip */
	opl_write(1, 0x20);
	opl_write(8, 0);
	opl_write(0xbd, regbd);

	for(i = 0; i < 9; i++) {
		opl_write(0x20 + op_table[i], 0);
		opl_write(0x23 + op_table[i], 0);
		opl_write(0x40 + op_table[i], 0x3f);
		opl_write(0x43 + op_table[i], 0x3f);
		opl_write(0x60 + op_table[i], 0xff);
		opl_write(0x63 + op_table[i], 0xff);
		opl_write(0x80 + op_table[i], 0xff);
		opl_write(0x83 + op_table[i], 0xff);
		opl_write(0xe0 + op_table[i], 0);
		opl_write(0xe3 + op_table[i], 0);
		opl_write(0xa0 + i, 0);
		opl_write(0xb0 + i, 0);
		opl_write(0xc0 + i, 0);
	}
}
Ejemplo n.º 3
0
bool init_audio( void )
{
	if (audio_disabled)
		return false;
	
	SDL_AudioSpec ask, got;
	
	ask.freq = freq;
	ask.format = (BYTES_PER_SAMPLE == 2) ? AUDIO_S16SYS : AUDIO_S8;
	ask.channels = 1;
	ask.samples = 512;
	ask.callback = audio_cb;
	
	printf("\trequested %d Hz, %d channels, %d samples\n", ask.freq, ask.channels, ask.samples);
	
	if (SDL_OpenAudio(&ask, &got) == -1)
	{
		fprintf(stderr, "error: failed to initialize SDL audio: %s\n", SDL_GetError());
		audio_disabled = true;
		return false;
	}
	
	printf("\tobtained  %d Hz, %d channels, %d samples\n", got.freq, got.channels, got.samples);
	
	SDL_BuildAudioCVT(&audio_cvt, ask.format, ask.channels, ask.freq, got.format, got.channels, got.freq);
	
	opl_init();
	
	SDL_PauseAudio(0); // unpause
	
	return true;
}
Ejemplo n.º 4
0
void opl3_init(opl_t *opl)
{
        opl_init(ymf262_timer_set, opl, 0, 1);
}
Ejemplo n.º 5
0
void opl2_init(opl_t *opl)
{
        opl_init(ym3812_timer_set_0, opl, 0, 0);
        opl_init(ym3812_timer_set_1, opl, 1, 0);
}
Ejemplo n.º 6
0
void opl3_init(opl_t *opl)
{
        opl_init(ymf262_timer_set, opl, 0, 1);
        timer_add(opl_timer_callback00, &opl->timers[0][0], &opl->timers_enable[0][0], (void *)opl);
        timer_add(opl_timer_callback01, &opl->timers[0][1], &opl->timers_enable[0][1], (void *)opl);
}
Ejemplo n.º 7
0
// converted from DOSBOX dbopl.cpp: DBOPL::Handler::Init
void dbadlib_init(AdlibTimer *timer, int opl3_rate)
{
	AdlibChip__AdlibChip(timer);
	opl_init(opl3_rate);
}