mirror of https://github.com/PCSX2/pcsx2.git
SPU2: enable portaudio on linux and additional clang-format
This commit is contained in:
parent
3d3e4ec1ba
commit
faae323d9d
|
@ -39,7 +39,7 @@ else()
|
|||
set(pcsx2FinalFlags "")
|
||||
endif()
|
||||
|
||||
set(pcsx2FinalFlags ${pcsx2FinalFlags} ${CommonFlags})
|
||||
set(pcsx2FinalFlags ${pcsx2FinalFlags} "-DSPU2X_PORTAUDIO" ${CommonFlags})
|
||||
|
||||
if(XDG_STD)
|
||||
set(pcsx2FinalFlags ${pcsx2FinalFlags} -DXDG_STD)
|
||||
|
@ -224,53 +224,54 @@ set(pcsx2CDVDHeaders
|
|||
|
||||
# SPU2 sources
|
||||
set(pcsx2SPU2Sources
|
||||
SPU2/ADSR.cpp
|
||||
SPU2/Debug.cpp
|
||||
SPU2/DplIIdecoder.cpp
|
||||
SPU2/Dma.cpp
|
||||
SPU2/Lowpass.cpp
|
||||
SPU2/Mixer.cpp
|
||||
SPU2/spu2.cpp
|
||||
SPU2/ReadInput.cpp
|
||||
SPU2/RegLog.cpp
|
||||
SPU2/RegTable.cpp
|
||||
SPU2/Reverb.cpp
|
||||
SPU2/SndOut.cpp
|
||||
SPU2/SndOut_SDL.cpp
|
||||
SPU2/spu2freeze.cpp
|
||||
SPU2/spu2replay.cpp
|
||||
SPU2/spu2sys.cpp
|
||||
SPU2/Timestretcher.cpp
|
||||
SPU2/Wavedump_wav.cpp
|
||||
SPU2/WavFile.cpp
|
||||
SPU2/Linux/Alsa.cpp
|
||||
SPU2/Linux/CfgHelpers.cpp
|
||||
SPU2/Linux/Config.cpp
|
||||
SPU2/Linux/ConfigDebug.cpp
|
||||
SPU2/Linux/ConfigSoundTouch.cpp
|
||||
SPU2/Linux/Dialogs.cpp
|
||||
SPU2/wx/wxConfig.cpp
|
||||
SPU2/ADSR.cpp
|
||||
SPU2/Debug.cpp
|
||||
SPU2/DplIIdecoder.cpp
|
||||
SPU2/Dma.cpp
|
||||
SPU2/Lowpass.cpp
|
||||
SPU2/Mixer.cpp
|
||||
SPU2/spu2.cpp
|
||||
SPU2/ReadInput.cpp
|
||||
SPU2/RegLog.cpp
|
||||
SPU2/RegTable.cpp
|
||||
SPU2/Reverb.cpp
|
||||
SPU2/SndOut.cpp
|
||||
SPU2/SndOut_SDL.cpp
|
||||
SPU2/SndOut_Portaudio.cpp
|
||||
SPU2/spu2freeze.cpp
|
||||
SPU2/spu2replay.cpp
|
||||
SPU2/spu2sys.cpp
|
||||
SPU2/Timestretcher.cpp
|
||||
SPU2/Wavedump_wav.cpp
|
||||
SPU2/WavFile.cpp
|
||||
SPU2/Linux/Alsa.cpp
|
||||
SPU2/Linux/CfgHelpers.cpp
|
||||
SPU2/Linux/Config.cpp
|
||||
SPU2/Linux/ConfigDebug.cpp
|
||||
SPU2/Linux/ConfigSoundTouch.cpp
|
||||
SPU2/Linux/Dialogs.cpp
|
||||
SPU2/wx/wxConfig.cpp
|
||||
)
|
||||
|
||||
# SPU2 headers
|
||||
set(pcsx2SPU2Headers
|
||||
SPU2/Config.h
|
||||
SPU2/Debug.h
|
||||
SPU2/defs.h
|
||||
SPU2/Dma.h
|
||||
SPU2/Global.h
|
||||
SPU2/Lowpass.h
|
||||
SPU2/Mixer.h
|
||||
SPU2/spu2.h
|
||||
SPU2/regs.h
|
||||
SPU2/SndOut.h
|
||||
SPU2/spdif.h
|
||||
SPU2/spu2replay.h
|
||||
SPU2/WavFile.h
|
||||
SPU2/Linux/Alsa.h
|
||||
SPU2/Linux/Config.h
|
||||
SPU2/Linux/Dialogs.h
|
||||
SPU2/wx/wxConfig.h
|
||||
SPU2/Config.h
|
||||
SPU2/Debug.h
|
||||
SPU2/defs.h
|
||||
SPU2/Dma.h
|
||||
SPU2/Global.h
|
||||
SPU2/Lowpass.h
|
||||
SPU2/Mixer.h
|
||||
SPU2/spu2.h
|
||||
SPU2/regs.h
|
||||
SPU2/SndOut.h
|
||||
SPU2/spdif.h
|
||||
SPU2/spu2replay.h
|
||||
SPU2/WavFile.h
|
||||
SPU2/Linux/Alsa.h
|
||||
SPU2/Linux/Config.h
|
||||
SPU2/Linux/Dialogs.h
|
||||
SPU2/wx/wxConfig.h
|
||||
)
|
||||
|
||||
# DebugTools sources
|
||||
|
@ -702,8 +703,8 @@ set(Common
|
|||
${pcsx2Headers}
|
||||
${pcsx2CDVDSources}
|
||||
${pcsx2CDVDHeaders}
|
||||
${pcsx2SPU2Sources}
|
||||
${pcsx2SPU2Headers}
|
||||
${pcsx2SPU2Sources}
|
||||
${pcsx2SPU2Headers}
|
||||
${pcsx2DebugToolsSources}
|
||||
${pcsx2GuiSources}
|
||||
${pcsx2GuiResources}
|
||||
|
@ -773,6 +774,7 @@ set(pcsx2FinalLibs
|
|||
${ALSA_LIBRARIES}
|
||||
${SOUNDTOUCH_LIBRARIES}
|
||||
${SDL2_LIBRARIES}
|
||||
${PORTAUDIO_LIBRARIES}
|
||||
${Platform_Libs}
|
||||
)
|
||||
|
||||
|
|
|
@ -38,39 +38,39 @@ static void __fastcall psxDmaGeneric(u32 madr, u32 bcr, u32 chcr, u32 spuCore)
|
|||
|
||||
// Update the spu2 to the current cycle before initiating the DMA
|
||||
|
||||
SPU2async(psxRegs.cycle - psxCounters[6].sCycleT);
|
||||
//Console.Status("cycles sent to SPU2 %x\n", psxRegs.cycle - psxCounters[6].sCycleT);
|
||||
SPU2async(psxRegs.cycle - psxCounters[6].sCycleT);
|
||||
//Console.Status("cycles sent to SPU2 %x\n", psxRegs.cycle - psxCounters[6].sCycleT);
|
||||
|
||||
psxCounters[6].sCycleT = psxRegs.cycle;
|
||||
psxCounters[6].CycleT = size * 3;
|
||||
psxCounters[6].sCycleT = psxRegs.cycle;
|
||||
psxCounters[6].CycleT = size * 3;
|
||||
|
||||
psxNextCounter -= (psxRegs.cycle - psxNextsCounter);
|
||||
psxNextsCounter = psxRegs.cycle;
|
||||
if (psxCounters[6].CycleT < psxNextCounter)
|
||||
psxNextCounter = psxCounters[6].CycleT;
|
||||
psxNextCounter -= (psxRegs.cycle - psxNextsCounter);
|
||||
psxNextsCounter = psxRegs.cycle;
|
||||
if (psxCounters[6].CycleT < psxNextCounter)
|
||||
psxNextCounter = psxCounters[6].CycleT;
|
||||
|
||||
if((g_iopNextEventCycle - psxNextsCounter) > (u32)psxNextCounter)
|
||||
{
|
||||
//DevCon.Warning("SPU2async Setting new counter branch, old %x new %x ((%x - %x = %x) > %x delta)", g_iopNextEventCycle, psxNextsCounter + psxNextCounter, g_iopNextEventCycle, psxNextsCounter, (g_iopNextEventCycle - psxNextsCounter), psxNextCounter);
|
||||
g_iopNextEventCycle = psxNextsCounter + psxNextCounter;
|
||||
}
|
||||
if ((g_iopNextEventCycle - psxNextsCounter) > (u32)psxNextCounter)
|
||||
{
|
||||
//DevCon.Warning("SPU2async Setting new counter branch, old %x new %x ((%x - %x = %x) > %x delta)", g_iopNextEventCycle, psxNextsCounter + psxNextCounter, g_iopNextEventCycle, psxNextsCounter, (g_iopNextEventCycle - psxNextsCounter), psxNextCounter);
|
||||
g_iopNextEventCycle = psxNextsCounter + psxNextCounter;
|
||||
}
|
||||
|
||||
switch (chcr)
|
||||
{
|
||||
case 0x01000201: //cpu to spu2 transfer
|
||||
PSXDMA_LOG("*** DMA %d - mem2spu *** %x addr = %x size = %x", dmaNum, chcr, madr, bcr);
|
||||
if(dmaNum==7)
|
||||
SPU2writeDMA7Mem((u16 *)iopPhysMem(madr), size*2);
|
||||
else if(dmaNum==4)
|
||||
SPU2writeDMA4Mem((u16 *)iopPhysMem(madr), size*2);
|
||||
if (dmaNum == 7)
|
||||
SPU2writeDMA7Mem((u16*)iopPhysMem(madr), size * 2);
|
||||
else if (dmaNum == 4)
|
||||
SPU2writeDMA4Mem((u16*)iopPhysMem(madr), size * 2);
|
||||
break;
|
||||
|
||||
case 0x01000200: //spu2 to cpu transfer
|
||||
PSXDMA_LOG("*** DMA %d - spu2mem *** %x addr = %x size = %x", dmaNum, chcr, madr, bcr);
|
||||
if(dmaNum==7)
|
||||
SPU2readDMA7Mem((u16 *)iopPhysMem(madr), size*2);
|
||||
else if(dmaNum==4)
|
||||
SPU2readDMA4Mem((u16 *)iopPhysMem(madr), size*2);
|
||||
if (dmaNum == 7)
|
||||
SPU2readDMA7Mem((u16*)iopPhysMem(madr), size * 2);
|
||||
else if (dmaNum == 4)
|
||||
SPU2readDMA4Mem((u16*)iopPhysMem(madr), size * 2);
|
||||
psxCpu->Clear(spuCore ? HW_DMA7_MADR : HW_DMA4_MADR, size);
|
||||
break;
|
||||
|
||||
|
@ -80,16 +80,16 @@ static void __fastcall psxDmaGeneric(u32 madr, u32 bcr, u32 chcr, u32 spuCore)
|
|||
}
|
||||
}
|
||||
|
||||
void psxDma4(u32 madr, u32 bcr, u32 chcr) // SPU2's Core 0
|
||||
void psxDma4(u32 madr, u32 bcr, u32 chcr) // SPU2's Core 0
|
||||
{
|
||||
psxDmaGeneric(madr, bcr, chcr, 0);
|
||||
}
|
||||
|
||||
int psxDma4Interrupt()
|
||||
{
|
||||
#ifdef SPU2IRQTEST
|
||||
Console.Warning("psxDma4Interrupt()");
|
||||
#endif
|
||||
#ifdef SPU2IRQTEST
|
||||
Console.Warning("psxDma4Interrupt()");
|
||||
#endif
|
||||
HW_DMA4_CHCR &= ~0x01000000;
|
||||
psxDmaInterrupt(4);
|
||||
iopIntcIrq(9);
|
||||
|
@ -98,42 +98,41 @@ int psxDma4Interrupt()
|
|||
|
||||
void spu2DMA4Irq()
|
||||
{
|
||||
#ifdef SPU2IRQTEST
|
||||
Console.Warning("spu2DMA4Irq()");
|
||||
#endif
|
||||
#ifdef SPU2IRQTEST
|
||||
Console.Warning("spu2DMA4Irq()");
|
||||
#endif
|
||||
SPU2interruptDMA4();
|
||||
HW_DMA4_CHCR &= ~0x01000000;
|
||||
psxDmaInterrupt(4);
|
||||
}
|
||||
|
||||
void psxDma7(u32 madr, u32 bcr, u32 chcr) // SPU2's Core 1
|
||||
void psxDma7(u32 madr, u32 bcr, u32 chcr) // SPU2's Core 1
|
||||
{
|
||||
psxDmaGeneric(madr, bcr, chcr, 1);
|
||||
}
|
||||
|
||||
int psxDma7Interrupt()
|
||||
{
|
||||
#ifdef SPU2IRQTEST
|
||||
Console.Warning("psxDma7Interrupt()");
|
||||
#endif
|
||||
#ifdef SPU2IRQTEST
|
||||
Console.Warning("psxDma7Interrupt()");
|
||||
#endif
|
||||
HW_DMA7_CHCR &= ~0x01000000;
|
||||
psxDmaInterrupt2(0);
|
||||
return 1;
|
||||
|
||||
}
|
||||
|
||||
void spu2DMA7Irq()
|
||||
{
|
||||
#ifdef SPU2IRQTEST
|
||||
Console.Warning("spu2DMA7Irq()");
|
||||
#endif
|
||||
#ifdef SPU2IRQTEST
|
||||
Console.Warning("spu2DMA7Irq()");
|
||||
#endif
|
||||
SPU2interruptDMA7();
|
||||
HW_DMA7_CHCR &= ~0x01000000;
|
||||
psxDmaInterrupt2(0);
|
||||
}
|
||||
|
||||
#ifndef DISABLE_PSX_GPU_DMAS
|
||||
void psxDma2(u32 madr, u32 bcr, u32 chcr) // GPU
|
||||
void psxDma2(u32 madr, u32 bcr, u32 chcr) // GPU
|
||||
{
|
||||
//DevCon.Warning("SIF2 IOP CHCR = %x MADR = %x BCR = %x first 16bits %x", chcr, madr, bcr, iopMemRead16(madr));
|
||||
sif2.iop.busy = true;
|
||||
|
@ -142,12 +141,11 @@ void psxDma2(u32 madr, u32 bcr, u32 chcr) // GPU
|
|||
// todo: psxmode: dmaSIF2 appears to interface with PGPU but everything is already handled without it.
|
||||
// it slows down psxmode if it's run.
|
||||
//dmaSIF2();
|
||||
|
||||
}
|
||||
|
||||
void psxDma6(u32 madr, u32 bcr, u32 chcr)
|
||||
{
|
||||
u32 *mem = (u32 *)iopPhysMem(madr);
|
||||
u32* mem = (u32*)iopPhysMem(madr);
|
||||
|
||||
PSXDMA_LOG("*** DMA 6 - OT *** %lx addr = %lx size = %lx", chcr, madr, bcr);
|
||||
|
||||
|
@ -197,7 +195,7 @@ void psxDma8(u32 madr, u32 bcr, u32 chcr)
|
|||
|
||||
void psxDma9(u32 madr, u32 bcr, u32 chcr)
|
||||
{
|
||||
SIF_LOG("IOP: dmaSIF0 chcr = %lx, madr = %lx, bcr = %lx, tadr = %lx", chcr, madr, bcr, HW_DMA9_TADR);
|
||||
SIF_LOG("IOP: dmaSIF0 chcr = %lx, madr = %lx, bcr = %lx, tadr = %lx", chcr, madr, bcr, HW_DMA9_TADR);
|
||||
|
||||
sif0.iop.busy = true;
|
||||
sif0.iop.end = false;
|
||||
|
@ -207,7 +205,7 @@ void psxDma9(u32 madr, u32 bcr, u32 chcr)
|
|||
|
||||
void psxDma10(u32 madr, u32 bcr, u32 chcr)
|
||||
{
|
||||
SIF_LOG("IOP: dmaSIF1 chcr = %lx, madr = %lx, bcr = %lx", chcr, madr, bcr);
|
||||
SIF_LOG("IOP: dmaSIF1 chcr = %lx, madr = %lx, bcr = %lx", chcr, madr, bcr);
|
||||
|
||||
sif1.iop.busy = true;
|
||||
sif1.iop.end = false;
|
||||
|
|
Loading…
Reference in New Issue