notaz [Tue, 17 Oct 2023 22:57:40 +0000 (01:57 +0300)]
minor makefile adjustment
notaz [Tue, 17 Oct 2023 22:44:46 +0000 (01:44 +0300)]
must specify cflags to link
important for -mfpu when using lto
notaz [Tue, 17 Oct 2023 21:25:29 +0000 (00:25 +0300)]
try automatic libretro builds
notaz [Mon, 16 Oct 2023 21:16:46 +0000 (00:16 +0300)]
rework gpu busy timing
previous implementation caused complications with dynarecs
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?)
notaz [Sun, 15 Oct 2023 20:10:16 +0000 (23:10 +0300)]
spu: rvb volume is signed
notaz/pcsx_rearmed#316
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
notaz [Sat, 14 Oct 2023 22:46:48 +0000 (01:46 +0300)]
fix a mistake in big endian conversion
notaz/pcsx_rearmed#318
notaz [Sat, 14 Oct 2023 21:48:20 +0000 (00:48 +0300)]
cdrom: adjust timing
notaz/pcsx_rearmed#317
notaz [Sat, 14 Oct 2023 20:42:11 +0000 (23:42 +0300)]
update vibration handling
following the nocash description
notaz/pcsx_rearmed#314
notaz [Sat, 14 Oct 2023 16:18:01 +0000 (19:18 +0300)]
spu: implement irq on dma
notaz/pcsx_rearmed#295
notaz [Fri, 13 Oct 2023 20:19:24 +0000 (23:19 +0300)]
eliminate event code duplication
notaz [Fri, 13 Oct 2023 15:56:41 +0000 (18:56 +0300)]
bigendian again
libretro/pcsx_rearmed#777
notaz [Thu, 12 Oct 2023 22:15:13 +0000 (01:15 +0300)]
patch up some clang/apple issues
StormedBubbles [Tue, 30 May 2023 20:30:16 +0000 (16:30 -0400)]
Optional lightgun crosshairs + add "Konami Gun" device
notaz [Wed, 11 Oct 2023 22:38:04 +0000 (01:38 +0300)]
cdrom: adjust pause behavior
follows mednafen now
notaz/pcsx_rearmed#288
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
notaz [Wed, 11 Oct 2023 18:22:17 +0000 (21:22 +0300)]
lightrec: handle a case of ignored MAP_FIXED_NOREPLACE
notaz [Tue, 10 Oct 2023 23:14:08 +0000 (02:14 +0300)]
unbreak some old savestates
I have too many of them
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
notaz [Tue, 10 Oct 2023 20:48:42 +0000 (23:48 +0300)]
spu: rearrange struct to reduce padding
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:10:37 +0000 (21:10 +0300)]
psxbios: don't limit pointers to ram
scratchpad is sometimes used
notaz [Mon, 9 Oct 2023 18:54:54 +0000 (21:54 +0300)]
provide DISABLE_MEM_LUTS default
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 [Sun, 8 Oct 2023 15:25:57 +0000 (18:25 +0300)]
Merge pull request #771 from pcercuei/update-lightrec-
20231006
Update lightrec
20231006
Paul Cercueil [Fri, 6 Oct 2023 21:33:00 +0000 (23:33 +0200)]
git subrepo pull --force deps/lightrec
subrepo:
subdir: "deps/lightrec"
merged: "
83b50408ae"
upstream:
origin: "https://github.com/pcercuei/lightrec.git"
branch: "master"
commit: "
83b50408ae"
git-subrepo:
version: "0.4.6"
origin: "https://github.com/ingydotnet/git-subrepo.git"
commit: "
110b9eb"
Paul Cercueil [Fri, 6 Oct 2023 21:32:55 +0000 (23:32 +0200)]
git subrepo pull (merge) --force deps/lightning
subrepo:
subdir: "deps/lightning"
merged: "
4d1ef4c372"
upstream:
origin: "https://github.com/pcercuei/gnu_lightning.git"
branch: "pcsx_rearmed"
commit: "
4d1ef4c372"
git-subrepo:
version: "0.4.6"
origin: "https://github.com/ingydotnet/git-subrepo.git"
commit: "
110b9eb"
notaz [Wed, 4 Oct 2023 20:51:55 +0000 (23:51 +0300)]
drc: avoid excessive recursion in hle mode
notaz [Sun, 1 Oct 2023 21:37:45 +0000 (00:37 +0300)]
gpulib: use mmap on linux like before
negativeExponent made it heap alloc as default in
12367ad02, why?
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 20:26:21 +0000 (23:26 +0300)]
lightrec: must use MAP_FIXED_NOREPLACE
otherwise it'll destroy existing mappings
notaz/pcsx_rearmed#109
CC @pcercuei
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 23:37:01 +0000 (02:37 +0300)]
android again
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
Paul Cercueil [Mon, 18 Sep 2023 16:39:40 +0000 (18:39 +0200)]
lightrec: Emulate BREAK
Some games (F1 2000, maybe others) require BREAK to be emulated
properly.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
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
Paul Cercueil [Wed, 13 Sep 2023 09:23:16 +0000 (11:23 +0200)]
unai: Fix scalers doing endianness conversion
Both the VRAM and the downscale buffers are in little-endian format,
there's no need to do any endianness conversion.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
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 20:19:54 +0000 (23:19 +0300)]
fix standalone build
Paul Cercueil [Tue, 12 Sep 2023 22:20:43 +0000 (00:20 +0200)]
git subrepo pull --force deps/lightrec
subrepo:
subdir: "deps/lightrec"
merged: "
b53e0e808d"
upstream:
origin: "https://github.com/pcercuei/lightrec.git"
branch: "master"
commit: "
b53e0e808d"
git-subrepo:
version: "0.4.6"
origin: "https://github.com/ingydotnet/git-subrepo.git"
commit: "
110b9eb"
Paul Cercueil [Tue, 12 Sep 2023 21:33:04 +0000 (23:33 +0200)]
libpcsxcore: Set unsafe flags after reset
Lightrec is only initialized once, when the emulator starts. We need to
set the unsafe flags after reset because the setting will be different
across games.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
notaz [Tue, 12 Sep 2023 22:38:26 +0000 (01:38 +0300)]
the usual android buildfix
notaz [Tue, 12 Sep 2023 21:08:56 +0000 (00:08 +0300)]
try to cleanup the mess in the input code
notaz [Tue, 12 Sep 2023 21:10:13 +0000 (00:10 +0300)]
deal with lightrec warnings
they're just too annoying
notaz [Sun, 10 Sep 2023 22:53:16 +0000 (01:53 +0300)]
Merge pull request #757 from pcercuei/lightrec-hacks
libpcsxcore: Add database for Lightrec hacks
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
Paul Cercueil [Sun, 10 Sep 2023 18:58:02 +0000 (20:58 +0200)]
libpcsxcore: Add database for Lightrec hacks
And add entries for the infamous Formula One games.
These games do tricks with the instruction cache that are hard to
emulate properly in an interpreter, and almost impossible in a dynamic
recompiler.
Funnily enough, emulating the CPU less accurately by only invalidating
cached code on DMA writes and never on CPU writes make these games work.
These hacks will also make Lightrec generate faster code, but they are
unsafe by nature, and that's why they are conditionally enabled.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
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 [Wed, 6 Sep 2023 20:47:23 +0000 (23:47 +0300)]
some lightgun selection mechanism
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)]
lightrec: initial hle support
notaz [Sat, 2 Sep 2023 21:07:39 +0000 (00:07 +0300)]
Merge pull request #756 from pcercuei/update-lightrec-
20230902
Update Lightrec 2023-09-02
Paul Cercueil [Sat, 2 Sep 2023 20:45:44 +0000 (22:45 +0200)]
git subrepo pull --force deps/lightrec
subrepo:
subdir: "deps/lightrec"
merged: "
3eee0e1e7e"
upstream:
origin: "https://github.com/pcercuei/lightrec.git"
branch: "master"
commit: "
3eee0e1e7e"
git-subrepo:
version: "0.4.6"
origin: "https://github.com/ingydotnet/git-subrepo.git"
commit: "
110b9eb"
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 [Thu, 31 Aug 2023 00:13:17 +0000 (03:13 +0300)]
fix arm32 build
libretro/pcsx_rearmed#754
notaz [Wed, 30 Aug 2023 21:09:33 +0000 (00:09 +0300)]
Merge pull request #754 from pcercuei/unai-big-endian
unai: Add support for big-endian
notaz [Wed, 30 Aug 2023 20:30:39 +0000 (23:30 +0300)]
make GPUopen consistent everywhere
libretro/pcsx_rearmed#752
Paul Cercueil [Wed, 30 Aug 2023 14:36:56 +0000 (16:36 +0200)]
unai: Add support for big-endian
Fix VRAM and PacketBuffer accesses to always go through endianness
conversion. This should fix most of Unai on big-endian systems.
I think it is not 100% complete as RGB888 frames are still rendered in
the host's endian - but in my case the emulator (WiiSX) expects a host
endian format for RGB888 so it still works.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
notaz [Tue, 29 Aug 2023 21:43:15 +0000 (00:43 +0300)]
psxbios: implement get/setconf
notaz [Tue, 29 Aug 2023 19:56:21 +0000 (22:56 +0300)]
platforms: enable emscripten
notaz [Tue, 29 Aug 2023 00:28:40 +0000 (03:28 +0300)]
try to unbreak bigendian
always struggling with it
libretro/pcsx_rearmed#753
notaz [Mon, 28 Aug 2023 23:10:22 +0000 (02:10 +0300)]
fix a minor warning
notaz [Mon, 28 Aug 2023 23:06:11 +0000 (02:06 +0300)]
Merge pull request #752 from Namaneo/fix_emscripten
Fix emscripten build