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

8 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

8 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

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

8 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

8 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

8 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

8 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

8 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

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

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

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

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

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

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

8 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

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

maybe done?

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

8 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

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

8 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

8 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

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

8 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

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

libretro/pcsx_rearmed#740

8 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

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

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

8 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

8 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

8 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

8 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

8 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

8 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

8 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?

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

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

8 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

8 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

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

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

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

8 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

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

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

8 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

8 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

8 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)

8 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)

8 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

8 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

8 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

8 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>
8 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>
8 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>
9 months agopsxinterpreter: adjust COP decoding
notaz [Thu, 20 Jul 2023 21:04:03 +0000 (00:04 +0300)]
psxinterpreter: adjust COP decoding

9 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

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

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

9 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?

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

9 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

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

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

9 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

9 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

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

9 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

9 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

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

9 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>
9 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

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

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

libretro/pcsx_rearmed#714

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

9 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

9 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

9 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

9 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

9 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

9 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

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

9 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

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

9 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

9 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

9 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

9 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

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

9 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

9 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

9 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

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

9 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

11 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>
16 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

16 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

16 months agocdrom: adjust a timing hack
notaz [Sun, 11 Dec 2022 20:28:42 +0000 (22:28 +0200)]
cdrom: adjust a timing hack

notaz/pcsx_rearmed#276

17 months agogpulib: allow commands to span list entries
notaz [Mon, 14 Nov 2022 22:57:47 +0000 (00:57 +0200)]
gpulib: allow commands to span list entries

libretro/pcsx_rearmed#271

17 months agocdrom: forget old sector on cd change
notaz [Sun, 13 Nov 2022 23:17:58 +0000 (01:17 +0200)]
cdrom: forget old sector on cd change

libretro/pcsx_rearmed#689