From: gameblabla Date: Sat, 23 Oct 2021 22:03:24 +0000 (+0000) Subject: Merge pull request #571 from gameblabla/cdrom_audio_fix_attempt X-Git-Tag: r24l~546 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=67f607cb5e5f2a058109fdedb24b36f7bfa5a6a5;hp=d0dc0dbcdffa90da67a195cb9254e12eb9f474f1;p=pcsx_rearmed.git Merge pull request #571 from gameblabla/cdrom_audio_fix_attempt Fix stutter before speech samples in Castlevania Symphony of the Night --- diff --git a/Makefile.libretro b/Makefile.libretro index 22336209..30ca4f3e 100644 --- a/Makefile.libretro +++ b/Makefile.libretro @@ -306,6 +306,17 @@ else ifeq ($(platform), qnx) LIBDL := LIBM := +#Raspberry Pi 1 +else ifeq ($(platform), rpi1) + TARGET := $(TARGET_NAME)_libretro.so + fpic := -fPIC + CFLAGS += -marm -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard + ASFLAGS += -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard + HAVE_NEON = 0 + ARCH = arm + BUILTIN_GPU = unai + DYNAREC = ari64 + #Raspberry Pi 2 else ifeq ($(platform), rpi2) TARGET := $(TARGET_NAME)_libretro.so diff --git a/frontend/libretro.c b/frontend/libretro.c index 8442a150..6fee42a5 100644 --- a/frontend/libretro.c +++ b/frontend/libretro.c @@ -2651,7 +2651,6 @@ static void loadPSXBios(void) unsigned useHLE = 0; const char *bios[] = { - "PS1_ROM", "ps1_rom", "PSXONPSP660", "psxonpsp660", "SCPH101", "scph101", "SCPH5501", "scph5501", diff --git a/plugins/dfsound/externals.h b/plugins/dfsound/externals.h index c038ea31..19cd9bae 100644 --- a/plugins/dfsound/externals.h +++ b/plugins/dfsound/externals.h @@ -204,7 +204,7 @@ typedef struct short * pS; void (CALLBACK *irqCallback)(void); // func of main emu, called on spu irq - void (CALLBACK *cddavCallback)(unsigned short,unsigned short); + void (CALLBACK *cddavCallback)(short, short); void (CALLBACK *scheduleCallback)(unsigned int); xa_decode_t * xapGlobal; diff --git a/plugins/dfsound/registers.c b/plugins/dfsound/registers.c index cc720207..e0693064 100644 --- a/plugins/dfsound/registers.c +++ b/plugins/dfsound/registers.c @@ -204,12 +204,12 @@ void CALLBACK SPUwriteRegister(unsigned long reg, unsigned short val, break; //-------------------------------------------------// case H_CDLeft: - spu.iLeftXAVol=val & 0x7fff; - if(spu.cddavCallback) spu.cddavCallback(0,val); + spu.iLeftXAVol=(int16_t)val; + if(spu.cddavCallback) spu.cddavCallback(0,(int16_t)val); break; case H_CDRight: - spu.iRightXAVol=val & 0x7fff; - if(spu.cddavCallback) spu.cddavCallback(1,val); + spu.iRightXAVol=(int16_t)val; + if(spu.cddavCallback) spu.cddavCallback(1,(int16_t)val); break; //-------------------------------------------------// case H_FMod1: diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index e1b8a40c..0a188876 100644 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -1580,7 +1580,7 @@ void CALLBACK SPUregisterCallback(void (CALLBACK *callback)(void)) spu.irqCallback = callback; } -void CALLBACK SPUregisterCDDAVolume(void (CALLBACK *CDDAVcallback)(unsigned short,unsigned short)) +void CALLBACK SPUregisterCDDAVolume(void (CALLBACK *CDDAVcallback)(short, short)) { spu.cddavCallback = CDDAVcallback; } diff --git a/plugins/spunull/spunull.c b/plugins/spunull/spunull.c index 96bd3906..ece5db93 100644 --- a/plugins/spunull/spunull.c +++ b/plugins/spunull/spunull.c @@ -53,7 +53,7 @@ char * pConfigFile=0; //////////////////////////////////////////////////////////////////////// void (CALLBACK *irqCallback)(void)=0; // func of main emu, called on spu irq -void (CALLBACK *cddavCallback)(unsigned short,unsigned short)=0; +void (CALLBACK *cddavCallback)(short, short)=0; //////////////////////////////////////////////////////////////////////// // CODE AREA @@ -361,7 +361,7 @@ void CALLBACK SPUregisterCallback(void (CALLBACK *callback)(void)) irqCallback = callback; } -void CALLBACK SPUregisterCDDAVolume(void (CALLBACK *CDDAVcallback)(unsigned short,unsigned short)) +void CALLBACK SPUregisterCDDAVolume(void (CALLBACK *CDDAVcallback)(short, short)) { cddavCallback = CDDAVcallback; }