pcsx_rearmed.git
3 weeks agoMerge branch 'master' into libretro
notaz [Sun, 27 Oct 2024 22:01:49 +0000 (00:01 +0200)]
Merge branch 'master' into libretro

3 weeks agomerge from libretro
notaz [Sun, 27 Oct 2024 19:52:25 +0000 (21:52 +0200)]
merge from libretro

got tired of all the conflicts

3 weeks agogpu_unai: don't typedef le32_t as structs
notaz [Sun, 27 Oct 2024 00:21:18 +0000 (03:21 +0300)]
gpu_unai: don't typedef le32_t as structs

Experiments show it prevents autovectorization on some compilers,
so do it in asserts build only.

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 agogpu_unai: don't typedef le32_t as structs
notaz [Sun, 27 Oct 2024 00:21:18 +0000 (03:21 +0300)]
gpu_unai: don't typedef le32_t as structs

Experiments show it prevents autovectorization on some compilers,
so do it in asserts build only.

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 agofix switch build
notaz [Fri, 25 Oct 2024 23:09:45 +0000 (02:09 +0300)]
fix switch build

3 weeks agogpulib_thread: patch up some crashes
notaz [Fri, 25 Oct 2024 20:54:18 +0000 (23:54 +0300)]
gpulib_thread: patch up some crashes

thread create vs thread.queue race

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.

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.

3 weeks ago3ds: use arm-mem memcpy
notaz [Wed, 23 Oct 2024 23:23:27 +0000 (02:23 +0300)]
3ds: use arm-mem memcpy

newlib's memcpy isn't that great

3 weeks agogit subrepo clone https://github.com/bavison/arm-mem deps/arm-mem
notaz [Tue, 22 Oct 2024 21:16:39 +0000 (00:16 +0300)]
git subrepo clone https://github.com/bavison/arm-mem deps/arm-mem

subrepo:
  subdir:   "deps/arm-mem"
  merged:   "ee8ac1d5"
upstream:
  origin:   "https://github.com/bavison/arm-mem"
  branch:   "master"
  commit:   "ee8ac1d5"
git-subrepo:
  version:  "0.4.9"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "57de7d6"

3 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

3 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

3 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

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

3 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

3 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 weird rare crashes.

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

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

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

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

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

3 weeks agolibretro: report when required env vars are not set
notaz [Tue, 15 Oct 2024 00:29:43 +0000 (03:29 +0300)]
libretro: report when required env vars are not set

3 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

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

3 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

3 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

3 weeks agosync from master
notaz [Mon, 14 Oct 2024 23:21:48 +0000 (02:21 +0300)]
sync from master

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

4 weeks agotvos: properly set min supported version
Eric Warmenhoven [Thu, 17 Oct 2024 03:48:52 +0000 (23:48 -0400)]
tvos: properly set min supported version

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.

6 weeks agotry to fix build
notaz [Sun, 6 Oct 2024 00:47:06 +0000 (03:47 +0300)]
try to fix build

6 weeks agotry to fix build
notaz [Sun, 6 Oct 2024 00:10:20 +0000 (03:10 +0300)]
try to fix build

6 weeks agoanother warning
notaz [Sun, 6 Oct 2024 00:00:39 +0000 (03:00 +0300)]
another warning

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 agolibretro: avoid -marm where it's not needed
notaz [Sat, 5 Oct 2024 14:55:39 +0000 (17:55 +0300)]
libretro: avoid -marm where it's not needed

especially on arm64

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

7 weeks agofix standalone build
notaz [Wed, 2 Oct 2024 23:40:56 +0000 (02:40 +0300)]
fix standalone build

7 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

7 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

7 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

7 weeks agogit subrepo pull (merge) deps/libchdr
notaz [Mon, 30 Sep 2024 20:38:37 +0000 (23:38 +0300)]
git subrepo pull (merge) deps/libchdr

subrepo:
  subdir:   "deps/libchdr"
  merged:   "aaca599e"
upstream:
  origin:   "https://github.com/rtissera/libchdr"
  branch:   "master"
  commit:   "aaca599e"
git-subrepo:
  version:  "0.4.9"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "57de7d6"

7 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

7 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

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

saves some memory

7 weeks agorename miyoo build to miyoo_arm926
notaz [Mon, 30 Sep 2024 17:59:16 +0000 (20:59 +0300)]
rename miyoo build to miyoo_arm926

notaz/pcsx_rearmed#346

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

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 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 agoMerge pull request #844 from pcercuei/update-lightrec-20240902
notaz [Mon, 2 Sep 2024 20:22:57 +0000 (23:22 +0300)]
Merge pull request #844 from pcercuei/update-lightrec-20240902

Update Lightrec 2024-09-02

2 months agogit subrepo pull --force deps/lightrec
Paul Cercueil [Mon, 2 Sep 2024 10:54:37 +0000 (12:54 +0200)]
git subrepo pull --force deps/lightrec

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