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; }
static INT32 DrvDoReset() { SekOpen(0); SekReset(); SekClose(); EEPROMReset(); YMZ280BReset(); nVideoIRQ = 1; nSoundIRQ = 1; nUnknownIRQ = 1; nIRQPending = 0; YMZ280BReset(); return 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; }
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; }