pcsx_rearmed.git
3 weeks agogpu_unai: simplify gpuClearImage
notaz [Sat, 26 Oct 2024 23:41:16 +0000 (02:41 +0300)]
gpu_unai: simplify gpuClearImage

no need for alignment checks as it's not possible on real psx

3 weeks agomerge gpu_unai with gpu_unai_old
notaz [Sat, 26 Oct 2024 22:32:40 +0000 (01:32 +0300)]
merge gpu_unai with gpu_unai_old

Can now switch between them during gameplay.
Specify GPU_UNAI_NO_OLD=1 to prevent compiling this in to save memory or
whatever. No big endian support.

3 weeks agotry to support older binutils
notaz [Sat, 26 Oct 2024 20:42:05 +0000 (23:42 +0300)]
try to support older binutils

EXTERN in a linker script doesn't work on ld 2.34, works on 2.43.1

3 weeks agotry to fix apple build
notaz [Sat, 26 Oct 2024 20:12:21 +0000 (23:12 +0300)]
try to fix apple build

3 weeks agoplatforms: try to fix build
notaz [Sat, 26 Oct 2024 19:57:57 +0000 (22:57 +0300)]
platforms: try to fix build

many lack weak symbols, apple has different pthread_setname_np...

3 weeks ago3ds: only invalidate icache on non-compiler core
notaz [Fri, 25 Oct 2024 19:25:09 +0000 (22:25 +0300)]
3ds: only invalidate icache on non-compiler core

seems enough, or is it?

3 weeks agomove more globals to psxRegs
notaz [Thu, 24 Oct 2024 23:29:53 +0000 (02:29 +0300)]
move more globals to psxRegs

more locality, less literal pools on ARM

3 weeks agodrc: drop pending_exception
notaz [Thu, 24 Oct 2024 21:14:40 +0000 (00:14 +0300)]
drc: drop pending_exception

just causing confusion

3 weeks agodrc: add another sync after running the interpreter
notaz [Thu, 24 Oct 2024 21:07:54 +0000 (00:07 +0300)]
drc: add another sync after running the interpreter

3 weeks agodrc: update the debug patches
notaz [Thu, 24 Oct 2024 21:18:33 +0000 (00:18 +0300)]
drc: update the debug patches

3 weeks ago3ds: drop pre-rosalina code
notaz [Wed, 23 Oct 2024 23:33:38 +0000 (02:33 +0300)]
3ds: drop pre-rosalina code

no reason not to run an up-to-date cfw

3 weeks ago3ds: use range clearing for small ranges
notaz [Wed, 23 Oct 2024 23:25:47 +0000 (02:25 +0300)]
3ds: use range clearing for small ranges

Seems to be wastefull to throw away the entire icache when just a few
new insns are compiled. Not that this gives any noticeable perf
difference though.

4 weeks agomdec: compiler-friendlier clamp
notaz [Tue, 22 Oct 2024 20:53:38 +0000 (23:53 +0300)]
mdec: compiler-friendlier clamp

that whole thing begs to be rewritten but ohwell

4 weeks agostandalone: neon dithering should be on by default
notaz [Tue, 22 Oct 2024 18:44:27 +0000 (21:44 +0300)]
standalone: neon dithering should be on by default

on switch too

4 weeks agochd: override config
notaz [Tue, 22 Oct 2024 18:43:03 +0000 (21:43 +0300)]
chd: override config

relies on -Iinclude being before -Ideps/libchdr/include

4 weeks agogpulib: try to reduce flips
notaz [Tue, 22 Oct 2024 17:45:03 +0000 (20:45 +0300)]
gpulib: try to reduce flips

4 weeks agoarm: provide bgr888_to_rgb565 for v6
notaz [Tue, 22 Oct 2024 16:29:26 +0000 (19:29 +0300)]
arm: provide bgr888_to_rgb565 for v6

4 weeks ago3ds: update ctr_clear_cache
notaz [Sun, 20 Oct 2024 21:38:07 +0000 (00:38 +0300)]
3ds: update ctr_clear_cache

DMB looks insufficient before invalidate, also doesn't match what Linux
does, so adjust. Hopefully will solve some weird rare crashes.

4 weeks agoupdate Android.mk
notaz [Sun, 20 Oct 2024 00:04:51 +0000 (03:04 +0300)]
update Android.mk

no idea if it compiles a working library though...

4 weeks agocdriso: try some different buffering
notaz [Sat, 19 Oct 2024 21:19:50 +0000 (00:19 +0300)]
cdriso: try some different buffering

4 weeks agocdrom: adjust the PhysCdPropagations hack
notaz [Wed, 16 Oct 2024 23:46:38 +0000 (02:46 +0300)]
cdrom: adjust the PhysCdPropagations hack

4 weeks ago3ds: try partial linking
notaz [Tue, 15 Oct 2024 22:45:51 +0000 (01:45 +0300)]
3ds: try partial linking

4 weeks ago3ds: adjust for newer toolchain
notaz [Tue, 15 Oct 2024 00:39:25 +0000 (03:39 +0300)]
3ds: adjust for newer toolchain

4 weeks agolibretro: show the actual fps, some extra stats
notaz [Tue, 15 Oct 2024 00:10:44 +0000 (03:10 +0300)]
libretro: show the actual fps, some extra stats

4 weeks ago3ds: customize thread creation
notaz [Mon, 14 Oct 2024 22:49:22 +0000 (01:49 +0300)]
3ds: customize thread creation

4 weeks agostandalone: enable the new threaded stuff
notaz [Sun, 13 Oct 2024 18:37:10 +0000 (21:37 +0300)]
standalone: enable the new threaded stuff

4 weeks agodrc: try compiling on another thread
notaz [Thu, 10 Oct 2024 23:34:16 +0000 (02:34 +0300)]
drc: try compiling on another thread

6 weeks agoenable lightrec
notaz [Mon, 7 Oct 2024 23:46:33 +0000 (02:46 +0300)]
enable lightrec

6 weeks agodeal with some platform-specific warnings
notaz [Sat, 5 Oct 2024 23:56:57 +0000 (02:56 +0300)]
deal with some platform-specific warnings

6 weeks agonew async cdrom + cdrom cleanup
notaz [Wed, 2 Oct 2024 23:56:07 +0000 (02:56 +0300)]
new async cdrom + cdrom cleanup

Should've split this really, but that's lots of extra work...
Beware of breakage, but please report bugs.

6 weeks agodetect bad SysMessage format
notaz [Fri, 4 Oct 2024 23:07:42 +0000 (02:07 +0300)]
detect bad SysMessage format

6 weeks agoadd dedicated mmap functions for libnx
notaz [Tue, 1 Oct 2024 16:43:13 +0000 (19:43 +0300)]
add dedicated mmap functions for libnx

the previous code would call svcUnmapPhysicalMemory() on mem possibly
allocated by aligned_alloc() which didn't look right

6 weeks agotry to clean up various mmap func failure return value confusion
notaz [Tue, 1 Oct 2024 16:40:59 +0000 (19:40 +0300)]
try to clean up various mmap func failure return value confusion

such a mess

6 weeks agopsxmem: fix map retry breakage
notaz [Tue, 1 Oct 2024 16:36:25 +0000 (19:36 +0300)]
psxmem: fix map retry breakage

fixes 417b59ebc326fc753f8c881c24fc7aff975df7ea

6 weeks agodrc: less alarmist ram map message
notaz [Mon, 30 Sep 2024 20:23:48 +0000 (23:23 +0300)]
drc: less alarmist ram map message

To discourage opening bugs like libretro/pcsx_rearmed#717

Also a warning fix

6 weeks agonew 3ds_mmap, avoid useless retries
notaz [Mon, 30 Sep 2024 18:14:41 +0000 (21:14 +0300)]
new 3ds_mmap, avoid useless retries

6 weeks ago3ds: some random tuning
notaz [Mon, 30 Sep 2024 18:08:28 +0000 (21:08 +0300)]
3ds: some random tuning

saves some memory

6 weeks agolightrec: relax mem requirements so that asan works
notaz [Fri, 27 Sep 2024 21:03:42 +0000 (00:03 +0300)]
lightrec: relax mem requirements so that asan works

Seems to work anyway with suboptimal mappings, and MAP_FIXED_NOREPLACE
is unnecessary as the kernel will honour the address if it's free and
return something else if it's not.

6 weeks agosync from libretro branch
notaz [Mon, 7 Oct 2024 22:21:32 +0000 (01:21 +0300)]
sync from libretro branch

To ease maintenance burden. Includes lightrec.
Only gpulib_thread_if is left out, unsure what to do with it.

2 months agolibretro: improve retro_memory_map
notaz [Tue, 3 Sep 2024 21:19:25 +0000 (00:19 +0300)]
libretro: improve retro_memory_map

libretro/pcsx_rearmed#845

2 months agolibretro: use shorter option names to fit narrow frontends
notaz [Tue, 3 Sep 2024 21:17:32 +0000 (00:17 +0300)]
libretro: use shorter option names to fit narrow frontends

2 months agogpu_neon: enable tex hack by default
notaz [Thu, 22 Aug 2024 21:09:55 +0000 (00:09 +0300)]
gpu_neon: enable tex hack by default

2 months agogpu_neon: rework enh. res. texturing hack
notaz [Tue, 20 Aug 2024 20:49:45 +0000 (23:49 +0300)]
gpu_neon: rework enh. res. texturing hack

libretro/pcsx_rearmed#841

3 months agocdriso: log main cd img size
notaz [Wed, 21 Aug 2024 21:38:45 +0000 (00:38 +0300)]
cdriso: log main cd img size

3 months agogpu_neon: fix wrong mask bit for fills
notaz [Fri, 16 Aug 2024 22:38:45 +0000 (01:38 +0300)]
gpu_neon: fix wrong mask bit for fills

Fixes notaz/pcsx_rearmed#344

3 months agogpulib: adjust masking
notaz [Fri, 16 Aug 2024 22:44:00 +0000 (01:44 +0300)]
gpulib: adjust masking

no idea if anything uses this, but tested on hw

3 months agoavoid double prints with bios+Config.PsxOut
notaz [Fri, 16 Aug 2024 00:05:46 +0000 (03:05 +0300)]
avoid double prints with bios+Config.PsxOut

3 months agocdrom: more hacks for more timing issues
notaz [Wed, 24 Jul 2024 23:34:23 +0000 (02:34 +0300)]
cdrom: more hacks for more timing issues

libretro/pcsx_rearmed#840

4 months agogpu_neon: revive the old tests
notaz [Sat, 29 Jun 2024 23:23:25 +0000 (02:23 +0300)]
gpu_neon: revive the old tests

4 months agogpu_neon: fix sign extension
notaz [Sat, 29 Jun 2024 22:48:22 +0000 (01:48 +0300)]
gpu_neon: fix sign extension

unclear why it's added differently from sprites, might need to revisit
libretro/pcsx_rearmed#833

4 months 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 months 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

4 months 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)

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

5 months 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>
5 months 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>
5 months 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 months agoupdate libchdr
notaz [Mon, 20 May 2024 23:02:19 +0000 (02:02 +0300)]
update libchdr

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

7 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

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

notaz/pcsx_rearmed#91

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

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

7 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

7 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

7 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

7 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

7 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

8 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

8 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

8 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

8 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

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

8 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

9 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

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

10 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

10 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

10 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

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

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

10 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

10 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

10 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

10 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

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

11 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

11 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

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

notaz/pcsx_rearmed#329

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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