notaz [Wed, 13 Nov 2024 23:20:47 +0000 (01:20 +0200)]
gpulib: try to reduce global reload
espacially bad on arm32 with -pie (which is on by default):
text data bss dec hex filename
9904 0 4444 14348 380c plugins/gpulib/gpu.o # before
9128 0 4444 13572 3504 plugins/gpulib/gpu.o # after
notaz [Thu, 14 Nov 2024 23:37:37 +0000 (01:37 +0200)]
update libchdr
notaz [Thu, 14 Nov 2024 23:29:23 +0000 (01:29 +0200)]
avoid -Wno-format in general case
need this only for libchdr wanting to print int32_t on platforms
where int32_t is long int
libretro/pcsx_rearmed#851
notaz [Sun, 10 Nov 2024 16:38:18 +0000 (18:38 +0200)]
gpu_unai: clean up ilace_mask
do_cmd_list() was no place for it.
It should also alternate odd/even lines but I leave that for later.
notaz [Sun, 10 Nov 2024 16:25:15 +0000 (18:25 +0200)]
gpu_unai: drop pixel_skip
it's not possible to enable it so no need to check it on each primitive
notaz [Sun, 10 Nov 2024 15:54:28 +0000 (17:54 +0200)]
standalone: unbreak .exe mode
notaz [Fri, 8 Nov 2024 00:41:35 +0000 (02:41 +0200)]
libretro: don't make cycle_multiplier depend on device
It causes different compatibility on different devices.
If the user wants to win some fps this way, they should just
change their config.
notaz [Fri, 8 Nov 2024 00:38:17 +0000 (02:38 +0200)]
timing hack +1
libretro/pcsx_rearmed#848
notaz [Thu, 7 Nov 2024 21:40:32 +0000 (23:40 +0200)]
3ds: allow compiling with just DEVKITPRO set
notaz [Thu, 7 Nov 2024 00:23:41 +0000 (02:23 +0200)]
cdrom: fix wrong logic with cdr.Prev
notaz [Wed, 6 Nov 2024 23:58:34 +0000 (01:58 +0200)]
fix too early notify
drc mem setup needs hw regs loaded
notaz [Tue, 5 Nov 2024 00:46:05 +0000 (02:46 +0200)]
3ds: no dynarec thread when 'auto'
notaz [Tue, 5 Nov 2024 00:42:18 +0000 (02:42 +0200)]
gpu_unai: some new asm
notaz [Fri, 1 Nov 2024 00:33:01 +0000 (02:33 +0200)]
gpu_unai: move the line loop into the driver func
no need to repeat some of the setup on each line,
this also prepares for a full asm implementation of some drivers
notaz [Fri, 1 Nov 2024 00:04:33 +0000 (02:04 +0200)]
gpulib: use mmap callbacks for platforms that have it
I think this was lost in some refactoring.
Also use minimum alignment of at least (x86) cache line size.
notaz [Fri, 1 Nov 2024 00:02:55 +0000 (02:02 +0200)]
gpu_neon: mask before compare
notaz [Fri, 1 Nov 2024 00:00:34 +0000 (02:00 +0200)]
cdriso: missing null check
notaz [Mon, 28 Oct 2024 00:27:39 +0000 (02:27 +0200)]
gpu_unai: minor tuning for 3ds
not much of a difference, but at least avoids s_invTable
notaz [Sun, 27 Oct 2024 19:52:25 +0000 (21:52 +0200)]
merge from libretro
got tired of all the conflicts
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.
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
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.
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
notaz [Sat, 26 Oct 2024 20:12:21 +0000 (23:12 +0300)]
try to fix apple 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...
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?
notaz [Thu, 24 Oct 2024 23:29:53 +0000 (02:29 +0300)]
move more globals to psxRegs
more locality, less literal pools on ARM
notaz [Thu, 24 Oct 2024 21:14:40 +0000 (00:14 +0300)]
drc: drop pending_exception
just causing confusion
notaz [Thu, 24 Oct 2024 21:07:54 +0000 (00:07 +0300)]
drc: add another sync after running the interpreter
notaz [Thu, 24 Oct 2024 21:18:33 +0000 (00:18 +0300)]
drc: update the debug patches
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
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.
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
notaz [Tue, 22 Oct 2024 18:44:27 +0000 (21:44 +0300)]
standalone: neon dithering should be on by default
on switch too
notaz [Tue, 22 Oct 2024 18:43:03 +0000 (21:43 +0300)]
chd: override config
relies on -Iinclude being before -Ideps/libchdr/include
notaz [Tue, 22 Oct 2024 17:45:03 +0000 (20:45 +0300)]
gpulib: try to reduce flips
notaz [Tue, 22 Oct 2024 16:29:26 +0000 (19:29 +0300)]
arm: provide bgr888_to_rgb565 for v6
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.
notaz [Sun, 20 Oct 2024 00:04:51 +0000 (03:04 +0300)]
update Android.mk
no idea if it compiles a working library though...
notaz [Sat, 19 Oct 2024 21:19:50 +0000 (00:19 +0300)]
cdriso: try some different buffering
notaz [Wed, 16 Oct 2024 23:46:38 +0000 (02:46 +0300)]
cdrom: adjust the PhysCdPropagations hack
notaz [Tue, 15 Oct 2024 22:45:51 +0000 (01:45 +0300)]
3ds: try partial linking
notaz [Tue, 15 Oct 2024 00:39:25 +0000 (03:39 +0300)]
3ds: adjust for newer toolchain
notaz [Tue, 15 Oct 2024 00:10:44 +0000 (03:10 +0300)]
libretro: show the actual fps, some extra stats
notaz [Mon, 14 Oct 2024 22:49:22 +0000 (01:49 +0300)]
3ds: customize thread creation
notaz [Sun, 13 Oct 2024 18:37:10 +0000 (21:37 +0300)]
standalone: enable the new threaded stuff
notaz [Thu, 10 Oct 2024 23:34:16 +0000 (02:34 +0300)]
drc: try compiling on another thread
notaz [Mon, 7 Oct 2024 23:46:33 +0000 (02:46 +0300)]
enable lightrec
notaz [Sat, 5 Oct 2024 23:56:57 +0000 (02:56 +0300)]
deal with some platform-specific warnings
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.
notaz [Fri, 4 Oct 2024 23:07:42 +0000 (02:07 +0300)]
detect bad SysMessage format
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
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
notaz [Tue, 1 Oct 2024 16:36:25 +0000 (19:36 +0300)]
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
notaz [Mon, 30 Sep 2024 18:14:41 +0000 (21:14 +0300)]
new 3ds_mmap, avoid useless retries
notaz [Mon, 30 Sep 2024 18:08:28 +0000 (21:08 +0300)]
3ds: some random tuning
saves some memory
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.
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.
notaz [Tue, 3 Sep 2024 21:19:25 +0000 (00:19 +0300)]
libretro: improve retro_memory_map
libretro/pcsx_rearmed#845
notaz [Tue, 3 Sep 2024 21:17:32 +0000 (00:17 +0300)]
libretro: use shorter option names to fit narrow frontends
notaz [Thu, 22 Aug 2024 21:09:55 +0000 (00:09 +0300)]
gpu_neon: enable tex hack by default
notaz [Tue, 20 Aug 2024 20:49:45 +0000 (23:49 +0300)]
gpu_neon: rework enh. res. texturing hack
libretro/pcsx_rearmed#841
notaz [Wed, 21 Aug 2024 21:38:45 +0000 (00:38 +0300)]
cdriso: log main cd img size
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
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
notaz [Fri, 16 Aug 2024 00:05:46 +0000 (03:05 +0300)]
avoid double prints with bios+Config.PsxOut
notaz [Wed, 24 Jul 2024 23:34:23 +0000 (02:34 +0300)]
cdrom: more hacks for more timing issues
libretro/pcsx_rearmed#840
notaz [Sat, 29 Jun 2024 23:23:25 +0000 (02:23 +0300)]
gpu_neon: revive the old tests
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
notaz [Fri, 28 Jun 2024 22:08:41 +0000 (01:08 +0300)]
try some overscan display option
libretro/pcsx_rearmed#313
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
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)
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
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>
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>
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>
notaz [Mon, 20 May 2024 23:02:19 +0000 (02:02 +0300)]
update libchdr
notaz [Thu, 18 Apr 2024 18:12:41 +0000 (21:12 +0300)]
new experimental TurboCD option
notaz [Mon, 15 Apr 2024 21:38:14 +0000 (00:38 +0300)]
cdrom: change pause timing again
for DDR series
notaz [Sun, 14 Apr 2024 22:56:42 +0000 (01:56 +0300)]
introduce fractional framerates
notaz/pcsx_rearmed#91
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?
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>
notaz [Thu, 28 Mar 2024 23:28:11 +0000 (01:28 +0200)]
libretro: update build for newer 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
notaz [Mon, 25 Mar 2024 21:26:10 +0000 (23:26 +0200)]
spu: don't leave garbage in capture buffers
notaz [Sun, 24 Mar 2024 23:50:25 +0000 (01:50 +0200)]
spu: more status bits
notaz/pcsx_rearmed#338
notaz [Sun, 24 Mar 2024 00:47:33 +0000 (02:47 +0200)]
spu: don't assert on noise in thread mode
notaz [Sun, 24 Mar 2024 00:46:33 +0000 (02:46 +0200)]
psxdma: implement a few more details
notaz/pcsx_rearmed#336
notaz [Fri, 22 Mar 2024 22:57:41 +0000 (00:57 +0200)]
gpulib: fix frameskip on weird lists
notaz/pcsx_rearmed#337
notaz [Thu, 21 Mar 2024 22:52:37 +0000 (00:52 +0200)]
misc: allow slow-booting to cdda or whatever
notaz/pcsx_rearmed#335
notaz [Thu, 21 Mar 2024 22:21:20 +0000 (00:21 +0200)]
libretro: try to handle physical cdrom ejection
notaz/pcsx_rearmed#335
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
notaz [Mon, 18 Mar 2024 00:37:51 +0000 (02:37 +0200)]
libretro: preliminary physical cdrom support
notaz [Sun, 10 Mar 2024 23:28:41 +0000 (01:28 +0200)]
psxhw: adjust sio stat
libretro/pcsx_rearmed#822
notaz [Wed, 14 Feb 2024 23:18:57 +0000 (01:18 +0200)]
psxbios: implement yet more memcard details
libretro/pcsx_rearmed#821
notaz [Sat, 20 Jan 2024 23:06:36 +0000 (01:06 +0200)]
release r24
notaz [Sun, 21 Jan 2024 22:27:01 +0000 (00:27 +0200)]
psxbios: some missed malloc merge behavior
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
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