コード例 #1
0
ファイル: soundbox.cpp プロジェクト: TASVideos/BizHawk
static void SBoxDBG_SetRegister(const unsigned int id, uint32 value)
{
	if (id < _PSG_GSREG_COUNT)
		pce_psg->SetRegister(id, value);
	else
		switch (id)
		{
		case GSREG_ADPCM_CTRL:
			sbox.ADPCMControl = value & 0xFFFF;
			break;

		case GSREG_ADPCM0_LVOL:
			sbox.ADPCMVolume[0][0] = value & 0x3F;
			break;

		case GSREG_ADPCM0_RVOL:
			sbox.ADPCMVolume[0][1] = value & 0x3F;
			break;

		case GSREG_ADPCM1_LVOL:
			sbox.ADPCMVolume[1][0] = value & 0x3F;
			break;

		case GSREG_ADPCM1_RVOL:
			sbox.ADPCMVolume[1][1] = value & 0x3F;
			break;

		case GSREG_CDDA_LVOL:
			sbox.CDDAVolume[0] = value & 0x3F;
			SCSICD_SetCDDAVolume(0.50f * sbox.CDDAVolume[0] / 63, 0.50f * sbox.CDDAVolume[1] / 63);
			break;

		case GSREG_CDDA_RVOL:
			sbox.CDDAVolume[1] = value & 0x3F;
			SCSICD_SetCDDAVolume(0.50f * sbox.CDDAVolume[0] / 63, 0.50f * sbox.CDDAVolume[1] / 63);
			break;

		case GSREG_ADPCM0_CUR:
			sbox.ADPCMPredictor[0] = ((int32)value & 0x7FFF) - 0x4000;
			break;

		case GSREG_ADPCM1_CUR:
			sbox.ADPCMPredictor[1] = ((int32)value & 0x7FFF) - 0x4000;
			break;
		}
}
コード例 #2
0
ファイル: pcecd.cpp プロジェクト: acgleader/emu-ex-plus-alpha
static INLINE void Fader_SyncWhich(void)
{
 if(Fader.Command & 0x2) // ADPCM fade
 {
  ADPCMFadeVolume = Fader.Volume;
  CDDAFadeVolume = 65536;
 }
 else   // CD-DA Fade
 {
  CDDAFadeVolume = Fader.Volume;
  ADPCMFadeVolume = 65536;
 }

 ADPCMFadeVolume >>= 6;
 SCSICD_SetCDDAVolume(0.50f * CDDAFadeVolume * CDDAVolumeSetting / 65536, 
	 0.50f * CDDAFadeVolume * CDDAVolumeSetting / 65536);
}
コード例 #3
0
ファイル: cdrom.cpp プロジェクト: CaoCaoBeard/pcejin
static void SyncCDVolume(void)
{
	SCSICD_SetCDDAVolume(0.50f * CurrentCDVolume * CDDAVolumeSetting / 65536, 0.50f * CurrentCDVolume * CDDAVolumeSetting / 65536);
}