notaz [Mon, 28 Aug 2023 23:06:11 +0000 (02:06 +0300)]
Merge pull request #752 from Namaneo/fix_emscripten
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
Julien Loir [Mon, 28 Aug 2023 20:46:34 +0000 (22:46 +0200)]
Fix emscripten build
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 [Sat, 26 Aug 2023 15:40:42 +0000 (18:40 +0300)]
Merge pull request #750 from pcercuei/lightrec-update-
20230826
Lightrec update
20230826
Paul Cercueil [Fri, 25 Aug 2023 13:18:00 +0000 (15:18 +0200)]
Use fractional cycles within Lightrec
Instead of computing cycles back and forth between PCSX and Lightrec,
compute and use a cycles-per-opcode value in 22.10 format and use that.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Sat, 26 Aug 2023 08:41:37 +0000 (10:41 +0200)]
lightrec: Update lightrec.h
Update lightrec.h to reflect upstream changes.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Thu, 24 Aug 2023 16:41:34 +0000 (18:41 +0200)]
lightning: Update lightning.h
Update lightning.h to reflect upstream changes.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Sat, 26 Aug 2023 08:38:47 +0000 (10:38 +0200)]
git subrepo pull --force deps/lightrec
subrepo:
subdir: "deps/lightrec"
merged: "
afc75e49d7"
upstream:
origin: "https://github.com/pcercuei/lightrec.git"
branch: "master"
commit: "
afc75e49d7"
git-subrepo:
version: "0.4.6"
origin: "https://github.com/ingydotnet/git-subrepo.git"
commit: "
110b9eb"
Paul Cercueil [Sat, 26 Aug 2023 08:38:41 +0000 (10:38 +0200)]
git subrepo pull (merge) --force deps/lightning
subrepo:
subdir: "deps/lightning"
merged: "
fe12b4b8d9"
upstream:
origin: "https://github.com/pcercuei/gnu_lightning.git"
branch: "pcsx_rearmed"
commit: "
fe12b4b8d9"
git-subrepo:
version: "0.4.6"
origin: "https://github.com/ingydotnet/git-subrepo.git"
commit: "
110b9eb"
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 23:19:01 +0000 (02:19 +0300)]
fix build
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, 24 Aug 2023 21:17:40 +0000 (00:17 +0300)]
Merge pull request #749 from pcercuei/lightrec-allow-mem-override
lightrec: Allow to override code buffer size
Paul Cercueil [Thu, 24 Aug 2023 20:08:04 +0000 (22:08 +0200)]
lightrec: Allow to override code buffer size
Allow the CODE_BUFFER_SIZE macro to be overriden.
This is helpful on platforms that don't want a 8 MiB buffer.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
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 [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:24:58 +0000 (21:24 +0300)]
try to fix apple build
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:55:37 +0000 (19:55 +0300)]
update libchdr
git subrepo pull (merge) --force deps/libchdr
subrepo:
subdir: "deps/libchdr"
merged: "
54bfb871"
upstream:
origin: "https://github.com/rtissera/libchdr"
branch: "master"
commit: "
54bfb871"
git-subrepo:
version: "0.4.6"
origin: "https://github.com/ingydotnet/git-subrepo.git"
commit: "
110b9eb"
notaz [Sun, 6 Aug 2023 16:22:42 +0000 (19:22 +0300)]
cdriso: clean up mode1 detection
libretro/pcsx_rearmed#743
notaz [Fri, 4 Aug 2023 22:08:26 +0000 (01:08 +0300)]
Merge pull request #742 from pcercuei/update-lightrec-
20230804
Update lightrec
20230804
Paul Cercueil [Fri, 4 Aug 2023 21:31:51 +0000 (23:31 +0200)]
lightrec: Add mirror to parallel port
The PS2/PS3 BIOS will try to access the parallel port through a mirror
at 0x1fa00000.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Fri, 4 Aug 2023 15:24:07 +0000 (17:24 +0200)]
lightrec: Increase size of hw registers area
Increase it from 0x2000 bytes (the real area size on a PS1) to 0x8000
bytes to support the BIOS extracted from the PS3 firmware.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Fri, 4 Aug 2023 21:30:38 +0000 (23:30 +0200)]
git subrepo pull --force deps/lightrec
subrepo:
subdir: "deps/lightrec"
merged: "
15216f3a2e"
upstream:
origin: "https://github.com/pcercuei/lightrec.git"
branch: "master"
commit: "
15216f3a2e"
git-subrepo:
version: "0.4.3"
origin: "https://github.com/ingydotnet/git-subrepo.git"
commit: "
2f68596"
notaz [Thu, 3 Aug 2023 21:25:21 +0000 (00:25 +0300)]
libretro: accept ps1_rom.bin (and similar) bios too
notaz [Thu, 3 Aug 2023 21:22:45 +0000 (00:22 +0300)]
drc: disable some weird code
notaz [Wed, 2 Aug 2023 22:30:56 +0000 (01:30 +0300)]
drc: adjust load/store checks
notaz [Wed, 2 Aug 2023 22:28:27 +0000 (01:28 +0300)]
drc: adjust alignment checking
notaz [Wed, 2 Aug 2023 22:24:14 +0000 (01:24 +0300)]
drc: adjust MAXBLOCK
it was stopping at MAXBLOCK/2 in most cases anyway, so adjust
the arrays for the size that's actually used
notaz [Wed, 2 Aug 2023 22:22:58 +0000 (01:22 +0300)]
arm64: use ldp/stp more
notaz [Wed, 2 Aug 2023 22:20:45 +0000 (01:20 +0300)]
drc: some cleanup
notaz [Sat, 29 Jul 2023 23:31:02 +0000 (02:31 +0300)]
dma: don't copy out of range
it should wrap, but that's not practical so just limit for now
libretro/pcsx_rearmed#740
notaz [Sat, 29 Jul 2023 21:08:55 +0000 (00:08 +0300)]
drc: try to prevent wrong eviction
notaz [Thu, 27 Jul 2023 00:09:34 +0000 (03:09 +0300)]
drc: update according to the interpreter (3)
notaz [Tue, 25 Jul 2023 22:23:06 +0000 (01:23 +0300)]
drc: update according to interpreter (2)
notaz [Sun, 23 Jul 2023 22:28:07 +0000 (01:28 +0300)]
drc: optional address error exception support
notaz [Fri, 21 Jul 2023 20:33:10 +0000 (23:33 +0300)]
drc: update according to interpreter
much larger commit than I'd like but it's too much work to split it
notaz [Thu, 27 Jul 2023 16:52:06 +0000 (19:52 +0300)]
Merge pull request #738 from pcercuei/update-lightrec-
20230727
Update to latest Lightrec 2023-07-27
notaz [Thu, 27 Jul 2023 16:50:33 +0000 (19:50 +0300)]
Merge pull request #739 from pcercuei/lightrec-memory-protection
lightrec: use mmap() for code buffer if possible
Paul Cercueil [Thu, 27 Jul 2023 10:11:31 +0000 (12:11 +0200)]
git subrepo pull --force deps/lightrec
subrepo:
subdir: "deps/lightrec"
merged: "
68a5d16b6b"
upstream:
origin: "https://github.com/pcercuei/lightrec.git"
branch: "master"
commit: "
68a5d16b6b"
git-subrepo:
version: "0.4.3"
origin: "https://github.com/ingydotnet/git-subrepo.git"
commit: "
2f68596"
Paul Cercueil [Thu, 27 Jul 2023 09:32:58 +0000 (11:32 +0200)]
lightrec: use mmap() for code buffer if possible
When not using the custom memory map, the code buffer was simply
malloc'd. This only works if the memory returned has no protection,
which is not the case e.g. on Linux.
If mmap() is available, use it to allocate the code buffer, so that the
proper memory protection flags can be used.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
notaz [Tue, 25 Jul 2023 20:43:13 +0000 (23:43 +0300)]
Merge pull request #737 from pcercuei/always-use-code-buffer
lightrec: Alloc code buffer with standard memory map
Paul Cercueil [Tue, 25 Jul 2023 17:58:44 +0000 (19:58 +0200)]
lightrec: Alloc code buffer with standard memory map
Provide Lightrec with a code buffer even when using a non-custom memory
map, as some platforms (NGC, Wii) cannot emit code outside a provided
code buffer.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
notaz [Tue, 25 Jul 2023 17:43:59 +0000 (20:43 +0300)]
make: enable lightrec for psl1ght too
no idea if anything works though (untested)
notaz [Tue, 25 Jul 2023 17:39:01 +0000 (20:39 +0300)]
Merge pull request #736 from pcercuei/add-sysconf
make: Enable Lightrec for GC/Wii
Paul Cercueil [Tue, 25 Jul 2023 10:27:50 +0000 (12:27 +0200)]
make: Enable Lightrec for GC/Wii
Add the missing sysconf() function so that the GC/Wii builds will link
properly against Lightrec and GNU Lightning.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
notaz [Mon, 24 Jul 2023 22:33:46 +0000 (01:33 +0300)]
make: try to fix osx still not detecting things
notaz [Mon, 24 Jul 2023 22:23:56 +0000 (01:23 +0300)]
try again again
notaz [Mon, 24 Jul 2023 22:22:02 +0000 (01:22 +0300)]
make: get rid of NO_OS NO_SOCKET
no longer used
notaz [Mon, 24 Jul 2023 22:19:13 +0000 (01:19 +0300)]
make: try to get osx build to detect stuff
... the way I want, like osx-arm64 is actually arm
notaz [Mon, 24 Jul 2023 21:49:51 +0000 (00:49 +0300)]
try again
I wish I could test this before commiting
notaz [Mon, 24 Jul 2023 21:43:15 +0000 (00:43 +0300)]
make: select the compiler earlier for detection to work
and disable ppc macos for now
notaz [Mon, 24 Jul 2023 21:27:15 +0000 (00:27 +0300)]
Merge pull request #735 from pcercuei/fix-win32-build-part-2
Fix Win32 build, part 2
Paul Cercueil [Mon, 24 Jul 2023 21:14:36 +0000 (23:14 +0200)]
Fix Win32 build, part 2
GNU Lightning does use the 'HAVE_MMAP' macro, so it needs to be defined
when compiling it; otherwise Lightning will fail on an assert() at
runtime.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
notaz [Mon, 24 Jul 2023 21:03:28 +0000 (00:03 +0300)]
platforms: try some new big endian platforms
Big endian reportedly works thanks to Paul Cercueil's work.
Let's see if it builds in CI.
notaz [Mon, 24 Jul 2023 20:20:12 +0000 (23:20 +0300)]
try to fix win32 build
HAVE_MMAP etc clashing with libretro-common
notaz [Mon, 24 Jul 2023 19:47:18 +0000 (22:47 +0300)]
try to fix android build yet again
impossible to not forget it for me
notaz [Mon, 24 Jul 2023 19:32:20 +0000 (22:32 +0300)]
Merge pull request #728 from pcercuei/libretro-wiiu-v4
WiiU port
Ash Logan [Sun, 29 May 2022 12:53:18 +0000 (22:53 +1000)]
Update GameCube/Wii/WiiU targets
Update the GameCube/Wii/WiiU targets to make sure they compile and work;
and add support for the Lightrec dynarec, using a custom memory map on
the WiiU target (and unoptimized regular malloc'd addresses on NGC/Wii).
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Sat, 11 Feb 2023 14:47:30 +0000 (14:47 +0000)]
Support compiling without posix_memalign() function
Add NO_POSIX_MEMALIGN option in Makefile.libretro to support platform
that don't provide the posix_memalign() function.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Sat, 11 Feb 2023 14:22:21 +0000 (14:22 +0000)]
Support compiling without pthreads
Add NO_PTHREAD option in the Makefile, which can be used on platforms
that don't support pthreads.
Since dfsound/spu.c disables threading support on Win32 and platform
defining NO_OS (Switch, 3DS, PSP Vita), mark them as not having
pthreads.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Sat, 11 Feb 2023 14:17:13 +0000 (14:17 +0000)]
Support compiling without mmap functions
Add NO_MMAP option in Makefile.libretro that can be turned ON on
platforms that don't support mmap(), and for which memory mapping hooks
must be provided.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Sat, 11 Feb 2023 14:53:01 +0000 (14:53 +0000)]
Makefile: Switch to using libretro-common subrepo
Instead of integrating the content of the libretro-common repository
inside this core, reference it as a git subrepo, just like it is
currently done with GNU Lightning and Lightrec.
The advantage is that the latest code from the main libretro-common
repository can be fetched easily now.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil [Sun, 9 Jul 2023 12:38:25 +0000 (14:38 +0200)]
git subrepo clone https://github.com/libretro/libretro-common.git deps/libretro-common
subrepo:
subdir: "deps/libretro-common"
merged: "
86d5e4128c"
upstream:
origin: "https://github.com/libretro/libretro-common.git"
branch: "master"
commit: "
86d5e4128c"
git-subrepo:
version: "0.4.3"
origin: "https://github.com/ingydotnet/git-subrepo.git"
commit: "
2f68596"
notaz [Thu, 20 Jul 2023 21:04:03 +0000 (00:04 +0300)]
psxinterpreter: adjust COP decoding