Paul Cercueil [Sat, 11 Feb 2023 14:22:21 +0000 (14:22 +0000)]
Support compiling without pthreads
Add NO_PTHREAD option in the Makefile, which can be used on platforms
that don't support pthreads.
Since dfsound/spu.c disables threading support on Win32 and platform
defining NO_OS (Switch, 3DS, PSP Vita), mark them as not having
pthreads.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Sat, 11 Feb 2023 14:17:13 +0000 (14:17 +0000)]
Support compiling without mmap functions
Add NO_MMAP option in Makefile.libretro that can be turned ON on
platforms that don't support mmap(), and for which memory mapping hooks
must be provided.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
notaz [Thu, 20 Jul 2023 21:04:03 +0000 (00:04 +0300)]
psxinterpreter: adjust COP decoding
notaz [Wed, 19 Jul 2023 22:51:46 +0000 (01:51 +0300)]
psxinterpreter: yet more exceptions, new config option
notaz [Mon, 17 Jul 2023 22:49:46 +0000 (01:49 +0300)]
psxinterpreter: rework load delays
notaz [Mon, 17 Jul 2023 17:54:19 +0000 (20:54 +0300)]
psxinterpreter: rework branching in ds
notaz [Sun, 16 Jul 2023 22:18:05 +0000 (01:18 +0300)]
psxinterpreter: tons of new exceptions
does anything need any of this though?
notaz [Sat, 15 Jul 2023 21:11:04 +0000 (00:11 +0300)]
psxinterpreter: assorted fixes
Bobby Smith [Mon, 17 Jul 2023 16:28:25 +0000 (18:28 +0200)]
Fix crash when BIOS isn't found
notaz [Fri, 14 Jul 2023 22:19:28 +0000 (01:19 +0300)]
sync with libretro
notaz [Fri, 14 Jul 2023 20:09:58 +0000 (23:09 +0300)]
attempt to fix build
notaz [Fri, 14 Jul 2023 19:50:13 +0000 (22:50 +0300)]
libretro: look for openbios
Lowest priority since it still has lower compatibility and lightrec has
problems with it.
libretro/pcsx_rearmed#708
notaz [Thu, 13 Jul 2023 23:05:30 +0000 (02:05 +0300)]
adjust bios handling again
changed my mind about BiosBooted
notaz [Thu, 13 Jul 2023 22:41:37 +0000 (01:41 +0300)]
remove "slow" text from Enhanced Resolution
Perhaps it made sense back in 2011, but now there is plenty of hardware
that can do it without any slowdowns.
notaz [Thu, 13 Jul 2023 22:20:43 +0000 (01:20 +0300)]
handle more GP0 status bits
should help openbios
notaz [Thu, 13 Jul 2023 22:15:00 +0000 (01:15 +0300)]
gpu_neon: fix texels vs pixels confusion
notaz [Wed, 12 Jul 2023 21:03:03 +0000 (00:03 +0300)]
drc: fix wrong unmap size
Paul Cercueil [Sat, 11 Feb 2023 13:26:15 +0000 (13:26 +0000)]
psxmem: Use POSIX mmap functions as default hooks
Simplify the code by using the POSIX mmap functions as the default
psxMapHook / psxUnmapHook functions.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Ash Logan [Sun, 29 May 2022 12:53:34 +0000 (22:53 +1000)]
libpcsxcore: Use the same type for next_interrupt everywhere
u32 is long unsigned int on some platforms
notaz [Wed, 12 Jul 2023 22:24:18 +0000 (01:24 +0300)]
more timing hacks
notaz [Tue, 11 Jul 2023 23:21:26 +0000 (02:21 +0300)]
cdrom: moar hacks
libretro/pcsx_rearmed#714
notaz [Tue, 11 Jul 2023 23:21:05 +0000 (02:21 +0300)]
cdrom: adjust logging
notaz [Wed, 12 Jul 2023 17:19:15 +0000 (20:19 +0300)]
Merge pull request #299 from anzz1/patch-1
cdrom: rename mode constants to defineds
anzz1 [Wed, 12 Jul 2023 16:32:07 +0000 (19:32 +0300)]
cdrom: rename mode constants to defineds
notaz [Mon, 10 Jul 2023 22:19:58 +0000 (01:19 +0300)]
some openbios support
slowboot isn't working yet, doesn't work at all with lightrec,
openbios-fastboot doesn't work with ari64
notaz [Sun, 9 Jul 2023 22:50:00 +0000 (01:50 +0300)]
drc: handle regs-not-in-psxRegs case better
for lightrec
notaz [Sun, 9 Jul 2023 19:50:47 +0000 (22:50 +0300)]
clean up switching between dynarec and interpreter
alternative to libretro/pcsx_rearmed#727
notaz [Sun, 9 Jul 2023 15:57:54 +0000 (18:57 +0300)]
Merge pull request #292 from pcercuei/dfsound-big-endian
dfsound: Fix issues on big-endian systems
notaz [Sat, 8 Jul 2023 21:13:36 +0000 (00:13 +0300)]
gpu-gles: fix wrong long usage
No idea if there is any point touching this code but the warnings were
annoying.
notaz [Sat, 8 Jul 2023 21:09:24 +0000 (00:09 +0300)]
clean up cache isolation handling
also ari64 drc now handles unmapped io same as interpreter
notaz [Sat, 8 Jul 2023 21:07:06 +0000 (00:07 +0300)]
drc: minor cleanup
notaz [Sat, 8 Jul 2023 14:53:56 +0000 (17:53 +0300)]
drc: fix some table math
libretro/pcsx_rearmed#713
notaz [Fri, 7 Jul 2023 21:18:08 +0000 (00:18 +0300)]
cscpace: fix more alignment issues
libretro/pcsx_rearmed#719
notaz [Fri, 7 Jul 2023 18:27:15 +0000 (21:27 +0300)]
make: try a different way to detect 32bit neon
notaz [Thu, 6 Jul 2023 21:44:11 +0000 (00:44 +0300)]
fix another missed double resolution change
notaz [Thu, 6 Jul 2023 20:55:43 +0000 (23:55 +0300)]
fix missed double resolution change
notaz [Thu, 6 Jul 2023 20:51:41 +0000 (23:51 +0300)]
sbi: fix parser thinking it failed
it still worked though as it kept sbi_sectors around
notaz [Thu, 6 Jul 2023 15:47:31 +0000 (18:47 +0300)]
libretro: disable spu thread by default, with option to reenable
it may still cause problems, especially with reverb, fixing it is too
much work for too little benefit
notaz [Thu, 6 Jul 2023 15:04:55 +0000 (18:04 +0300)]
spu: fix some threading issues
but others remain, so disabling in next commit
notaz [Tue, 4 Jul 2023 21:23:18 +0000 (00:23 +0300)]
spu: fix typo
notaz [Tue, 4 Jul 2023 21:12:44 +0000 (00:12 +0300)]
spu: irq adjustments according to MiSTer
libretro/pcsx_rearmed#725
Paul Cercueil [Wed, 8 Mar 2023 11:30:00 +0000 (11:30 +0000)]
dfsound: Fix issues on big-endian systems
Without this fix, the BIOS' music is missing on big-endian systems. The
XA and reverb code are also fixed, which fixes games like Vib-Ribbon.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
notaz [Wed, 14 Dec 2022 00:01:41 +0000 (02:01 +0200)]
Merge pull request #277 from joolswills/armv6_unai_fix
Fix building gpu_unai on armv6
Jools Wills [Mon, 12 Dec 2022 15:29:05 +0000 (15:29 +0000)]
Fix building gpu_unai on armv6
f23b103c8248c10855949bfb2185b6b10d4f0457 was missing changes to gpu_unai/gpulib_if.cpp
notaz [Sun, 11 Dec 2022 20:28:42 +0000 (22:28 +0200)]
cdrom: adjust a timing hack
notaz/pcsx_rearmed#276
notaz [Mon, 14 Nov 2022 22:57:47 +0000 (00:57 +0200)]
gpulib: allow commands to span list entries
libretro/pcsx_rearmed#271
notaz [Sun, 13 Nov 2022 23:17:58 +0000 (01:17 +0200)]
cdrom: forget old sector on cd change
libretro/pcsx_rearmed#689
notaz [Sun, 13 Nov 2022 21:33:49 +0000 (23:33 +0200)]
dma: add optional slow linked list walking
libretro/pcsx_rearmed#478
libretro/pcsx_rearmed#264
libretro/pcsx_rearmed#132
notaz/pcsx_rearmed#95
notaz [Sat, 12 Nov 2022 21:05:52 +0000 (23:05 +0200)]
cdrom: make the timing hack conditional
libretro/pcsx_rearmed#707
notaz [Sat, 12 Nov 2022 15:57:31 +0000 (17:57 +0200)]
cdriso: unbreak cdda for chd
notaz/pcsx_rearmed#272
notaz [Sat, 5 Nov 2022 20:51:37 +0000 (22:51 +0200)]
cdrom: don't report read too early
libretro/pcsx_rearmed#706
notaz [Thu, 3 Nov 2022 20:49:08 +0000 (22:49 +0200)]
spu: fix a wrong assumption
from
5aa94fa080e1b0a661b23aa912022dd464d41110
libretro/pcsx_rearmed#704
notaz [Thu, 3 Nov 2022 00:13:39 +0000 (02:13 +0200)]
cdriso: fix up chd for separated subq reads
notaz [Wed, 2 Nov 2022 20:24:20 +0000 (22:24 +0200)]
cdrom: change GetlocP handling
maybe better?
notaz/pcsx_rearmed#268
notaz [Tue, 1 Nov 2022 23:20:50 +0000 (01:20 +0200)]
cdrom: handle fifo overreads
based on nocash doc
notaz/pcsx_rearmed#269
notaz [Tue, 25 Oct 2022 19:08:12 +0000 (22:08 +0300)]
cdrom: add a timing hack
notaz/pcsx_rearmed#267
notaz [Sat, 22 Oct 2022 16:20:26 +0000 (19:20 +0300)]
cdrom: report read errors correctly
notaz [Sat, 22 Oct 2022 16:16:46 +0000 (19:16 +0300)]
psxbios: use noninvasive print for -psxout
notaz [Fri, 14 Oct 2022 21:37:43 +0000 (00:37 +0300)]
gpulib: update gpuinfo
according to nocash
notaz [Thu, 13 Oct 2022 20:55:21 +0000 (23:55 +0300)]
merge from libretro fork
+ minor modifications
Reducing the diff as it's too hard to track down breakage
when one works but not the other.
Sakitoshi [Thu, 24 Jan 2019 01:19:49 +0000 (22:19 -0300)]
updated gaussian interpolation filter
the previous gaussian filter was pretty old and inaccurate, the new filter was taken from the updated peops sound plugin 1.10b.
notaz [Sat, 1 Oct 2022 20:43:39 +0000 (23:43 +0300)]
psxinterpreter: use cycle_multiplier also
not just ari64
notaz [Sat, 1 Oct 2022 19:32:01 +0000 (22:32 +0300)]
remove all the hack options
They just confuse users, like:
libretro/pcsx_rearmed#693
For Parasite Eve 2 and others, adjust "PSX CPU clock" instead if needed.
notaz [Thu, 29 Sep 2022 19:45:23 +0000 (22:45 +0300)]
cdrom: update status immediately after seek
Philosoma wants it
notaz [Thu, 29 Sep 2022 18:36:54 +0000 (21:36 +0300)]
cdrom: ignore repeated read cmds
libretro/pcsx_rearmed#691
notaz [Wed, 21 Sep 2022 21:35:28 +0000 (00:35 +0300)]
cdrom: change GetlocL behavior
notaz/pcsx_rearmed#263
notaz [Sat, 17 Sep 2022 20:28:46 +0000 (23:28 +0300)]
cdrom: treat seek the same as other commands
much simpler this way
notaz [Sat, 17 Sep 2022 20:18:47 +0000 (23:18 +0300)]
cdrom: allow to interrupt initial scan sequence
probably wrong but ohwell...
notaz [Sat, 17 Sep 2022 19:46:03 +0000 (22:46 +0300)]
cdrom: actually reject commands when not ready
before it would still execute them and just do an error response
notaz [Fri, 16 Sep 2022 19:59:25 +0000 (22:59 +0300)]
main: log missing CPU features
will probably be too late but ohwell
notaz [Thu, 15 Sep 2022 23:34:58 +0000 (02:34 +0300)]
gpu_neon: rm wrong cost qualifier
notaz [Thu, 15 Sep 2022 23:31:37 +0000 (02:31 +0300)]
cdrom: adjust timing
notaz [Thu, 15 Sep 2022 21:03:40 +0000 (00:03 +0300)]
don't cast between long and pointers for win64
long is 32 bit there
notaz [Thu, 15 Sep 2022 18:12:10 +0000 (21:12 +0300)]
misc: patch some issues indicated by clang
notaz [Thu, 15 Sep 2022 16:11:11 +0000 (19:11 +0300)]
frontend: handle double res rendering, enable on x86_64
notaz [Sun, 11 Sep 2022 22:40:24 +0000 (01:40 +0300)]
gpu_neon: brand new x86 SSE2+ implementation
notaz [Tue, 16 Aug 2022 21:11:39 +0000 (00:11 +0300)]
gpu_neon: adjust some comments and things
notaz [Thu, 15 Sep 2022 16:25:01 +0000 (19:25 +0300)]
cdrom: delay the missed irq more
notaz [Sat, 10 Sep 2022 14:53:54 +0000 (17:53 +0300)]
some big endian fixes
"kinda sucks but it works" kind of thing
notaz [Fri, 9 Sep 2022 23:26:04 +0000 (02:26 +0300)]
standalone: allow lightrec for testing
lightrec is not (yet?) here, just to reduce diff from libretro fork
notaz [Sat, 10 Sep 2022 13:46:05 +0000 (16:46 +0300)]
spu: fix wrong volume shift
libretro/pcsx_rearmed#685
notaz [Fri, 9 Sep 2022 23:37:50 +0000 (02:37 +0300)]
fix build
forgot to add 'extern'
notaz [Fri, 9 Sep 2022 23:39:24 +0000 (02:39 +0300)]
gte: minor diff from libretro
notaz [Fri, 9 Sep 2022 19:11:30 +0000 (22:11 +0300)]
psxinterpreter: reduce the use of globals
they induce penalties with -fPIC
notaz [Thu, 8 Sep 2022 17:09:04 +0000 (20:09 +0300)]
easier logging of unhandled stuff
notaz [Thu, 8 Sep 2022 18:13:25 +0000 (21:13 +0300)]
cdrom: partially emulate the fifo
notaz [Thu, 8 Sep 2022 15:17:06 +0000 (18:17 +0300)]
dma: try more accurate timings
seems to help Legend of Mana
notaz [Thu, 8 Sep 2022 15:01:34 +0000 (18:01 +0300)]
cdrom: get rid of pTransfer
it could easily crash the emu (misbehaving game or even malicious ISO)
notaz [Tue, 6 Sep 2022 21:47:55 +0000 (00:47 +0300)]
cdrom: don't reschedule irqs
trigger shortly after ack instead, like nocash describes
notaz [Mon, 5 Sep 2022 20:47:10 +0000 (23:47 +0300)]
cdrom: clean up command handling
notaz [Mon, 5 Sep 2022 16:41:52 +0000 (19:41 +0300)]
cdrom: try to eliminate playback timing drifting
notaz [Tue, 6 Sep 2022 23:09:08 +0000 (02:09 +0300)]
psxcounters: try to eliminate another source of audio drift
notaz [Wed, 7 Sep 2022 23:50:36 +0000 (02:50 +0300)]
spu: cleanup some irq hacks
Note that bIgnoreLoop is still needed or
"Misadventures Of Tron Bonne" may hang after cutscenes.
Before this commit the game will sometimes cut off dialogues.
notaz [Tue, 6 Sep 2022 15:25:42 +0000 (18:25 +0300)]
spu: sync on xa playback start
this avoids nasty underflows at the start of the stream
notaz [Sun, 4 Sep 2022 23:03:24 +0000 (02:03 +0300)]
spu: support master volume
notaz [Sun, 4 Sep 2022 21:40:58 +0000 (00:40 +0300)]
spu: rename dwChannelOn to something more suitable
notaz [Sun, 4 Sep 2022 21:02:28 +0000 (00:02 +0300)]
spu: remove some strange rounding
Seems wrong.
Also deal with now possible div by 0 in scan_for_irq().
notaz [Sat, 3 Sep 2022 15:37:53 +0000 (18:37 +0300)]
cdrom: remove confusing comment
No need for a wall-of-text comment for something as basic as seeking.
It also said "disabling it with `&& false` for now" when there is no
such code here.
notaz [Sat, 3 Sep 2022 15:33:09 +0000 (18:33 +0300)]
cdrom: remove another hack
The hack just makes Worms Pinball unstable, and Crusaders of Might
and Magic no longer seems to need it.
notaz [Fri, 2 Sep 2022 22:54:28 +0000 (01:54 +0300)]
cdrom: take a minor change from libretro