pcsx_rearmed.git
11 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

11 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

11 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

11 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

11 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

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

11 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

11 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

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

notaz/pcsx_rearmed#317

11 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

11 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

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

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

libretro/pcsx_rearmed#777

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 months agoprovide DISABLE_MEM_LUTS default
notaz [Mon, 9 Oct 2023 18:54:54 +0000 (21:54 +0300)]
provide DISABLE_MEM_LUTS default

11 months agopsxbios: don't limit pointers to ram
notaz [Mon, 9 Oct 2023 18:10:37 +0000 (21:10 +0300)]
psxbios: don't limit pointers to ram

scratchpad is sometimes used

11 months agoAdd compile-time option to drop psxMemRLUT, psxMemWLUT
Paul Cercueil [Fri, 6 Oct 2023 20:53:47 +0000 (22:53 +0200)]
Add compile-time option to drop psxMemRLUT, psxMemWLUT

Add compile-time option which, if enabled, will replace accesses to
psxMemRLUT and psxMemWLUT with a small inline function psxm().

The reasons behind this change are:

- These were some BIG LUTs. On 32-bit, they would account for 512 KiB of
  RAM. On 64-bit, they would account for 1 MiB of RAM. This sounds tiny
  by today's standards, but it still is huge for some of the platforms
  that PCSX supports.

- Computing the pointer isn't that resource-intensive. Still slower than
  reading from a LUT (as long as the LUT entry is in the cache, which it
  should be, as the few valid entries are grouped together), but I doubt
  that it slows down the interpreter by a lot.

- Even if it does slow down the interpreter a bit, it shouldn't be a
  huge deal, given that the interpreter isn't really used nowadays as
  the JITs support all the major CPU architectures, and the interpreter
  is used mostly for debugging purposes. Besides, the two JITs do not
  use these LUTs.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
11 months agogpu: a bit better idle bit handling
notaz [Sun, 8 Oct 2023 22:20:07 +0000 (01:20 +0300)]
gpu: a bit better idle bit handling

notaz/pcsx_rearmed#217

11 months agosetup spu r8 handlers
notaz [Sat, 7 Oct 2023 22:55:58 +0000 (01:55 +0300)]
setup spu r8 handlers

used by Xenogears, unknown what for

11 months agospu: make fmod work in threaded mode
notaz [Sat, 7 Oct 2023 22:43:25 +0000 (01:43 +0300)]
spu: make fmod work in threaded mode

having to do such work makes me want to drop this dreaded
threaded stuff altogether

11 months agospu: try to clean up the interpolation mess
notaz [Sat, 7 Oct 2023 19:56:09 +0000 (22:56 +0300)]
spu: try to clean up the interpolation mess

It's still full of magic offsets and constants,
but maybe not as much as before.

11 months agogpulib: forgot to mark fb dirty
notaz [Fri, 6 Oct 2023 22:01:44 +0000 (01:01 +0300)]
gpulib: forgot to mark fb dirty

11 months agospu: adjust fmod to match nocash description
notaz [Thu, 5 Oct 2023 22:12:50 +0000 (01:12 +0300)]
spu: adjust fmod to match nocash description

mednafen doesn't quite agree though, so this may need to be revisited

11 months agostandalone: load per-game config from cmd line too
notaz [Wed, 4 Oct 2023 21:54:29 +0000 (00:54 +0300)]
standalone: load per-game config from cmd line too

notaz/pcsx_rearmed#163

11 months agodrc: avoid excessive recursion in hle mode
notaz [Wed, 4 Oct 2023 20:51:55 +0000 (23:51 +0300)]
drc: avoid excessive recursion in hle mode

11 months agoadd a thp-based huge page alloc fallback
notaz [Sun, 1 Oct 2023 22:24:50 +0000 (01:24 +0300)]
add a thp-based huge page alloc fallback

11 months agopatch up some savestate issues
notaz [Sun, 1 Oct 2023 21:02:39 +0000 (00:02 +0300)]
patch up some savestate issues

exposed by RetroArch's run-ahead/rewind functionality

11 months agopsxbios: more careful cnf parsing
notaz [Sat, 30 Sep 2023 19:43:03 +0000 (22:43 +0300)]
psxbios: more careful cnf parsing

11 months agodrc: make hash table issues easier to debug
notaz [Sat, 30 Sep 2023 18:08:47 +0000 (21:08 +0300)]
drc: make hash table issues easier to debug

11 months agospu: try to improve timing
notaz [Wed, 27 Sep 2023 20:12:48 +0000 (23:12 +0300)]
spu: try to improve timing

notaz/pcsx_rearmed#305

11 months agorm leftover debug code
notaz [Tue, 26 Sep 2023 23:24:32 +0000 (02:24 +0300)]
rm leftover debug code

11 months agospu: avoid relying on signed overflow undefined behavior
notaz [Tue, 26 Sep 2023 22:20:27 +0000 (01:20 +0300)]
spu: avoid relying on signed overflow undefined behavior

didn't seem to cause any issue in practice, but who knows with
all the different compilers

11 months agoplugin_lib: fix a silly crash
notaz [Tue, 26 Sep 2023 22:09:51 +0000 (01:09 +0300)]
plugin_lib: fix a silly crash

11 months agoinput changes part4
notaz [Sun, 24 Sep 2023 20:02:12 +0000 (23:02 +0300)]
input changes part4

libretro/pcsx_rearmed#765

11 months agolog some build info
notaz [Sat, 23 Sep 2023 19:39:52 +0000 (22:39 +0300)]
log some build info

helpful for bug reports

11 months agopsxbios: experimental vsync HLE
notaz [Sat, 23 Sep 2023 19:00:13 +0000 (22:00 +0300)]
psxbios: experimental vsync HLE

unsure how useful this is

11 months agodrc: adjust ld_use_hazard
notaz [Sat, 23 Sep 2023 20:57:36 +0000 (23:57 +0300)]
drc: adjust ld_use_hazard

12 months agolog some info about bios and config
notaz [Thu, 21 Sep 2023 17:34:02 +0000 (20:34 +0300)]
log some info about bios and config

12 months agopsxbios: some more details
notaz [Wed, 20 Sep 2023 22:17:37 +0000 (01:17 +0300)]
psxbios: some more details

12 months agocdrom: some report mode details
notaz [Wed, 20 Sep 2023 19:49:40 +0000 (22:49 +0300)]
cdrom: some report mode details

trusting mednafen on this one
libretro/pcsx_rearmed#762

12 months agoinput changes part3
notaz [Tue, 19 Sep 2023 22:56:41 +0000 (01:56 +0300)]
input changes part3

notaz/pcsx_rearmed#309

12 months agopsxbios: allow custom api overrides
notaz [Mon, 18 Sep 2023 22:35:30 +0000 (01:35 +0300)]
psxbios: allow custom api overrides

BallBlazer Champions hooks custom heap funcs
notaz/pcsx_rearmed#307

12 months agopsxbios: maybe more accurate malloc
notaz [Mon, 18 Sep 2023 22:34:44 +0000 (01:34 +0300)]
psxbios: maybe more accurate malloc

12 months agoattempt to improve guncon defaults
notaz [Fri, 15 Sep 2023 23:41:06 +0000 (02:41 +0300)]
attempt to improve guncon defaults

The previous change wrongly introduced resolution into the calculation
which is unneeded because input is not pixel coordinates.

12 months agocleanup the input mess, part2
notaz [Thu, 14 Sep 2023 22:18:13 +0000 (01:18 +0300)]
cleanup the input mess, part2

12 months agoyet more timing hacks
notaz [Wed, 13 Sep 2023 22:19:28 +0000 (01:19 +0300)]
yet more timing hacks

libretro/pcsx_rearmed#758

12 months agopsxbios: fix warnings
notaz [Wed, 13 Sep 2023 21:10:41 +0000 (00:10 +0300)]
psxbios: fix warnings

12 months agopsxbios: unbreak input
notaz [Wed, 13 Sep 2023 20:58:27 +0000 (23:58 +0300)]
psxbios: unbreak input

12 months agoswitch over to libretro input code
notaz [Wed, 13 Sep 2023 19:23:58 +0000 (22:23 +0300)]
switch over to libretro input code

too much trouble with 2 separate codebases

12 months agoadjust irq10 and rcnt for pal
notaz [Sun, 10 Sep 2023 20:26:54 +0000 (23:26 +0300)]
adjust irq10 and rcnt for pal

libretro/pcsx_rearmed#723

12 months agolibretro: allow unlimited cheat length
notaz [Sun, 10 Sep 2023 19:06:56 +0000 (22:06 +0300)]
libretro: allow unlimited cheat length

notaz/pcsx_rearmed#306

12 months agopsxinterpreter: log reserved insn once
notaz [Sun, 10 Sep 2023 19:03:19 +0000 (22:03 +0300)]
psxinterpreter: log reserved insn once

12 months agocdrom: add a hack for bad rips
notaz [Sun, 10 Sep 2023 15:18:26 +0000 (18:18 +0300)]
cdrom: add a hack for bad rips

The game gets track times using CdlGetTN/CdlGetTD, but the rip only
keeps the data track. The game then wants to play a track using a
hardcoded track number, reading out of range of the list it got before,
sending garbage to CDC with infinite retries.

notaz/pcsx_rearmed#302

12 months agogpulib: handle vram copy in gpulib
notaz [Fri, 8 Sep 2023 21:39:34 +0000 (00:39 +0300)]
gpulib: handle vram copy in gpulib

use internal buffering according to mednafen
notaz/pcsx_rearmed#289

12 months agopsxbios: primitive chdir implementation
notaz [Tue, 5 Sep 2023 22:05:48 +0000 (01:05 +0300)]
psxbios: primitive chdir implementation

12 months agopsxbios: don't overwrite ra
notaz [Tue, 5 Sep 2023 19:03:32 +0000 (22:03 +0300)]
psxbios: don't overwrite ra

12 months agofix irq10 for the dynarec
notaz [Tue, 5 Sep 2023 18:07:01 +0000 (21:07 +0300)]
fix irq10 for the dynarec

libretro/pcsx_rearmed#723

12 months agogpulib: add some missed sync and flush
notaz [Mon, 4 Sep 2023 23:05:01 +0000 (02:05 +0300)]
gpulib: add some missed sync and flush

notaz/pcsx_rearmed#303

12 months agogpulib: new debug compile option for raw fb display
notaz [Mon, 4 Sep 2023 23:03:23 +0000 (02:03 +0300)]
gpulib: new debug compile option for raw fb display

12 months agopreliminary irq10 support
notaz [Mon, 4 Sep 2023 20:09:05 +0000 (23:09 +0300)]
preliminary irq10 support

libretro/pcsx_rearmed#723

12 months agoinitial hle support for lightrec
notaz [Sat, 2 Sep 2023 19:54:16 +0000 (22:54 +0300)]
initial hle support for lightrec

12 months agogpu_neon: more complicated overflow check
notaz [Thu, 31 Aug 2023 22:29:28 +0000 (01:29 +0300)]
gpu_neon: more complicated overflow check

12 months agopsxbios: rework firstfile/nextfile
notaz [Thu, 31 Aug 2023 20:50:09 +0000 (23:50 +0300)]
psxbios: rework firstfile/nextfile

12 months agogpu: handle wrapping somewhat
notaz [Thu, 31 Aug 2023 20:51:19 +0000 (23:51 +0300)]
gpu: handle wrapping somewhat

instead of crashing outright

12 months agofrontend: don't frameskip on fast forward
notaz [Thu, 31 Aug 2023 20:32:18 +0000 (23:32 +0300)]
frontend: don't frameskip on fast forward

It just glitches everything.
Standalone only, libretro does it's own thing.

12 months agomake GPUopen consistent everywhere
notaz [Wed, 30 Aug 2023 20:30:39 +0000 (23:30 +0300)]
make GPUopen consistent everywhere

libretro/pcsx_rearmed#752

12 months agopsxbios: implement get/setconf
notaz [Tue, 29 Aug 2023 21:43:15 +0000 (00:43 +0300)]
psxbios: implement get/setconf

12 months agotry to unbreak bigendian
notaz [Tue, 29 Aug 2023 00:28:40 +0000 (03:28 +0300)]
try to unbreak bigendian

always struggling with it
libretro/pcsx_rearmed#753

12 months agoFix emscripten build
Julien Loir [Mon, 28 Aug 2023 20:46:34 +0000 (22:46 +0200)]
Fix emscripten build

12 months agosome missing error handling
notaz [Mon, 28 Aug 2023 20:55:01 +0000 (23:55 +0300)]
some missing error handling

pointed out by gcc analyzer

12 months agopsxbios: assorted changes
notaz [Mon, 28 Aug 2023 20:27:57 +0000 (23:27 +0300)]
psxbios: assorted changes

fixes of more bugs, I'm not sure

12 months agopsxbios: fix wrong regs in syscall handler
notaz [Sun, 27 Aug 2023 20:22:53 +0000 (23:22 +0300)]
psxbios: fix wrong regs in syscall handler

12 months agogpulib: don't corrupt memory on garbage commands
notaz [Sun, 27 Aug 2023 20:21:36 +0000 (23:21 +0300)]
gpulib: don't corrupt memory on garbage commands

12 months agopsxbios: Load() flushes cache
notaz [Sun, 27 Aug 2023 15:23:57 +0000 (18:23 +0300)]
psxbios: Load() flushes cache

12 months agopsxbios: unbreak bcopy
notaz [Sun, 27 Aug 2023 14:39:54 +0000 (17:39 +0300)]
psxbios: unbreak bcopy

wasn't paying attention

12 months agodrc: allow to execute bios even in hle mode
notaz [Sat, 26 Aug 2023 23:04:46 +0000 (02:04 +0300)]
drc: allow to execute bios even in hle mode

some instructions are now placed there

12 months agopsxbios: add missing clearing for copy related functions
notaz [Sat, 26 Aug 2023 22:08:45 +0000 (01:08 +0300)]
psxbios: add missing clearing for copy related functions

notaz/pcsx_rearmed#300

12 months agodrc: adjust debugging code to work with hle bios
notaz [Sat, 26 Aug 2023 22:07:19 +0000 (01:07 +0300)]
drc: adjust debugging code to work with hle bios

12 months agoreduce some code duplication
notaz [Sat, 26 Aug 2023 22:01:46 +0000 (01:01 +0300)]
reduce some code duplication

12 months agospu: adjust irqs again
notaz [Fri, 25 Aug 2023 20:32:14 +0000 (23:32 +0300)]
spu: adjust irqs again

this begs for hw testing, but I don't have the setup right now...

libretro/pcsx_rearmed#746

12 months agospu: rm bunch of unused functions
notaz [Fri, 25 Aug 2023 19:39:19 +0000 (22:39 +0300)]
spu: rm bunch of unused functions

12 months agogpu_neon: some hack to enhanced mode
notaz [Thu, 24 Aug 2023 21:06:31 +0000 (00:06 +0300)]
gpu_neon: some hack to enhanced mode

12 months agogpu_neon: don't crash on large primitives in enhancement mode
notaz [Thu, 24 Aug 2023 20:07:56 +0000 (23:07 +0300)]
gpu_neon: don't crash on large primitives in enhancement mode

12 months agogpu_neon: rework buffer selection
notaz [Sun, 20 Aug 2023 19:38:03 +0000 (22:38 +0300)]
gpu_neon: rework buffer selection

to fix MGS codec and maybe more

13 months agofrontend: accept more bios
notaz [Thu, 17 Aug 2023 21:59:35 +0000 (00:59 +0300)]
frontend: accept more bios

13 months agotry to emulate borders properly
notaz [Wed, 16 Aug 2023 22:55:11 +0000 (01:55 +0300)]
try to emulate borders properly

13 months agomore timing hacks
notaz [Sat, 19 Aug 2023 21:04:59 +0000 (00:04 +0300)]
more timing hacks

13 months agopsxbios: remove some globals
notaz [Thu, 17 Aug 2023 19:49:26 +0000 (22:49 +0300)]
psxbios: remove some globals

13 months agogpu_neon: change enhancement_buf selection
notaz [Wed, 16 Aug 2023 23:38:32 +0000 (02:38 +0300)]
gpu_neon: change enhancement_buf selection

Not sure what was the idea there but it caused rightmost column of
things simetimes to not get rendered, like in Alundra 2 loading
screens and FMVs.

13 months agocdrom: more timing hacks
notaz [Wed, 16 Aug 2023 20:24:28 +0000 (23:24 +0300)]
cdrom: more timing hacks

13 months agospu: add forgotten prevflags checking
notaz [Wed, 16 Aug 2023 19:59:42 +0000 (22:59 +0300)]
spu: add forgotten prevflags checking

forgot in 3113a160828f9353715e4b8cc1041d9c86162df2

13 months agopsxbios: more pad stuff
notaz [Tue, 15 Aug 2023 20:06:33 +0000 (23:06 +0300)]
psxbios: more pad stuff

maybe done?

13 months agospu: clear on init
notaz [Mon, 14 Aug 2023 21:16:22 +0000 (00:16 +0300)]
spu: clear on init

Otherwise some residual stuff seems to carry over between games,
especially in hle mode.