public void SetStreamData(byte si, byte bank, byte StepSize, byte StepBase) { if (si == 0xFF) { return; } DacCtrl[si].Bank = bank; if (DacCtrl[si].Bank >= PCM_BANK_COUNT) { DacCtrl[si].Bank = 0x00; } VGM_PCM_BANK TempPCM = PCMBank[DacCtrl[si].Bank]; //Last95Max = TempPCM->BankCount; set_data(si, TempPCM.Data, TempPCM.DataSize, StepSize, StepBase); }
public void StartStreamFastCall(byte CurChip, uint TempSht, byte mode) { if (CurChip == 0xFF || !DacCtrl[CurChip].Enable || PCMBank[DacCtrl[CurChip].Bank].BankCount == 0) { return; } VGM_PCM_BANK TempPCM = PCMBank[DacCtrl[CurChip].Bank]; if (TempSht >= TempPCM.BankCount) { TempSht = 0x00; } VGM_PCM_DATA TempBnk = TempPCM.Bank[(int)TempSht]; byte TempByt = (byte)(dacControl.DCTRL_LMODE_BYTES | (mode & 0x10) | // Reverse Mode ((mode & 0x01) << 7)); // Looping start(CurChip, TempBnk.DataStart, TempByt, TempBnk.DataSize); }