Example #1
0
int YMZ280BInit(int nClock, void (*IRQCallback)(int), int nChannels)
{
	nYMZ280BFrequency = nClock;

	if (nBurnSoundRate > 0) {
		nYMZ280BSampleRate = nBurnSoundRate;
	} else {
		nYMZ280BSampleRate = 11025;
	}

	// Compute sample deltas
	for (int n = 0; n < 16; n++) {
		nDelta = (n & 7) * 2 + 1;
		if (n & 8) {
			nDelta = -nDelta;
		}
		YMZ280BDeltaTable[n] = nDelta;
	}

	YMZ280BIRQCallback = IRQCallback;

	free(pBuffer);
	pBuffer = (int*)malloc(nYMZ280BSampleRate *  2 * sizeof(int));

	for (int j = 0; j < 8; j++) {
		YMZ280BChannelData[j] = (int*)malloc(0x1000 * sizeof(int));
	}

	nOutputChannels = nChannels;

	YMZ280BReset();

	return 0;
}
Example #2
0
static INT32 DrvDoReset()
{
	SekOpen(0);
	SekReset();
	SekClose();

	EEPROMReset();

	YMZ280BReset();

	nVideoIRQ = 1;
	nSoundIRQ = 1;
	nUnknownIRQ = 1;

	nIRQPending = 0;

	YMZ280BReset();

	return 0;
}
Example #3
0
static INT32 DrvDoReset()
{
	memset (AllRam, 0, RamEnd - AllRam);

	SekOpen(0);
	SekReset();
	SekClose();

	KonamiICReset();

	YMZ280BReset();

	for (INT32 i = 0; i < 4; i++) 
		layer_colorbase[i] = i << 6;

	return 0;
}
Example #4
0
INT32 YMZ280BInit(INT32 nClock, void (*IRQCallback)(INT32), INT32 nChannels)
{
	DebugSnd_YMZ280BInitted = 1;
	
	nYMZ280BFrequency = nClock;

	if (nBurnSoundRate > 0) {
		nYMZ280BSampleRate = nBurnSoundRate;
	} else {
		nYMZ280BSampleRate = 11025;
	}

	// Compute sample deltas
	for (INT32 n = 0; n < 16; n++) {
		nDelta = (n & 7) * 2 + 1;
		if (n & 8) {
			nDelta = -nDelta;
		}
		YMZ280BDeltaTable[n] = nDelta;
	}

	YMZ280BIRQCallback = IRQCallback;

	if (pBuffer) {
		free(pBuffer);
		pBuffer = NULL;
	}
	pBuffer = (INT32*)malloc(nYMZ280BSampleRate *  2 * sizeof(INT32));

	for (INT32 j = 0; j < 8; j++) {
		YMZ280BChannelData[j] = (INT32*)malloc(0x1000 * sizeof(INT32));
	}

	nOutputChannels = nChannels;

	YMZ280BReset();

	return 0;
}