Paul Cercueil [Thu, 30 May 2024 09:54:55 +0000 (11:54 +0200)]
spunull: Add missing callback and fix prototypes
- Add SPUregisterScheduleCb() which was missing
- Fix prototypes of some functions, which did not have the right number
of parameters. This caused warnings at the linking phase when building
PCSX with LTO.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Thu, 30 May 2024 09:52:21 +0000 (11:52 +0200)]
Fix invalid variable types
On SH4, uint32_t is "unsigned long" and int32_t is "long"; which means
that "int32_t" and "int" pointers cannot be used interchangeably without
an explicit cast.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Wed, 29 May 2024 13:46:57 +0000 (15:46 +0200)]
cdrom: Rename "stat" to "cdr_stat"
"stat" is a C function from <sys/stat.h>. While libpcsxcore/cdrom.c does
not include this header, some of the headers it does include may
actually include it themselves (depending on the C library).
Work around possible name conflicts by just renaming the offending
variable.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
notaz [Mon, 20 May 2024 23:02:19 +0000 (02:02 +0300)]
update libchdr
notaz [Thu, 18 Apr 2024 18:12:41 +0000 (21:12 +0300)]
new experimental TurboCD option
notaz [Mon, 15 Apr 2024 21:38:14 +0000 (00:38 +0300)]
cdrom: change pause timing again
for DDR series
notaz [Sun, 14 Apr 2024 22:56:42 +0000 (01:56 +0300)]
introduce fractional framerates
notaz/pcsx_rearmed#91
notaz [Sun, 14 Apr 2024 22:52:31 +0000 (01:52 +0300)]
cdrom: accept more channel bits
Although it contradicts nocash docs, Spyro 2 (PAL) uses 0x21.
Should only 0xff be rejected?
Paul Cercueil [Sat, 6 Apr 2024 15:22:58 +0000 (17:22 +0200)]
db: Override cycle multiplier for Colin McRae PAL
Decrease it from 175 to 174, which is enough for the language selection
menu to start working.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
notaz [Thu, 28 Mar 2024 23:28:11 +0000 (01:28 +0200)]
libretro: update build for newer libchdr
notaz [Wed, 27 Mar 2024 23:47:05 +0000 (01:47 +0200)]
update libchdr
also move to a consistent location with the libretro branch
notaz/pcsx_rearmed#339
notaz [Mon, 25 Mar 2024 21:26:10 +0000 (23:26 +0200)]
spu: don't leave garbage in capture buffers
notaz [Sun, 24 Mar 2024 23:50:25 +0000 (01:50 +0200)]
spu: more status bits
notaz/pcsx_rearmed#338
notaz [Sun, 24 Mar 2024 00:47:33 +0000 (02:47 +0200)]
spu: don't assert on noise in thread mode
notaz [Sun, 24 Mar 2024 00:46:33 +0000 (02:46 +0200)]
psxdma: implement a few more details
notaz/pcsx_rearmed#336
notaz [Fri, 22 Mar 2024 22:57:41 +0000 (00:57 +0200)]
gpulib: fix frameskip on weird lists
notaz/pcsx_rearmed#337
notaz [Thu, 21 Mar 2024 22:52:37 +0000 (00:52 +0200)]
misc: allow slow-booting to cdda or whatever
notaz/pcsx_rearmed#335
notaz [Thu, 21 Mar 2024 22:21:20 +0000 (00:21 +0200)]
libretro: try to handle physical cdrom ejection
notaz/pcsx_rearmed#335
notaz [Wed, 20 Mar 2024 23:14:56 +0000 (01:14 +0200)]
physical cdrom readahead
much more messy than I hoped
notaz/pcsx_rearmed#335
notaz [Mon, 18 Mar 2024 00:37:51 +0000 (02:37 +0200)]
libretro: preliminary physical cdrom support
notaz [Sun, 10 Mar 2024 23:28:41 +0000 (01:28 +0200)]
psxhw: adjust sio stat
libretro/pcsx_rearmed#822
notaz [Wed, 14 Feb 2024 23:18:57 +0000 (01:18 +0200)]
psxbios: implement yet more memcard details
libretro/pcsx_rearmed#821
notaz [Sat, 20 Jan 2024 23:06:36 +0000 (01:06 +0200)]
release r24
notaz [Sun, 21 Jan 2024 22:27:01 +0000 (00:27 +0200)]
psxbios: some missed malloc merge behavior
notaz [Sun, 21 Jan 2024 21:14:27 +0000 (23:14 +0200)]
spu: add missing sample copying for thread mode
was probably a bad idea keeping them separate
notaz [Sun, 7 Jan 2024 19:25:10 +0000 (21:25 +0200)]
standalone: make unaccelerated fullscreen work
just centering; the performance is terrible though
notaz/pcsx_rearmed#331
notaz [Sat, 6 Jan 2024 23:31:17 +0000 (01:31 +0200)]
standalone: fix w/h confusion
notaz [Wed, 3 Jan 2024 23:15:18 +0000 (01:15 +0200)]
libretro: adjust some option text
notaz [Wed, 3 Jan 2024 00:36:58 +0000 (02:36 +0200)]
gpu_neon: make enh. res. texturing hack optional
until something better is figured out, if ever
libretro/pcsx_rearmed#815
notaz [Tue, 2 Jan 2024 23:11:04 +0000 (01:11 +0200)]
cdrom: attempt to improve reset
libretro/pcsx_rearmed#814
notaz [Wed, 27 Dec 2023 23:33:02 +0000 (01:33 +0200)]
gpu_neon: unbreak sprites in enhanced res
broken in
c296224f47ceebab4d6fbd071959bff294e80293
libretro/pcsx_rearmed#813
notaz [Wed, 27 Dec 2023 22:43:10 +0000 (00:43 +0200)]
gpulib: maybe better loop detection
Note that this thing isn't needed at all with gpu_slow_llists enabled.
libretro/pcsx_rearmed#812
notaz [Thu, 14 Dec 2023 22:24:38 +0000 (00:24 +0200)]
standalone: update gun support
notaz [Thu, 14 Dec 2023 19:05:21 +0000 (21:05 +0200)]
remove one of the hacks
seems to no longer be needed
added in
979b861b31ef1f5033db5bd4433b842944300a3e
notaz [Thu, 14 Dec 2023 19:00:04 +0000 (21:00 +0200)]
drc: handle upto 64k page size
libretro/pcsx_rearmed#810
notaz [Wed, 13 Dec 2023 22:12:53 +0000 (00:12 +0200)]
more timing hacks
notaz/pcsx_rearmed#329
notaz [Tue, 12 Dec 2023 22:24:23 +0000 (00:24 +0200)]
cheats: handle 1F and D4
libretro/pcsx_rearmed#808
notaz [Wed, 13 Dec 2023 20:14:54 +0000 (22:14 +0200)]
gpu: rework dma vs busy timing
maybe should implement actual fifo instead someday
libretro/pcsx_rearmed#809
notaz [Mon, 11 Dec 2023 21:31:40 +0000 (23:31 +0200)]
standalone: revive spu_c64x build
and some other minor pandora stuff
notaz [Sun, 10 Dec 2023 21:54:53 +0000 (23:54 +0200)]
misc: avoid assertion failure when state save fails
notaz [Sun, 10 Dec 2023 21:53:51 +0000 (23:53 +0200)]
standalone: allow scaler to cut off the letterbox
notaz/pcsx_rearmed#286
notaz [Sun, 10 Dec 2023 21:30:48 +0000 (23:30 +0200)]
standalone: allow other that 1 line scanlines
doesn't seem useful, but since the code is done I'll keep it
notaz/pcsx_rearmed/#287
notaz [Sun, 10 Dec 2023 21:26:27 +0000 (23:26 +0200)]
indicate values are hex in config
notaz/pcsx_rearmed#285
notaz [Fri, 8 Dec 2023 22:50:39 +0000 (00:50 +0200)]
gpu: adjust timing
seemed to be causing races, likely because we run the CPU too fast
notaz/pcsx_rearmed#330
notaz [Wed, 6 Dec 2023 23:31:48 +0000 (01:31 +0200)]
gpu_neon: try to patch more pal vs enhancement trouble
notaz [Wed, 6 Dec 2023 23:45:51 +0000 (01:45 +0200)]
spu: fix a wrong assumption about cd volume
reported by xjsxjs197 again
notaz [Wed, 6 Dec 2023 22:03:37 +0000 (00:03 +0200)]
cdrom: fix a copy-paste mistake
thanks to xjsxjs197 for the report
notaz [Wed, 6 Dec 2023 21:59:11 +0000 (23:59 +0200)]
psxbios: implement some more memcard details
notaz [Mon, 4 Dec 2023 20:17:10 +0000 (22:17 +0200)]
psxbios: implement some cdrom related stuff
notaz [Sat, 2 Dec 2023 23:21:50 +0000 (01:21 +0200)]
patch another gpulib alignment issue
for neon bgr888_to_rgb888
notaz [Fri, 1 Dec 2023 21:45:40 +0000 (23:45 +0200)]
adjust dma alignment and some cleanup
libretro/pcsx_rearmed#699
notaz [Fri, 1 Dec 2023 23:05:10 +0000 (01:05 +0200)]
an alt hack for Judge Dredd
notaz [Wed, 29 Nov 2023 23:58:19 +0000 (01:58 +0200)]
gpu: improve timings of clipped sprites
Judge Dredd has tons of them.
Too lazy to do this for peops so keep it neglected for now.
notaz [Mon, 27 Nov 2023 22:51:32 +0000 (00:51 +0200)]
more timing hacks
notaz [Mon, 27 Nov 2023 22:47:16 +0000 (00:47 +0200)]
gpu_unai: fix clear masking
notaz [Mon, 27 Nov 2023 22:23:03 +0000 (00:23 +0200)]
gpu: start doing some basic gpu timing
minimum only for now, mostly based on Mednafen
libretro/pcsx_rearmed#573
libretro/pcsx_rearmed#783
notaz [Sun, 26 Nov 2023 19:39:08 +0000 (21:39 +0200)]
libretro: drop the Frame Duping option
Unclear what it was for, added in commit
0e5a7b7d5a4894754a73d0ea496b3b7b3f6b32d8
libretro/pcsx_rearmed#805
notaz [Sat, 25 Nov 2023 23:02:27 +0000 (01:02 +0200)]
update db
libretro/pcsx_rearmed#128
notaz [Sat, 25 Nov 2023 22:11:30 +0000 (00:11 +0200)]
drop some unused funcs
removed in a plugin but not the core
notaz [Sat, 25 Nov 2023 21:59:36 +0000 (23:59 +0200)]
libretro: report errors and warnings as such
notaz [Sat, 25 Nov 2023 21:56:41 +0000 (23:56 +0200)]
libretro: direct fb access requires duping support
because video doesn't necessary update at vsync rate
libretro/pcsx_rearmed#805
notaz [Sat, 25 Nov 2023 20:37:28 +0000 (22:37 +0200)]
cdrom: fail pausing on seek
libretro/pcsx_rearmed#790
notaz [Sat, 25 Nov 2023 00:52:47 +0000 (02:52 +0200)]
try different dualshock analog heuristics
libretro/pcsx_rearmed#765
notaz [Tue, 21 Nov 2023 23:06:05 +0000 (01:06 +0200)]
spu: add a guard for "runaway" channels
should really mask but it's inconvenient with the raw pointers used
there
notaz [Tue, 21 Nov 2023 22:37:49 +0000 (00:37 +0200)]
don't use a stack var out of scope
newer compilers are stricter about this, as well as asan
notaz [Tue, 21 Nov 2023 22:27:27 +0000 (00:27 +0200)]
cdrom: always error out on shell open
Duckstation claims it has been verified on console.
libretro/pcsx_rearmed#804
notaz [Tue, 21 Nov 2023 22:06:05 +0000 (00:06 +0200)]
spu: forgot to save some stuff again
notaz [Tue, 21 Nov 2023 22:02:50 +0000 (00:02 +0200)]
apply cdrom volume in spu
The previous sector delay thing breaks rhythm games.
Also much easier to deal with timing in SPU code.
notaz [Mon, 20 Nov 2023 21:06:31 +0000 (23:06 +0200)]
libretro: add a few options for the analog combo
like in the other core
notaz [Mon, 20 Nov 2023 00:39:56 +0000 (02:39 +0200)]
update analog default list
notaz [Mon, 20 Nov 2023 00:17:24 +0000 (02:17 +0200)]
defaut dualshock to digital again, unless overriden
... or a key combo is used
libretro/pcsx_rearmed#765
Paul Cercueil [Sun, 19 Nov 2023 11:54:22 +0000 (12:54 +0100)]
frontend: Fix buffer overrun
The format passed to sscanf() requested a 256-chars string, but that's
excluding the terminating \0 character as the 257th character.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Sun, 19 Nov 2023 11:50:39 +0000 (12:50 +0100)]
Makefile: Enable address sanitizer with DEBUG_ASAN=1
The Address Sanitizer (built in GCC and LLVM) is an extremely powerful
tool, moreso than e.g. Valgrind for detecting memory issues.
It is not available on every architecture/OS combination (see
https://github.com/google/sanitizers/wiki/AddressSanitizer), so it can
only be enabled by compiling with DEBUG_ASAN=1.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
notaz [Sun, 19 Nov 2023 21:45:55 +0000 (23:45 +0200)]
spu: adjust dma timing + a hack
libretro/pcsx_rearmed#799
notaz [Thu, 16 Nov 2023 23:08:45 +0000 (01:08 +0200)]
psxbios: implement strtol
libretro/pcsx_rearmed#288
notaz [Thu, 16 Nov 2023 21:23:05 +0000 (23:23 +0200)]
psxbios: handle direct bios table calls
libretro/pcsx_rearmed#797
notaz [Thu, 16 Nov 2023 19:07:21 +0000 (21:07 +0200)]
spu: patch up more savestate issues
notaz/pcsx_rearmed#329
notaz [Mon, 13 Nov 2023 22:46:38 +0000 (00:46 +0200)]
yet more timing hacks
libretro/pcsx_rearmed#107
notaz [Mon, 13 Nov 2023 20:07:12 +0000 (22:07 +0200)]
rearrange cycle hack table
notaz [Mon, 13 Nov 2023 22:44:20 +0000 (00:44 +0200)]
cdrom: try more states
let's see what else breaks now
libretro/pcsx_rearmed#796
notaz [Mon, 13 Nov 2023 19:04:37 +0000 (21:04 +0200)]
gpu_neon: enforce alignment required for asm
libretro/pcsx_rearmed#798
notaz [Sat, 4 Nov 2023 00:06:57 +0000 (02:06 +0200)]
adjust the deadzone hack
libretro/pcsx_rearmed#792
notaz [Fri, 3 Nov 2023 00:02:26 +0000 (02:02 +0200)]
cdrom: add forgotten reset
notaz [Thu, 2 Nov 2023 21:17:28 +0000 (23:17 +0200)]
cdrom: implement some more irq details
notaz [Thu, 2 Nov 2023 17:24:40 +0000 (19:24 +0200)]
spu: implement some more irq details
libretro/pcsx_rearmed#787
notaz [Thu, 2 Nov 2023 16:46:17 +0000 (18:46 +0200)]
update gitignore
Paul Cercueil [Tue, 31 Oct 2023 17:11:39 +0000 (18:11 +0100)]
unai: Use 8.8 RGB triplet format for gouraud shading
Use a new 'gcol_t' type which fits in 64 bits, and encode each color
component into a 8.8 fixed-point format.
This boosts the precision of the gouraud shading algorithm, at almost
zero cost.
Fixes #320.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Thu, 2 Nov 2023 09:49:09 +0000 (10:49 +0100)]
unai: Preserve MSB in light routines
Apply the "MSB_PRESERVED" speed hack to non-ARM architectures.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Bobby Smith [Wed, 1 Nov 2023 18:21:20 +0000 (19:21 +0100)]
Add missing #if for the "Threaded SPU" core option
notaz [Wed, 1 Nov 2023 16:56:36 +0000 (18:56 +0200)]
gpu_unai: sync with libretro
notaz [Wed, 1 Nov 2023 16:47:16 +0000 (18:47 +0200)]
rename gpu_senquack to gpu_unai
to reduce the pain of syncing with libretro
notaz [Wed, 1 Nov 2023 16:28:03 +0000 (18:28 +0200)]
rename gpu_unai to gpu_unai_old
Because libretro's gpu_unai is different, making syncing the branches
a PITA.
notaz [Tue, 31 Oct 2023 23:48:23 +0000 (01:48 +0200)]
frontend: drop an outdated sanity check
notaz [Tue, 31 Oct 2023 23:47:14 +0000 (01:47 +0200)]
spu: maybe better mute
Blue's Clues
notaz [Mon, 30 Oct 2023 23:44:38 +0000 (01:44 +0200)]
cdrom: implement xa buffering somewhat
libretro/pcsx_rearmed#784
notaz [Mon, 30 Oct 2023 23:43:12 +0000 (01:43 +0200)]
spu: sync on koff
otherwise problems with FIFA99
notaz [Sun, 29 Oct 2023 22:33:46 +0000 (00:33 +0200)]
gpulib: don't set_mode for 0
can happen with the new borderless setting
notaz [Sun, 29 Oct 2023 21:58:03 +0000 (23:58 +0200)]
rework memhandlers to deal with some bus details
notaz/pcsx_rearmed#327
notaz [Sun, 29 Oct 2023 21:54:58 +0000 (23:54 +0200)]
cdrom: simplify getStatus
notaz [Sat, 28 Oct 2023 22:19:32 +0000 (01:19 +0300)]
cdrom: allow resetting with lid open
libretro/pcsx_rearmed#679