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

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

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

wasn't paying attention

14 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

14 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

14 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

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

15 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

15 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

15 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

15 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

15 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

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

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

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

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

15 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.

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

15 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

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

maybe done?

15 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.

15 months agospu: implement volume regs somewhat
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

15 months agopsxbios: some assorted changes
notaz [Mon, 14 Aug 2023 20:49:23 +0000 (23:49 +0300)]
psxbios: some assorted changes

15 months agodma: should clear both start bits
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

15 months agopsxbios: try to improve initial boot state
notaz [Mon, 14 Aug 2023 20:44:25 +0000 (23:44 +0300)]
psxbios: try to improve initial boot state

15 months agoconfigure: rm some leftover
notaz [Mon, 14 Aug 2023 20:19:37 +0000 (23:19 +0300)]
configure: rm some leftover

15 months agopsxbios: implement some pad reading details
notaz [Sun, 13 Aug 2023 22:36:03 +0000 (01:36 +0300)]
psxbios: implement some pad reading details

15 months agodma: clean up
notaz [Sun, 13 Aug 2023 16:15:31 +0000 (19:15 +0300)]
dma: clean up

libretro/pcsx_rearmed#740

15 months agopsxbios: rewrite event handling
notaz [Sat, 12 Aug 2023 22:59:20 +0000 (01:59 +0300)]
psxbios: rewrite event handling

no more mapping to some internal array

15 months agolog unhandled io more clearly
notaz [Sat, 12 Aug 2023 16:05:35 +0000 (19:05 +0300)]
log unhandled io more clearly

15 months agoemulate pending irq bit somewhat
notaz [Sat, 12 Aug 2023 16:01:22 +0000 (19:01 +0300)]
emulate pending irq bit somewhat

15 months agotry to fix reset in HLE mode
notaz [Thu, 10 Aug 2023 23:10:55 +0000 (02:10 +0300)]
try to fix reset in HLE mode

15 months agopsxbios: handle dynamic CB alloc
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

15 months agomisc: accept a path without slash
notaz [Thu, 10 Aug 2023 23:01:11 +0000 (02:01 +0300)]
misc: accept a path without slash

15 months agodrc: fix reg alloc for div
notaz [Thu, 10 Aug 2023 17:53:40 +0000 (20:53 +0300)]
drc: fix reg alloc for div

libretro/pcsx_rearmed#745

15 months agospu: some cdda/xa reverb support
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

15 months agopsxbios: completely rework exception handling
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

15 months agolibretro: add (psx) exe and iso to valid_extensions
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?

15 months agolibretro: understand psx exes
notaz [Sun, 6 Aug 2023 17:46:16 +0000 (20:46 +0300)]
libretro: understand psx exes

15 months agoupdate libchdr
notaz [Sun, 6 Aug 2023 16:38:38 +0000 (19:38 +0300)]
update libchdr

15 months agocdriso: clean up mode1 detection
notaz [Sun, 6 Aug 2023 16:22:42 +0000 (19:22 +0300)]
cdriso: clean up mode1 detection

libretro/pcsx_rearmed#743

15 months agolibretro: accept ps1_rom.bin (and similar) bios too
notaz [Thu, 3 Aug 2023 21:25:21 +0000 (00:25 +0300)]
libretro: accept ps1_rom.bin (and similar) bios too

15 months agodrc: disable some weird code
notaz [Thu, 3 Aug 2023 21:22:45 +0000 (00:22 +0300)]
drc: disable some weird code

15 months agodrc: adjust load/store checks
notaz [Wed, 2 Aug 2023 22:30:56 +0000 (01:30 +0300)]
drc: adjust load/store checks

15 months agodrc: adjust alignment checking
notaz [Wed, 2 Aug 2023 22:28:27 +0000 (01:28 +0300)]
drc: adjust alignment checking

15 months agodrc: adjust MAXBLOCK
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

15 months agoarm64: use ldp/stp more
notaz [Wed, 2 Aug 2023 22:22:58 +0000 (01:22 +0300)]
arm64: use ldp/stp more

15 months agodrc: some cleanup
notaz [Wed, 2 Aug 2023 22:20:45 +0000 (01:20 +0300)]
drc: some cleanup

15 months agodma: don't copy out of range
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

15 months agodrc: try to prevent wrong eviction
notaz [Sat, 29 Jul 2023 21:08:55 +0000 (00:08 +0300)]
drc: try to prevent wrong eviction

15 months agodrc: update according to the interpreter (3)
notaz [Thu, 27 Jul 2023 00:09:34 +0000 (03:09 +0300)]
drc: update according to the interpreter (3)

15 months agodrc: update according to interpreter (2)
notaz [Tue, 25 Jul 2023 22:23:06 +0000 (01:23 +0300)]
drc: update according to interpreter (2)

15 months agodrc: optional address error exception support
notaz [Sun, 23 Jul 2023 22:28:07 +0000 (01:28 +0300)]
drc: optional address error exception support

15 months agodrc: update according to interpreter
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

15 months agotry to fix win32 build
notaz [Mon, 24 Jul 2023 20:20:12 +0000 (23:20 +0300)]
try to fix win32 build

HAVE_MMAP etc clashing with libretro-common

15 months agoSupport compiling without posix_memalign() function
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>
15 months agoSupport compiling without pthreads
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>
15 months agoSupport compiling without mmap functions
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>
16 months agopsxinterpreter: adjust COP decoding
notaz [Thu, 20 Jul 2023 21:04:03 +0000 (00:04 +0300)]
psxinterpreter: adjust COP decoding

16 months agopsxinterpreter: yet more exceptions, new config option
notaz [Wed, 19 Jul 2023 22:51:46 +0000 (01:51 +0300)]
psxinterpreter: yet more exceptions, new config option

16 months agopsxinterpreter: rework load delays
notaz [Mon, 17 Jul 2023 22:49:46 +0000 (01:49 +0300)]
psxinterpreter: rework load delays

16 months agopsxinterpreter: rework branching in ds
notaz [Mon, 17 Jul 2023 17:54:19 +0000 (20:54 +0300)]
psxinterpreter: rework branching in ds

16 months agopsxinterpreter: tons of new exceptions
notaz [Sun, 16 Jul 2023 22:18:05 +0000 (01:18 +0300)]
psxinterpreter: tons of new exceptions

does anything need any of this though?

16 months agopsxinterpreter: assorted fixes
notaz [Sat, 15 Jul 2023 21:11:04 +0000 (00:11 +0300)]
psxinterpreter: assorted fixes

16 months agoFix crash when BIOS isn't found
Bobby Smith [Mon, 17 Jul 2023 16:28:25 +0000 (18:28 +0200)]
Fix crash when BIOS isn't found

16 months agosync with libretro
notaz [Fri, 14 Jul 2023 22:19:28 +0000 (01:19 +0300)]
sync with libretro

16 months agoattempt to fix build
notaz [Fri, 14 Jul 2023 20:09:58 +0000 (23:09 +0300)]
attempt to fix build

16 months agolibretro: look for openbios
notaz [Fri, 14 Jul 2023 19:50:13 +0000 (22:50 +0300)]
libretro: look for openbios

Lowest priority since it still has lower compatibility and lightrec has
problems with it.

libretro/pcsx_rearmed#708

16 months agoadjust bios handling again
notaz [Thu, 13 Jul 2023 23:05:30 +0000 (02:05 +0300)]
adjust bios handling again

changed my mind about BiosBooted

16 months agoremove "slow" text from Enhanced Resolution
notaz [Thu, 13 Jul 2023 22:41:37 +0000 (01:41 +0300)]
remove "slow" text from Enhanced Resolution

Perhaps it made sense back in 2011, but now there is plenty of hardware
that can do it without any slowdowns.

16 months agohandle more GP0 status bits
notaz [Thu, 13 Jul 2023 22:20:43 +0000 (01:20 +0300)]
handle more GP0 status bits

should help openbios

16 months agogpu_neon: fix texels vs pixels confusion
notaz [Thu, 13 Jul 2023 22:15:00 +0000 (01:15 +0300)]
gpu_neon: fix texels vs pixels confusion

16 months agodrc: fix wrong unmap size
notaz [Wed, 12 Jul 2023 21:03:03 +0000 (00:03 +0300)]
drc: fix wrong unmap size

16 months agopsxmem: Use POSIX mmap functions as default hooks
Paul Cercueil [Sat, 11 Feb 2023 13:26:15 +0000 (13:26 +0000)]
psxmem: Use POSIX mmap functions as default hooks

Simplify the code by using the POSIX mmap functions as the default
psxMapHook / psxUnmapHook functions.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
16 months agolibpcsxcore: Use the same type for next_interrupt everywhere
Ash Logan [Sun, 29 May 2022 12:53:34 +0000 (22:53 +1000)]
libpcsxcore: Use the same type for next_interrupt everywhere

u32 is long unsigned int on some platforms

16 months agomore timing hacks
notaz [Wed, 12 Jul 2023 22:24:18 +0000 (01:24 +0300)]
more timing hacks

16 months agocdrom: moar hacks
notaz [Tue, 11 Jul 2023 23:21:26 +0000 (02:21 +0300)]
cdrom: moar hacks

libretro/pcsx_rearmed#714

16 months agocdrom: adjust logging
notaz [Tue, 11 Jul 2023 23:21:05 +0000 (02:21 +0300)]
cdrom: adjust logging

16 months agoMerge pull request #299 from anzz1/patch-1
notaz [Wed, 12 Jul 2023 17:19:15 +0000 (20:19 +0300)]
Merge pull request #299 from anzz1/patch-1

cdrom: rename mode constants to defineds

16 months agocdrom: rename mode constants to defineds
anzz1 [Wed, 12 Jul 2023 16:32:07 +0000 (19:32 +0300)]
cdrom: rename mode constants to defineds

16 months agosome openbios support
notaz [Mon, 10 Jul 2023 22:19:58 +0000 (01:19 +0300)]
some openbios support

slowboot isn't working yet, doesn't work at all with lightrec,
openbios-fastboot doesn't work with ari64

16 months agodrc: handle regs-not-in-psxRegs case better
notaz [Sun, 9 Jul 2023 22:50:00 +0000 (01:50 +0300)]
drc: handle regs-not-in-psxRegs case better

for lightrec

16 months agoclean up switching between dynarec and interpreter
notaz [Sun, 9 Jul 2023 19:50:47 +0000 (22:50 +0300)]
clean up switching between dynarec and interpreter

alternative to libretro/pcsx_rearmed#727

16 months agoMerge pull request #292 from pcercuei/dfsound-big-endian
notaz [Sun, 9 Jul 2023 15:57:54 +0000 (18:57 +0300)]
Merge pull request #292 from pcercuei/dfsound-big-endian

dfsound: Fix issues on big-endian systems

16 months agogpu-gles: fix wrong long usage
notaz [Sat, 8 Jul 2023 21:13:36 +0000 (00:13 +0300)]
gpu-gles: fix wrong long usage

No idea if there is any point touching this code but the warnings were
annoying.

16 months agoclean up cache isolation handling
notaz [Sat, 8 Jul 2023 21:09:24 +0000 (00:09 +0300)]
clean up cache isolation handling

also ari64 drc now handles unmapped io same as interpreter

16 months agodrc: minor cleanup
notaz [Sat, 8 Jul 2023 21:07:06 +0000 (00:07 +0300)]
drc: minor cleanup

16 months agodrc: fix some table math
notaz [Sat, 8 Jul 2023 14:53:56 +0000 (17:53 +0300)]
drc: fix some table math

libretro/pcsx_rearmed#713

16 months agocscpace: fix more alignment issues
notaz [Fri, 7 Jul 2023 21:18:08 +0000 (00:18 +0300)]
cscpace: fix more alignment issues

libretro/pcsx_rearmed#719

16 months agomake: try a different way to detect 32bit neon
notaz [Fri, 7 Jul 2023 18:27:15 +0000 (21:27 +0300)]
make: try a different way to detect 32bit neon

16 months agofix another missed double resolution change
notaz [Thu, 6 Jul 2023 21:44:11 +0000 (00:44 +0300)]
fix another missed double resolution change

16 months agofix missed double resolution change
notaz [Thu, 6 Jul 2023 20:55:43 +0000 (23:55 +0300)]
fix missed double resolution change

16 months agosbi: fix parser thinking it failed
notaz [Thu, 6 Jul 2023 20:51:41 +0000 (23:51 +0300)]
sbi: fix parser thinking it failed

it still worked though as it kept sbi_sectors around

16 months agolibretro: disable spu thread by default, with option to reenable
notaz [Thu, 6 Jul 2023 15:47:31 +0000 (18:47 +0300)]
libretro: disable spu thread by default, with option to reenable

it may still cause problems, especially with reverb, fixing it is too
much work for too little benefit

16 months agospu: fix some threading issues
notaz [Thu, 6 Jul 2023 15:04:55 +0000 (18:04 +0300)]
spu: fix some threading issues

but others remain, so disabling in next commit

16 months agospu: fix typo
notaz [Tue, 4 Jul 2023 21:23:18 +0000 (00:23 +0300)]
spu: fix typo

16 months agospu: irq adjustments according to MiSTer
notaz [Tue, 4 Jul 2023 21:12:44 +0000 (00:12 +0300)]
spu: irq adjustments according to MiSTer

libretro/pcsx_rearmed#725

18 months agodfsound: Fix issues on big-endian systems
Paul Cercueil [Wed, 8 Mar 2023 11:30:00 +0000 (11:30 +0000)]
dfsound: Fix issues on big-endian systems

Without this fix, the BIOS' music is missing on big-endian systems. The
XA and reverb code are also fixed, which fixes games like Vib-Ribbon.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
23 months agoMerge pull request #277 from joolswills/armv6_unai_fix
notaz [Wed, 14 Dec 2022 00:01:41 +0000 (02:01 +0200)]
Merge pull request #277 from joolswills/armv6_unai_fix

Fix building gpu_unai on armv6

23 months agoFix building gpu_unai on armv6
Jools Wills [Mon, 12 Dec 2022 15:29:05 +0000 (15:29 +0000)]
Fix building gpu_unai on armv6

f23b103c8248c10855949bfb2185b6b10d4f0457 was missing changes to gpu_unai/gpulib_if.cpp