pcsx_rearmed.git
4 days agotry some overscan display option
notaz [Fri, 28 Jun 2024 22:08:41 +0000 (01:08 +0300)]
try some overscan display option

libretro/pcsx_rearmed#313

4 days agostandalone: some ppf loading
notaz [Fri, 28 Jun 2024 22:02:05 +0000 (01:02 +0300)]
standalone: some ppf loading

mostly for testing, like game.chd.ppf would load game.chd and apply
game.chd.ppf patch

5 days agoUpdate timing (override) hack for Power Rangers: Lightspeed Rescue (SuperrSonic)...
saulfabreg Wii VC Project [Thu, 27 Jun 2024 21:09:13 +0000 (16:09 -0500)]
Update timing (override) hack for Power Rangers: Lightspeed Rescue (SuperrSonic) (#341)

* Update timing (override) hack for Power Rangers: Lightspeed Rescue (SuperrSonic)

The game's jumping command does not work if the game FPS is over 30.

At 280, on level 3 has audio stutters. Needs more testing.

SuperrSonic found 310 ideal to maintain the emulation at full speed, at the cost of the game dropping more frames, this allowed jumping to always work and keep the sound stutter free, as it was tested the entire game this way.

Credit to SuperrSonic for this fix.

* update timing hack description for PRLR (SuperrSonic)

2 weeks agomore timing hacks: fix jump command on Power Rangers - Lightspeed Rescue
saulfabreg Wii VC Project [Sun, 16 Jun 2024 20:28:41 +0000 (15:28 -0500)]
more timing hacks: fix jump command on Power Rangers - Lightspeed Rescue

https://github.com/libretro/pcsx_rearmed/issues/837

4 weeks agospunull: Add missing callback and fix prototypes
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>
4 weeks agoFix invalid variable types
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>
4 weeks agocdrom: Rename "stat" to "cdr_stat"
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>
6 weeks agoupdate libchdr
notaz [Mon, 20 May 2024 23:02:19 +0000 (02:02 +0300)]
update libchdr

2 months agonew experimental TurboCD option
notaz [Thu, 18 Apr 2024 18:12:41 +0000 (21:12 +0300)]
new experimental TurboCD option

2 months agocdrom: change pause timing again
notaz [Mon, 15 Apr 2024 21:38:14 +0000 (00:38 +0300)]
cdrom: change pause timing again

for DDR series

2 months agointroduce fractional framerates
notaz [Sun, 14 Apr 2024 22:56:42 +0000 (01:56 +0300)]
introduce fractional framerates

notaz/pcsx_rearmed#91

2 months agocdrom: accept more channel bits
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?

2 months agodb: Override cycle multiplier for Colin McRae PAL
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>
3 months agolibretro: update build for newer libchdr
notaz [Thu, 28 Mar 2024 23:28:11 +0000 (01:28 +0200)]
libretro: update build for newer libchdr

3 months agoupdate 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

3 months agospu: don't leave garbage in capture buffers
notaz [Mon, 25 Mar 2024 21:26:10 +0000 (23:26 +0200)]
spu: don't leave garbage in capture buffers

3 months agospu: more status bits
notaz [Sun, 24 Mar 2024 23:50:25 +0000 (01:50 +0200)]
spu: more status bits

notaz/pcsx_rearmed#338

3 months agospu: don't assert on noise in thread mode
notaz [Sun, 24 Mar 2024 00:47:33 +0000 (02:47 +0200)]
spu: don't assert on noise in thread mode

3 months agopsxdma: implement a few more details
notaz [Sun, 24 Mar 2024 00:46:33 +0000 (02:46 +0200)]
psxdma: implement a few more details

notaz/pcsx_rearmed#336

3 months agogpulib: fix frameskip on weird lists
notaz [Fri, 22 Mar 2024 22:57:41 +0000 (00:57 +0200)]
gpulib: fix frameskip on weird lists

notaz/pcsx_rearmed#337

3 months agomisc: allow slow-booting to cdda or whatever
notaz [Thu, 21 Mar 2024 22:52:37 +0000 (00:52 +0200)]
misc: allow slow-booting to cdda or whatever

notaz/pcsx_rearmed#335

3 months agolibretro: try to handle physical cdrom ejection
notaz [Thu, 21 Mar 2024 22:21:20 +0000 (00:21 +0200)]
libretro: try to handle physical cdrom ejection

notaz/pcsx_rearmed#335

3 months agophysical cdrom readahead
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

3 months agolibretro: preliminary physical cdrom support
notaz [Mon, 18 Mar 2024 00:37:51 +0000 (02:37 +0200)]
libretro: preliminary physical cdrom support

3 months agopsxhw: adjust sio stat
notaz [Sun, 10 Mar 2024 23:28:41 +0000 (01:28 +0200)]
psxhw: adjust sio stat

libretro/pcsx_rearmed#822

4 months agopsxbios: implement yet more memcard details
notaz [Wed, 14 Feb 2024 23:18:57 +0000 (01:18 +0200)]
psxbios: implement yet more memcard details

libretro/pcsx_rearmed#821

5 months agorelease r24 r24
notaz [Sat, 20 Jan 2024 23:06:36 +0000 (01:06 +0200)]
release r24

5 months agopsxbios: some missed malloc merge behavior
notaz [Sun, 21 Jan 2024 22:27:01 +0000 (00:27 +0200)]
psxbios: some missed malloc merge behavior

5 months agospu: add missing sample copying for thread mode
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

5 months agostandalone: make unaccelerated fullscreen work
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

5 months agostandalone: fix w/h confusion
notaz [Sat, 6 Jan 2024 23:31:17 +0000 (01:31 +0200)]
standalone: fix w/h confusion

5 months agolibretro: adjust some option text
notaz [Wed, 3 Jan 2024 23:15:18 +0000 (01:15 +0200)]
libretro: adjust some option text

5 months agogpu_neon: make enh. res. texturing hack optional
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

5 months agocdrom: attempt to improve reset
notaz [Tue, 2 Jan 2024 23:11:04 +0000 (01:11 +0200)]
cdrom: attempt to improve reset

libretro/pcsx_rearmed#814

6 months agogpu_neon: unbreak sprites in enhanced res
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

6 months agogpulib: maybe better loop detection
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

6 months agostandalone: update gun support
notaz [Thu, 14 Dec 2023 22:24:38 +0000 (00:24 +0200)]
standalone: update gun support

6 months agoremove one of the hacks
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

6 months agodrc: handle upto 64k page size
notaz [Thu, 14 Dec 2023 19:00:04 +0000 (21:00 +0200)]
drc: handle upto 64k page size

libretro/pcsx_rearmed#810

6 months agomore timing hacks
notaz [Wed, 13 Dec 2023 22:12:53 +0000 (00:12 +0200)]
more timing hacks

notaz/pcsx_rearmed#329

6 months agocheats: handle 1F and D4
notaz [Tue, 12 Dec 2023 22:24:23 +0000 (00:24 +0200)]
cheats: handle 1F and D4

libretro/pcsx_rearmed#808

6 months agogpu: rework dma vs busy timing
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

6 months agostandalone: revive spu_c64x build
notaz [Mon, 11 Dec 2023 21:31:40 +0000 (23:31 +0200)]
standalone: revive spu_c64x build

and some other minor pandora stuff

6 months agomisc: avoid assertion failure when state save fails
notaz [Sun, 10 Dec 2023 21:54:53 +0000 (23:54 +0200)]
misc: avoid assertion failure when state save fails

6 months agostandalone: allow scaler to cut off the letterbox
notaz [Sun, 10 Dec 2023 21:53:51 +0000 (23:53 +0200)]
standalone: allow scaler to cut off the letterbox

notaz/pcsx_rearmed#286

6 months agostandalone: allow other that 1 line scanlines
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

6 months agoindicate values are hex in config
notaz [Sun, 10 Dec 2023 21:26:27 +0000 (23:26 +0200)]
indicate values are hex in config

notaz/pcsx_rearmed#285

6 months agogpu: adjust timing
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

6 months agogpu_neon: try to patch more pal vs enhancement trouble
notaz [Wed, 6 Dec 2023 23:31:48 +0000 (01:31 +0200)]
gpu_neon: try to patch more pal vs enhancement trouble

6 months agospu: fix a wrong assumption about cd volume
notaz [Wed, 6 Dec 2023 23:45:51 +0000 (01:45 +0200)]
spu: fix a wrong assumption about cd volume

reported by xjsxjs197 again

6 months agocdrom: fix a copy-paste mistake
notaz [Wed, 6 Dec 2023 22:03:37 +0000 (00:03 +0200)]
cdrom: fix a copy-paste mistake

thanks to xjsxjs197 for the report

6 months agopsxbios: implement some more memcard details
notaz [Wed, 6 Dec 2023 21:59:11 +0000 (23:59 +0200)]
psxbios: implement some more memcard details

6 months agopsxbios: implement some cdrom related stuff
notaz [Mon, 4 Dec 2023 20:17:10 +0000 (22:17 +0200)]
psxbios: implement some cdrom related stuff

7 months agopatch another gpulib alignment issue
notaz [Sat, 2 Dec 2023 23:21:50 +0000 (01:21 +0200)]
patch another gpulib alignment issue

for neon bgr888_to_rgb888

7 months agoadjust dma alignment and some cleanup
notaz [Fri, 1 Dec 2023 21:45:40 +0000 (23:45 +0200)]
adjust dma alignment and some cleanup

libretro/pcsx_rearmed#699

7 months agoan alt hack for Judge Dredd
notaz [Fri, 1 Dec 2023 23:05:10 +0000 (01:05 +0200)]
an alt hack for Judge Dredd

7 months agogpu: improve timings of clipped sprites
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.

7 months agomore timing hacks
notaz [Mon, 27 Nov 2023 22:51:32 +0000 (00:51 +0200)]
more timing hacks

7 months agogpu_unai: fix clear masking
notaz [Mon, 27 Nov 2023 22:47:16 +0000 (00:47 +0200)]
gpu_unai: fix clear masking

7 months agogpu: start doing some basic gpu timing
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

7 months agolibretro: drop the Frame Duping option
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

7 months agoupdate db
notaz [Sat, 25 Nov 2023 23:02:27 +0000 (01:02 +0200)]
update db

libretro/pcsx_rearmed#128

7 months agodrop some unused funcs
notaz [Sat, 25 Nov 2023 22:11:30 +0000 (00:11 +0200)]
drop some unused funcs

removed in a plugin but not the core

7 months agolibretro: report errors and warnings as such
notaz [Sat, 25 Nov 2023 21:59:36 +0000 (23:59 +0200)]
libretro: report errors and warnings as such

7 months agolibretro: direct fb access requires duping support
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

7 months agocdrom: fail pausing on seek
notaz [Sat, 25 Nov 2023 20:37:28 +0000 (22:37 +0200)]
cdrom: fail pausing on seek

libretro/pcsx_rearmed#790

7 months agotry different dualshock analog heuristics
notaz [Sat, 25 Nov 2023 00:52:47 +0000 (02:52 +0200)]
try different dualshock analog heuristics

libretro/pcsx_rearmed#765

7 months agospu: add a guard for "runaway" channels
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

7 months agodon't use a stack var out of scope
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

7 months agocdrom: always error out on shell open
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

7 months agospu: forgot to save some stuff again
notaz [Tue, 21 Nov 2023 22:06:05 +0000 (00:06 +0200)]
spu: forgot to save some stuff again

7 months agoapply cdrom volume in spu
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.

7 months agolibretro: add a few options for the analog combo
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

7 months agoupdate analog default list
notaz [Mon, 20 Nov 2023 00:39:56 +0000 (02:39 +0200)]
update analog default list

7 months agodefaut dualshock to digital again, unless overriden
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

7 months agofrontend: Fix buffer overrun
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>
7 months agoMakefile: Enable address sanitizer with DEBUG_ASAN=1
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>
7 months agospu: adjust dma timing + a hack
notaz [Sun, 19 Nov 2023 21:45:55 +0000 (23:45 +0200)]
spu: adjust dma timing + a hack

libretro/pcsx_rearmed#799

7 months agopsxbios: implement strtol
notaz [Thu, 16 Nov 2023 23:08:45 +0000 (01:08 +0200)]
psxbios: implement strtol

libretro/pcsx_rearmed#288

7 months agopsxbios: handle direct bios table calls
notaz [Thu, 16 Nov 2023 21:23:05 +0000 (23:23 +0200)]
psxbios: handle direct bios table calls

libretro/pcsx_rearmed#797

7 months agospu: patch up more savestate issues
notaz [Thu, 16 Nov 2023 19:07:21 +0000 (21:07 +0200)]
spu: patch up more savestate issues

notaz/pcsx_rearmed#329

7 months agoyet more timing hacks
notaz [Mon, 13 Nov 2023 22:46:38 +0000 (00:46 +0200)]
yet more timing hacks

libretro/pcsx_rearmed#107

7 months agorearrange cycle hack table
notaz [Mon, 13 Nov 2023 20:07:12 +0000 (22:07 +0200)]
rearrange cycle hack table

7 months agocdrom: try more states
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

7 months agogpu_neon: enforce alignment required for asm
notaz [Mon, 13 Nov 2023 19:04:37 +0000 (21:04 +0200)]
gpu_neon: enforce alignment required for asm

libretro/pcsx_rearmed#798

7 months agoadjust the deadzone hack
notaz [Sat, 4 Nov 2023 00:06:57 +0000 (02:06 +0200)]
adjust the deadzone hack

libretro/pcsx_rearmed#792

7 months agocdrom: add forgotten reset
notaz [Fri, 3 Nov 2023 00:02:26 +0000 (02:02 +0200)]
cdrom: add forgotten reset

7 months agocdrom: implement some more irq details
notaz [Thu, 2 Nov 2023 21:17:28 +0000 (23:17 +0200)]
cdrom: implement some more irq details

7 months agospu: 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

7 months agoupdate gitignore
notaz [Thu, 2 Nov 2023 16:46:17 +0000 (18:46 +0200)]
update gitignore

7 months agounai: Use 8.8 RGB triplet format for gouraud shading
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>
7 months agounai: Preserve MSB in light routines
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>
8 months agoAdd missing #if for the "Threaded SPU" core option
Bobby Smith [Wed, 1 Nov 2023 18:21:20 +0000 (19:21 +0100)]
Add missing #if for the "Threaded SPU" core option

8 months agogpu_unai: sync with libretro
notaz [Wed, 1 Nov 2023 16:56:36 +0000 (18:56 +0200)]
gpu_unai: sync with libretro

8 months agorename gpu_senquack to gpu_unai
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

8 months agorename gpu_unai to gpu_unai_old
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.

8 months agofrontend: drop an outdated sanity check
notaz [Tue, 31 Oct 2023 23:48:23 +0000 (01:48 +0200)]
frontend: drop an outdated sanity check

8 months agospu: maybe better mute
notaz [Tue, 31 Oct 2023 23:47:14 +0000 (01:47 +0200)]
spu: maybe better mute

Blue's Clues

8 months agocdrom: implement xa buffering somewhat
notaz [Mon, 30 Oct 2023 23:44:38 +0000 (01:44 +0200)]
cdrom: implement xa buffering somewhat

libretro/pcsx_rearmed#784

8 months agospu: sync on koff
notaz [Mon, 30 Oct 2023 23:43:12 +0000 (01:43 +0200)]
spu: sync on koff

otherwise problems with FIFA99