pcsx_rearmed.git
12 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"

12 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

12 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

12 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

12 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

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

12 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

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

12 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"

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

12 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

12 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

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

12 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

12 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"

12 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"

12 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

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

libretro/pcsx_rearmed#288

12 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

12 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

12 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

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

12 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

12 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

12 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

12 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

12 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>
12 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"

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

12 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

12 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

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

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

12 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

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

12 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

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

Blue's Clues

12 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

12 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

12 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

12 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

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

12 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

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

12 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

12 months agolibretro: try to support different pitches
notaz [Sat, 28 Oct 2023 19:53:21 +0000 (22:53 +0300)]
libretro: try to support different pitches

untested as GET_CURRENT_SOFTWARE_FRAMEBUFFER returns false in my setup

12 months agotry to workaround some libretro builds lacking version
notaz [Fri, 27 Oct 2023 21:08:51 +0000 (00:08 +0300)]
try to workaround some libretro builds lacking version

12 months agoadjust vita's mappings to more resemble other platforms
notaz [Fri, 27 Oct 2023 20:56:06 +0000 (23:56 +0300)]
adjust vita's mappings to more resemble other platforms

12 months agocdrom: proper autopause int
notaz [Thu, 26 Oct 2023 21:24:47 +0000 (00:24 +0300)]
cdrom: proper autopause int

libretro/pcsx_rearmed#396

13 months agopsxhw: debug-log more weird writes
notaz [Wed, 25 Oct 2023 22:00:29 +0000 (01:00 +0300)]
psxhw: debug-log more weird writes

they'd likely need special handling

13 months agocdrom: maybe more accurate lid behavior
notaz [Wed, 25 Oct 2023 21:56:20 +0000 (00:56 +0300)]
cdrom: maybe more accurate lid behavior

libretro/pcsx_rearmed#779

13 months agocdrom: try some different seek times
notaz [Wed, 25 Oct 2023 21:47:50 +0000 (00:47 +0300)]
cdrom: try some different seek times

libretro/pcsx_rearmed#781
libretro/pcsx_rearmed#150

13 months agogpu_neon: fix some missing ebuf updates
notaz [Wed, 25 Oct 2023 20:08:48 +0000 (23:08 +0300)]
gpu_neon: fix some missing ebuf updates

13 months agocdriso: unbreak chd cdda
notaz [Wed, 25 Oct 2023 20:06:59 +0000 (23:06 +0300)]
cdriso: unbreak chd cdda

fixes notaz/pcsx_rearmed#328

13 months agofix build
notaz [Tue, 24 Oct 2023 23:07:00 +0000 (02:07 +0300)]
fix build

13 months agogpulib: trust game's centering based on a database
notaz [Tue, 24 Oct 2023 22:36:42 +0000 (01:36 +0300)]
gpulib: trust game's centering based on a database

libretro/pcsx_rearmed#160

13 months agogpulib: add a "borderless" option to restore old behavior
notaz [Tue, 24 Oct 2023 18:42:04 +0000 (21:42 +0300)]
gpulib: add a "borderless" option to restore old behavior

13 months agopsxdma: Fix endian issue in gpuInterrupt()
Paul Cercueil [Tue, 24 Oct 2023 17:08:40 +0000 (19:08 +0200)]
psxdma: Fix endian issue in gpuInterrupt()

The HW_DMA2_MADR register contains little-endian data, therefore it
must always be accessed through one of the swap macros.

This fixes the slow DMA linked-list walking on big-endian systems.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
13 months agosave some things that weren't saved but should have been
notaz [Mon, 23 Oct 2023 22:22:27 +0000 (01:22 +0300)]
save some things that weren't saved but should have been

libretro/pcsx_rearmed#274

13 months agoimprove field status after enable
notaz [Mon, 23 Oct 2023 22:00:55 +0000 (01:00 +0300)]
improve field status after enable

sort of a hack (as usual) but ohwell...

13 months agoMerge pull request #780 from pcercuei/update-lightrec-20231023
notaz [Mon, 23 Oct 2023 21:41:02 +0000 (00:41 +0300)]
Merge pull request #780 from pcercuei/update-lightrec-20231023

Update lightrec 20231023

13 months agogit subrepo pull --force deps/lightrec
Paul Cercueil [Sun, 22 Oct 2023 22:39:22 +0000 (00:39 +0200)]
git subrepo pull --force deps/lightrec

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

13 months agopsxmem.h: Fix annoying warning
Paul Cercueil [Sun, 22 Oct 2023 22:38:45 +0000 (00:38 +0200)]
psxmem.h: Fix annoying warning

Avoid doing arithmetic on pointers to keep compilers happy.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
13 months agomore timing hacks
notaz [Mon, 23 Oct 2023 18:20:51 +0000 (21:20 +0300)]
more timing hacks

13 months agogpu_neon: rework buffering to reduce flickering
notaz [Mon, 23 Oct 2023 18:00:35 +0000 (21:00 +0300)]
gpu_neon: rework buffering to reduce flickering

... maybe

notaz/pcsx_rearmed#324

13 months agoadd a libcrypt warning
notaz [Sat, 21 Oct 2023 21:09:16 +0000 (00:09 +0300)]
add a libcrypt warning

gives a hint instead of silently not working

13 months agoupdate libpicofe
notaz [Sat, 21 Oct 2023 20:33:34 +0000 (23:33 +0300)]
update libpicofe

13 months agoCompatibility with FreeBSD
Matheus Garcia [Sat, 21 Oct 2023 15:40:07 +0000 (15:40 +0000)]
Compatibility with FreeBSD

13 months agoconfigure: Detect the toolchain's sdl-config tool
Paul Cercueil [Fri, 29 Apr 2016 20:06:36 +0000 (22:06 +0200)]
configure: Detect the toolchain's sdl-config tool

Instead of calling the host's sdl-config, which doesn't work when
cross-compiling, call the sdl-config program that's installed in the
compiler's sysroot.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
13 months agotry a workaround for ff8 analogs
notaz [Fri, 20 Oct 2023 23:45:06 +0000 (02:45 +0300)]
try a workaround for ff8 analogs

notaz/pcsx_rearmed#54

13 months agotry a new github issue template
notaz [Fri, 20 Oct 2023 20:14:17 +0000 (23:14 +0300)]
try a new github issue template

13 months agodon't print some old PCSX version
notaz [Fri, 20 Oct 2023 19:58:58 +0000 (22:58 +0300)]
don't print some old PCSX version

confuses some users which version to report

13 months agoreduce seeking and open handles to maybe help smb
notaz [Thu, 19 Oct 2023 21:20:19 +0000 (00:20 +0300)]
reduce seeking and open handles to maybe help smb

libretro/pcsx_rearmed#342

13 months agomore makefile updates
notaz [Wed, 18 Oct 2023 17:56:10 +0000 (20:56 +0300)]
more makefile updates

-fwhole-program can't work for .so
SHARED is unused

13 months agominor makefile adjustment
notaz [Tue, 17 Oct 2023 22:57:40 +0000 (01:57 +0300)]
minor makefile adjustment

13 months agomust specify cflags to link
notaz [Tue, 17 Oct 2023 22:44:46 +0000 (01:44 +0300)]
must specify cflags to link

important for -mfpu when using lto

13 months agotry automatic libretro builds
notaz [Tue, 17 Oct 2023 21:25:29 +0000 (00:25 +0300)]
try automatic libretro builds

13 months agorework gpu busy timing
notaz [Mon, 16 Oct 2023 21:16:46 +0000 (00:16 +0300)]
rework gpu busy timing

previous implementation caused complications with dynarecs

13 months agodrc: implement cycle reload on read
notaz [Mon, 16 Oct 2023 18:00:32 +0000 (21:00 +0300)]
drc: implement cycle reload on read

... but decided to not enable it yet (or ever?)

13 months agospu: rvb volume is signed
notaz [Sun, 15 Oct 2023 20:10:16 +0000 (23:10 +0300)]
spu: rvb volume is signed

notaz/pcsx_rearmed#316

13 months agoadd Bomberman: Fantasy Race to database for hack "(GPU) slow linked list walking"
saulfabreg Wii VC Project [Sun, 15 Oct 2023 00:48:43 +0000 (19:48 -0500)]
add Bomberman: Fantasy Race to database for hack "(GPU) slow linked list walking"

Without it, the Retry/Quit menu when you lose a race is invisible.

Fixes https://github.com/libretro/pcsx_rearmed/issues/776

13 months agofix a mistake in big endian conversion
notaz [Sat, 14 Oct 2023 22:46:48 +0000 (01:46 +0300)]
fix a mistake in big endian conversion

notaz/pcsx_rearmed#318

13 months agocdrom: adjust timing
notaz [Sat, 14 Oct 2023 21:48:20 +0000 (00:48 +0300)]
cdrom: adjust timing

notaz/pcsx_rearmed#317

13 months agoupdate vibration handling
notaz [Sat, 14 Oct 2023 20:42:11 +0000 (23:42 +0300)]
update vibration handling

following the nocash description
notaz/pcsx_rearmed#314

13 months agospu: implement irq on dma
notaz [Sat, 14 Oct 2023 16:18:01 +0000 (19:18 +0300)]
spu: implement irq on dma

notaz/pcsx_rearmed#295

13 months agoeliminate event code duplication
notaz [Fri, 13 Oct 2023 20:19:24 +0000 (23:19 +0300)]
eliminate event code duplication

13 months agobigendian again
notaz [Fri, 13 Oct 2023 15:56:41 +0000 (18:56 +0300)]
bigendian again

libretro/pcsx_rearmed#777

13 months agopatch up some clang/apple issues
notaz [Thu, 12 Oct 2023 22:15:13 +0000 (01:15 +0300)]
patch up some clang/apple issues

13 months agoOptional lightgun crosshairs + add "Konami Gun" device
StormedBubbles [Tue, 30 May 2023 20:30:16 +0000 (16:30 -0400)]
Optional lightgun crosshairs + add "Konami Gun" device

13 months agocdrom: adjust pause behavior
notaz [Wed, 11 Oct 2023 22:38:04 +0000 (01:38 +0300)]
cdrom: adjust pause behavior

follows mednafen now
notaz/pcsx_rearmed#288

13 months agocdrom: adjust the resume timing hack
notaz [Wed, 11 Oct 2023 22:36:37 +0000 (01:36 +0300)]
cdrom: adjust the resume timing hack

otherwise some load times become excessive, like in ff7

13 months agolightrec: handle a case of ignored MAP_FIXED_NOREPLACE
notaz [Wed, 11 Oct 2023 18:22:17 +0000 (21:22 +0300)]
lightrec: handle a case of ignored MAP_FIXED_NOREPLACE

13 months agounbreak some old savestates
notaz [Tue, 10 Oct 2023 23:14:08 +0000 (02:14 +0300)]
unbreak some old savestates

I have too many of them

13 months agospu: try keyoff ignore
notaz [Tue, 10 Oct 2023 23:11:51 +0000 (02:11 +0300)]
spu: try keyoff ignore

unclear if that's what's supposed to happen
notaz/pcsx_rearmed#315

13 months agospu: rearrange struct to reduce padding
notaz [Tue, 10 Oct 2023 20:48:42 +0000 (23:48 +0300)]
spu: rearrange struct to reduce padding

13 months agoadd a nasty hack for gpu busy timing
notaz [Mon, 9 Oct 2023 21:39:57 +0000 (00:39 +0300)]
add a nasty hack for gpu busy timing

with a hope to remove it someday
notaz/pcsx_rearmed#225