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
notaz [Mon, 9 Oct 2023 18:54:54 +0000 (21:54 +0300)]
provide DISABLE_MEM_LUTS default
notaz [Mon, 9 Oct 2023 18:10:37 +0000 (21:10 +0300)]
psxbios: don't limit pointers to ram
scratchpad is sometimes used
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>
notaz [Sun, 8 Oct 2023 22:20:07 +0000 (01:20 +0300)]
gpu: a bit better idle bit handling
notaz/pcsx_rearmed#217
notaz [Sat, 7 Oct 2023 22:55:58 +0000 (01:55 +0300)]
setup spu r8 handlers
used by Xenogears, unknown what for
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
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.
notaz [Fri, 6 Oct 2023 22:01:44 +0000 (01:01 +0300)]
gpulib: forgot to mark fb dirty
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
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
notaz [Wed, 4 Oct 2023 20:51:55 +0000 (23:51 +0300)]
drc: avoid excessive recursion in hle mode
notaz [Sun, 1 Oct 2023 22:24:50 +0000 (01:24 +0300)]
add a thp-based huge page alloc fallback
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
notaz [Sat, 30 Sep 2023 19:43:03 +0000 (22:43 +0300)]
psxbios: more careful cnf parsing
notaz [Sat, 30 Sep 2023 18:08:47 +0000 (21:08 +0300)]
drc: make hash table issues easier to debug
notaz [Wed, 27 Sep 2023 20:12:48 +0000 (23:12 +0300)]
spu: try to improve timing
notaz/pcsx_rearmed#305
notaz [Tue, 26 Sep 2023 23:24:32 +0000 (02:24 +0300)]
rm leftover debug code
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
notaz [Tue, 26 Sep 2023 22:09:51 +0000 (01:09 +0300)]
plugin_lib: fix a silly crash
notaz [Sun, 24 Sep 2023 20:02:12 +0000 (23:02 +0300)]
input changes part4
libretro/pcsx_rearmed#765
notaz [Sat, 23 Sep 2023 19:39:52 +0000 (22:39 +0300)]
log some build info
helpful for bug reports
notaz [Sat, 23 Sep 2023 19:00:13 +0000 (22:00 +0300)]
psxbios: experimental vsync HLE
unsure how useful this is
notaz [Sat, 23 Sep 2023 20:57:36 +0000 (23:57 +0300)]
drc: adjust ld_use_hazard
notaz [Thu, 21 Sep 2023 17:34:02 +0000 (20:34 +0300)]
log some info about bios and config
notaz [Wed, 20 Sep 2023 22:17:37 +0000 (01:17 +0300)]
psxbios: some more 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
notaz [Tue, 19 Sep 2023 22:56:41 +0000 (01:56 +0300)]
input changes part3
notaz/pcsx_rearmed#309
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
notaz [Mon, 18 Sep 2023 22:34:44 +0000 (01:34 +0300)]
psxbios: maybe more accurate malloc
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.
notaz [Thu, 14 Sep 2023 22:18:13 +0000 (01:18 +0300)]
cleanup the input mess, part2
notaz [Wed, 13 Sep 2023 22:19:28 +0000 (01:19 +0300)]
yet more timing hacks
libretro/pcsx_rearmed#758
notaz [Wed, 13 Sep 2023 21:10:41 +0000 (00:10 +0300)]
psxbios: fix warnings
notaz [Wed, 13 Sep 2023 20:58:27 +0000 (23:58 +0300)]
psxbios: unbreak input
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
notaz [Sun, 10 Sep 2023 20:26:54 +0000 (23:26 +0300)]
adjust irq10 and rcnt for pal
libretro/pcsx_rearmed#723
notaz [Sun, 10 Sep 2023 19:06:56 +0000 (22:06 +0300)]
libretro: allow unlimited cheat length
notaz/pcsx_rearmed#306
notaz [Sun, 10 Sep 2023 19:03:19 +0000 (22:03 +0300)]
psxinterpreter: log reserved insn once
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
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
notaz [Tue, 5 Sep 2023 22:05:48 +0000 (01:05 +0300)]
psxbios: primitive chdir implementation
notaz [Tue, 5 Sep 2023 19:03:32 +0000 (22:03 +0300)]
psxbios: don't overwrite ra
notaz [Tue, 5 Sep 2023 18:07:01 +0000 (21:07 +0300)]
fix irq10 for the dynarec
libretro/pcsx_rearmed#723
notaz [Mon, 4 Sep 2023 23:05:01 +0000 (02:05 +0300)]
gpulib: add some missed sync and flush
notaz/pcsx_rearmed#303
notaz [Mon, 4 Sep 2023 23:03:23 +0000 (02:03 +0300)]
gpulib: new debug compile option for raw fb display
notaz [Mon, 4 Sep 2023 20:09:05 +0000 (23:09 +0300)]
preliminary irq10 support
libretro/pcsx_rearmed#723
notaz [Sat, 2 Sep 2023 19:54:16 +0000 (22:54 +0300)]
initial hle support for lightrec
notaz [Thu, 31 Aug 2023 22:29:28 +0000 (01:29 +0300)]
gpu_neon: more complicated overflow check
notaz [Thu, 31 Aug 2023 20:50:09 +0000 (23:50 +0300)]
psxbios: rework firstfile/nextfile
notaz [Thu, 31 Aug 2023 20:51:19 +0000 (23:51 +0300)]
gpu: handle wrapping somewhat
instead of crashing outright
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.
notaz [Wed, 30 Aug 2023 20:30:39 +0000 (23:30 +0300)]
make GPUopen consistent everywhere
libretro/pcsx_rearmed#752
notaz [Tue, 29 Aug 2023 21:43:15 +0000 (00:43 +0300)]
psxbios: implement get/setconf
notaz [Tue, 29 Aug 2023 00:28:40 +0000 (03:28 +0300)]
try to unbreak bigendian
always struggling with it
libretro/pcsx_rearmed#753
Julien Loir [Mon, 28 Aug 2023 20:46:34 +0000 (22:46 +0200)]
Fix emscripten build
notaz [Mon, 28 Aug 2023 20:55:01 +0000 (23:55 +0300)]
some missing error handling
pointed out by gcc analyzer
notaz [Mon, 28 Aug 2023 20:27:57 +0000 (23:27 +0300)]
psxbios: assorted changes
fixes of more bugs, I'm not sure
notaz [Sun, 27 Aug 2023 20:22:53 +0000 (23:22 +0300)]
psxbios: fix wrong regs in syscall handler
notaz [Sun, 27 Aug 2023 20:21:36 +0000 (23:21 +0300)]
gpulib: don't corrupt memory on garbage commands
notaz [Sun, 27 Aug 2023 15:23:57 +0000 (18:23 +0300)]
psxbios: Load() flushes cache
notaz [Sun, 27 Aug 2023 14:39:54 +0000 (17:39 +0300)]
psxbios: unbreak bcopy
wasn't paying attention
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
notaz [Sat, 26 Aug 2023 22:08:45 +0000 (01:08 +0300)]
psxbios: add missing clearing for copy related functions
notaz/pcsx_rearmed#300
notaz [Sat, 26 Aug 2023 22:07:19 +0000 (01:07 +0300)]
drc: adjust debugging code to work with hle bios
notaz [Sat, 26 Aug 2023 22:01:46 +0000 (01:01 +0300)]
reduce some code duplication
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
notaz [Fri, 25 Aug 2023 19:39:19 +0000 (22:39 +0300)]
spu: rm bunch of unused functions
notaz [Thu, 24 Aug 2023 21:06:31 +0000 (00:06 +0300)]
gpu_neon: some hack to enhanced mode
notaz [Thu, 24 Aug 2023 20:07:56 +0000 (23:07 +0300)]
gpu_neon: don't crash on large primitives in enhancement mode
notaz [Sun, 20 Aug 2023 19:38:03 +0000 (22:38 +0300)]
gpu_neon: rework buffer selection
to fix MGS codec and maybe more
notaz [Thu, 17 Aug 2023 21:59:35 +0000 (00:59 +0300)]
frontend: accept more bios
notaz [Wed, 16 Aug 2023 22:55:11 +0000 (01:55 +0300)]
try to emulate borders properly
notaz [Sat, 19 Aug 2023 21:04:59 +0000 (00:04 +0300)]
more timing hacks
notaz [Thu, 17 Aug 2023 19:49:26 +0000 (22:49 +0300)]
psxbios: remove some globals
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.
notaz [Wed, 16 Aug 2023 20:24:28 +0000 (23:24 +0300)]
cdrom: more timing hacks
notaz [Wed, 16 Aug 2023 19:59:42 +0000 (22:59 +0300)]
spu: add forgotten prevflags checking
forgot in
3113a160828f9353715e4b8cc1041d9c86162df2
notaz [Tue, 15 Aug 2023 20:06:33 +0000 (23:06 +0300)]
psxbios: more pad stuff
maybe done?
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.
notaz [Tue, 15 Aug 2023 22:01:37 +0000 (01:01 +0300)]
spu: implement volume regs somewhat
crash2 seems to read them, unclear what for
notaz [Mon, 14 Aug 2023 20:49:23 +0000 (23:49 +0300)]
psxbios: some assorted changes
notaz [Mon, 14 Aug 2023 20:47:07 +0000 (23:47 +0300)]
dma: should clear both start bits
at least that's how I understand nocash
notaz [Mon, 14 Aug 2023 20:44:25 +0000 (23:44 +0300)]
psxbios: try to improve initial boot state
notaz [Mon, 14 Aug 2023 20:19:37 +0000 (23:19 +0300)]
configure: rm some leftover
notaz [Sun, 13 Aug 2023 22:36:03 +0000 (01:36 +0300)]
psxbios: implement some pad reading details
notaz [Sun, 13 Aug 2023 16:15:31 +0000 (19:15 +0300)]
dma: clean up
libretro/pcsx_rearmed#740
notaz [Sat, 12 Aug 2023 22:59:20 +0000 (01:59 +0300)]
psxbios: rewrite event handling
no more mapping to some internal array
notaz [Sat, 12 Aug 2023 16:05:35 +0000 (19:05 +0300)]
log unhandled io more clearly
notaz [Sat, 12 Aug 2023 16:01:22 +0000 (19:01 +0300)]
emulate pending irq bit somewhat
notaz [Thu, 10 Aug 2023 23:10:55 +0000 (02:10 +0300)]
try to fix reset in HLE mode
notaz [Thu, 10 Aug 2023 23:08:29 +0000 (02:08 +0300)]
psxbios: handle dynamic CB alloc
SYSTEM.CNF TCB/EVENT settings are used now
notaz [Thu, 10 Aug 2023 23:01:11 +0000 (02:01 +0300)]
misc: accept a path without slash
notaz [Thu, 10 Aug 2023 17:53:40 +0000 (20:53 +0300)]
drc: fix reg alloc for div
libretro/pcsx_rearmed#745
notaz [Wed, 9 Aug 2023 23:29:53 +0000 (02:29 +0300)]
spu: some cdda/xa reverb support
not for threaded spu as it'd race with writes and I don't want to use a
mutex or do extra copying there
libretro/pcsx_rearmed#733
notaz [Tue, 8 Aug 2023 22:51:46 +0000 (01:51 +0300)]
psxbios: completely rework exception handling
should be much closer to the real thing
notaz [Sun, 6 Aug 2023 18:01:09 +0000 (21:01 +0300)]
libretro: add (psx) exe and iso to valid_extensions
doesn't seem to work though?
notaz [Sun, 6 Aug 2023 17:46:16 +0000 (20:46 +0300)]
libretro: understand psx exes
notaz [Sun, 6 Aug 2023 16:38:38 +0000 (19:38 +0300)]
update libchdr
notaz [Sun, 6 Aug 2023 16:22:42 +0000 (19:22 +0300)]
cdriso: clean up mode1 detection
libretro/pcsx_rearmed#743