pcsx_rearmed.git
3 months agorelease r24 r24l
notaz [Sat, 20 Jan 2024 23:06:36 +0000 (01:06 +0200)]
release r24

3 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

3 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

3 months agotry again with android
notaz [Sat, 20 Jan 2024 19:38:05 +0000 (21:38 +0200)]
try again with android

3 months agoobligatory android fail fixup
notaz [Sat, 20 Jan 2024 19:32:52 +0000 (21:32 +0200)]
obligatory android fail fixup

3 months agolightrec: implement clock cache clear on cycle_multiplier change
notaz [Sat, 20 Jan 2024 19:15:28 +0000 (21:15 +0200)]
lightrec: implement clock cache clear on cycle_multiplier change

libretro/pcsx_rearmed#818

3 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

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

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

3 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

3 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

4 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

4 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

4 months agodrc: try to unbreak 3ds
notaz [Tue, 19 Dec 2023 19:06:18 +0000 (21:06 +0200)]
drc: try to unbreak 3ds

it doesn't implement _SC_PAGESIZE

4 months agosync with standalone
notaz [Thu, 14 Dec 2023 23:48:24 +0000 (01:48 +0200)]
sync with standalone

4 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

4 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

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

4 months agogit subrepo pull --force deps/lightrec
Paul Cercueil [Thu, 14 Dec 2023 18:10:11 +0000 (19:10 +0100)]
git subrepo pull --force deps/lightrec

subrepo:
  subdir:   "deps/lightrec"
  merged:   "d88760e40c"
upstream:
  origin:   "https://github.com/pcercuei/lightrec.git"
  branch:   "master"
  commit:   "d88760e40c"
git-subrepo:
  version:  "0.4.6"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "110b9eb"

4 months agoupdate gpulib_thread_if
notaz [Wed, 13 Dec 2023 23:40:31 +0000 (01:40 +0200)]
update gpulib_thread_if

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

notaz/pcsx_rearmed#329

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

5 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

5 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

5 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.

5 months agounbreak the build of gpu thread thing
notaz [Tue, 28 Nov 2023 00:09:45 +0000 (02:09 +0200)]
unbreak the build of gpu thread thing

and hope it still works

5 months agoadd a forgotten file
notaz [Mon, 27 Nov 2023 23:49:32 +0000 (01:49 +0200)]
add a forgotten file

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

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

5 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

5 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

5 months agolightrec: Improve hack around icache emulation
Paul Cercueil [Sun, 26 Nov 2023 14:04:07 +0000 (15:04 +0100)]
lightrec: Improve hack around icache emulation

Invalidate the whole code buffer on each call to the .clear callback.
This fixes a crash after finishing a race in F1 Arcade, and does not
seem to cause issues with the other F1 games.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
5 months agoupdate db
notaz [Sat, 25 Nov 2023 23:02:27 +0000 (01:02 +0200)]
update db

libretro/pcsx_rearmed#128

5 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

5 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

5 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

5 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

5 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

5 months agogit subrepo pull --force deps/lightrec
Paul Cercueil [Fri, 24 Nov 2023 22:47:26 +0000 (23:47 +0100)]
git subrepo pull --force deps/lightrec

subrepo:
  subdir:   "deps/lightrec"
  merged:   "b8ce1f3dab"
upstream:
  origin:   "https://github.com/pcercuei/lightrec.git"
  branch:   "master"
  commit:   "b8ce1f3dab"
git-subrepo:
  version:  "0.4.6"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "110b9eb"

5 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

5 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

5 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

5 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

5 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.

5 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

5 months agomake: don't enable neon for all ARMs
notaz [Mon, 20 Nov 2023 21:03:59 +0000 (23:03 +0200)]
make: don't enable neon for all ARMs

joolswills commented on 4b2392bb:
This breaks building on armv6 where ARCH_DETECTED is set to "arm"
(which is a substring of arm64) so it matches, and BUILTIN_GPU is
set to neon.

5 months agogit subrepo pull --force deps/lightrec
Paul Cercueil [Mon, 20 Nov 2023 16:40:16 +0000 (17:40 +0100)]
git subrepo pull --force deps/lightrec

subrepo:
  subdir:   "deps/lightrec"
  merged:   "109d0a6ba3"
upstream:
  origin:   "https://github.com/pcercuei/lightrec.git"
  branch:   "master"
  commit:   "109d0a6ba3"
git-subrepo:
  version:  "0.4.6"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "110b9eb"

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

5 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

5 months agoMerge pull request #802 from pcercuei/address-sanitizer
notaz [Sun, 19 Nov 2023 22:42:16 +0000 (00:42 +0200)]
Merge pull request #802 from pcercuei/address-sanitizer

Address sanitizer

5 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>
5 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>
5 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

5 months agoMerge pull request #801 from pcercuei/update-lightrec-20231119
notaz [Sun, 19 Nov 2023 21:47:01 +0000 (23:47 +0200)]
Merge pull request #801 from pcercuei/update-lightrec-20231119

Update lightrec 20231119

5 months agogit subrepo pull (merge) --force deps/lightning
Paul Cercueil [Sun, 19 Nov 2023 11:46:52 +0000 (12:46 +0100)]
git subrepo pull (merge) --force deps/lightning

subrepo:
  subdir:   "deps/lightning"
  merged:   "de026794c7"
upstream:
  origin:   "https://github.com/pcercuei/gnu_lightning.git"
  branch:   "pcsx_rearmed"
  commit:   "de026794c7"
git-subrepo:
  version:  "0.4.6"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "110b9eb"

5 months agogit subrepo pull --force deps/lightrec
Paul Cercueil [Sun, 19 Nov 2023 11:43:43 +0000 (12:43 +0100)]
git subrepo pull --force deps/lightrec

subrepo:
  subdir:   "deps/lightrec"
  merged:   "eb2d1a88ff"
upstream:
  origin:   "https://github.com/pcercuei/lightrec.git"
  branch:   "master"
  commit:   "eb2d1a88ff"
git-subrepo:
  version:  "0.4.6"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "110b9eb"

5 months agolightrec: handle some 32bit-only addresses
notaz [Thu, 16 Nov 2023 23:48:29 +0000 (01:48 +0200)]
lightrec: handle some 32bit-only addresses

notaz/pcsx_rearmed#327

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

libretro/pcsx_rearmed#288

5 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

5 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

5 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

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

5 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

5 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

5 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

5 months agoMerge pull request #794 from pcercuei/update-lightrec-20231103
notaz [Fri, 3 Nov 2023 22:09:39 +0000 (00:09 +0200)]
Merge pull request #794 from pcercuei/update-lightrec-20231103

lightrec: Update prototypes of memory write callbacks

5 months agolightrec: Update prototypes of memory write callbacks
Paul Cercueil [Fri, 3 Nov 2023 19:12:18 +0000 (20:12 +0100)]
lightrec: Update prototypes of memory write callbacks

They now take an u32 instead of u8/u16.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
5 months agogit subrepo pull --force deps/lightrec
Paul Cercueil [Fri, 3 Nov 2023 19:12:55 +0000 (20:12 +0100)]
git subrepo pull --force deps/lightrec

subrepo:
  subdir:   "deps/lightrec"
  merged:   "b9e4089b3b"
upstream:
  origin:   "https://github.com/pcercuei/lightrec.git"
  branch:   "master"
  commit:   "b9e4089b3b"
git-subrepo:
  version:  "0.4.6"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "110b9eb"

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

5 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

5 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

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

5 months agosync with master
notaz [Wed, 1 Nov 2023 21:00:19 +0000 (23:00 +0200)]
sync with master

5 months agoMerge pull request #789 from pcercuei/unai-gouraud
notaz [Thu, 2 Nov 2023 16:13:17 +0000 (18:13 +0200)]
Merge pull request #789 from pcercuei/unai-gouraud

unai: Use 8.8 RGB triplet format for gouraud shading

5 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>
5 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>
5 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

6 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

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

Blue's Clues

6 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

6 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

6 months agogpulib: don't set_mode for 0
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

6 months agorework memhandlers to deal with some bus details
notaz [Sun, 29 Oct 2023 21:58:03 +0000 (23:58 +0200)]
rework memhandlers to deal with some bus details

notaz/pcsx_rearmed#327

6 months agocdrom: simplify getStatus
notaz [Sun, 29 Oct 2023 21:54:58 +0000 (23:54 +0200)]
cdrom: simplify getStatus

6 months agocdrom: allow resetting with lid open
notaz [Sat, 28 Oct 2023 22:19:32 +0000 (01:19 +0300)]
cdrom: allow resetting with lid open

libretro/pcsx_rearmed#679

6 months agolibretro: fix option mismatch
notaz [Sat, 28 Oct 2023 20:40:01 +0000 (23:40 +0300)]
libretro: fix option mismatch

6 months agolibretro: clear the allocated buffers
notaz [Sat, 28 Oct 2023 20:23:30 +0000 (23:23 +0300)]
libretro: clear the allocated buffers

there is code that relies on that memory to be cleared
because linux mmap() clears it