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

23 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

2 years 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

2 years 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

2 years agodma: add optional slow linked list walking
notaz [Sun, 13 Nov 2022 21:33:49 +0000 (23:33 +0200)]
dma: add optional slow linked list walking

libretro/pcsx_rearmed#478
libretro/pcsx_rearmed#264
libretro/pcsx_rearmed#132
notaz/pcsx_rearmed#95

2 years agocdrom: make the timing hack conditional
notaz [Sat, 12 Nov 2022 21:05:52 +0000 (23:05 +0200)]
cdrom: make the timing hack conditional

libretro/pcsx_rearmed#707

2 years agocdriso: unbreak cdda for chd
notaz [Sat, 12 Nov 2022 15:57:31 +0000 (17:57 +0200)]
cdriso: unbreak cdda for chd

notaz/pcsx_rearmed#272

2 years agocdrom: don't report read too early
notaz [Sat, 5 Nov 2022 20:51:37 +0000 (22:51 +0200)]
cdrom: don't report read too early

libretro/pcsx_rearmed#706

2 years agospu: fix a wrong assumption
notaz [Thu, 3 Nov 2022 20:49:08 +0000 (22:49 +0200)]
spu: fix a wrong assumption

from 5aa94fa080e1b0a661b23aa912022dd464d41110
libretro/pcsx_rearmed#704

2 years agocdriso: fix up chd for separated subq reads
notaz [Thu, 3 Nov 2022 00:13:39 +0000 (02:13 +0200)]
cdriso: fix up chd for separated subq reads

2 years agocdrom: change GetlocP handling
notaz [Wed, 2 Nov 2022 20:24:20 +0000 (22:24 +0200)]
cdrom: change GetlocP handling

maybe better?
notaz/pcsx_rearmed#268

2 years agocdrom: handle fifo overreads
notaz [Tue, 1 Nov 2022 23:20:50 +0000 (01:20 +0200)]
cdrom: handle fifo overreads

based on nocash doc
notaz/pcsx_rearmed#269

2 years agocdrom: add a timing hack
notaz [Tue, 25 Oct 2022 19:08:12 +0000 (22:08 +0300)]
cdrom: add a timing hack

notaz/pcsx_rearmed#267

2 years agocdrom: report read errors correctly
notaz [Sat, 22 Oct 2022 16:20:26 +0000 (19:20 +0300)]
cdrom: report read errors correctly

2 years agopsxbios: use noninvasive print for -psxout
notaz [Sat, 22 Oct 2022 16:16:46 +0000 (19:16 +0300)]
psxbios: use noninvasive print for -psxout

2 years agogpulib: update gpuinfo
notaz [Fri, 14 Oct 2022 21:37:43 +0000 (00:37 +0300)]
gpulib: update gpuinfo

according to nocash

2 years agomerge from libretro fork
notaz [Thu, 13 Oct 2022 20:55:21 +0000 (23:55 +0300)]
merge from libretro fork

+ minor modifications

Reducing the diff as it's too hard to track down breakage
when one works but not the other.

2 years agoupdated gaussian interpolation filter
Sakitoshi [Thu, 24 Jan 2019 01:19:49 +0000 (22:19 -0300)]
updated gaussian interpolation filter

the previous gaussian filter was pretty old and inaccurate, the new filter was taken from the updated peops sound plugin 1.10b.

2 years agopsxinterpreter: use cycle_multiplier also
notaz [Sat, 1 Oct 2022 20:43:39 +0000 (23:43 +0300)]
psxinterpreter: use cycle_multiplier also

not just ari64

2 years agoremove all the hack options
notaz [Sat, 1 Oct 2022 19:32:01 +0000 (22:32 +0300)]
remove all the hack options

They just confuse users, like:
libretro/pcsx_rearmed#693

For Parasite Eve 2 and others, adjust "PSX CPU clock" instead if needed.

2 years agocdrom: update status immediately after seek
notaz [Thu, 29 Sep 2022 19:45:23 +0000 (22:45 +0300)]
cdrom: update status immediately after seek

Philosoma wants it

2 years agocdrom: ignore repeated read cmds
notaz [Thu, 29 Sep 2022 18:36:54 +0000 (21:36 +0300)]
cdrom: ignore repeated read cmds

libretro/pcsx_rearmed#691

2 years agocdrom: change GetlocL behavior
notaz [Wed, 21 Sep 2022 21:35:28 +0000 (00:35 +0300)]
cdrom: change GetlocL behavior

notaz/pcsx_rearmed#263

2 years agocdrom: treat seek the same as other commands
notaz [Sat, 17 Sep 2022 20:28:46 +0000 (23:28 +0300)]
cdrom: treat seek the same as other commands

much simpler this way

2 years agocdrom: allow to interrupt initial scan sequence
notaz [Sat, 17 Sep 2022 20:18:47 +0000 (23:18 +0300)]
cdrom: allow to interrupt initial scan sequence

probably wrong but ohwell...

2 years agocdrom: actually reject commands when not ready
notaz [Sat, 17 Sep 2022 19:46:03 +0000 (22:46 +0300)]
cdrom: actually reject commands when not ready

before it would still execute them and just do an error response

2 years agomain: log missing CPU features
notaz [Fri, 16 Sep 2022 19:59:25 +0000 (22:59 +0300)]
main: log missing CPU features

will probably be too late but ohwell

2 years agogpu_neon: rm wrong cost qualifier
notaz [Thu, 15 Sep 2022 23:34:58 +0000 (02:34 +0300)]
gpu_neon: rm wrong cost qualifier

2 years agocdrom: adjust timing
notaz [Thu, 15 Sep 2022 23:31:37 +0000 (02:31 +0300)]
cdrom: adjust timing

2 years agodon't cast between long and pointers for win64
notaz [Thu, 15 Sep 2022 21:03:40 +0000 (00:03 +0300)]
don't cast between long and pointers for win64

long is 32 bit there

2 years agomisc: patch some issues indicated by clang
notaz [Thu, 15 Sep 2022 18:12:10 +0000 (21:12 +0300)]
misc: patch some issues indicated by clang

2 years agofrontend: handle double res rendering, enable on x86_64
notaz [Thu, 15 Sep 2022 16:11:11 +0000 (19:11 +0300)]
frontend: handle double res rendering, enable on x86_64

2 years agogpu_neon: brand new x86 SSE2+ implementation
notaz [Sun, 11 Sep 2022 22:40:24 +0000 (01:40 +0300)]
gpu_neon: brand new x86 SSE2+ implementation

2 years agogpu_neon: adjust some comments and things
notaz [Tue, 16 Aug 2022 21:11:39 +0000 (00:11 +0300)]
gpu_neon: adjust some comments and things

2 years agocdrom: delay the missed irq more
notaz [Thu, 15 Sep 2022 16:25:01 +0000 (19:25 +0300)]
cdrom: delay the missed irq more

2 years agosome big endian fixes
notaz [Sat, 10 Sep 2022 14:53:54 +0000 (17:53 +0300)]
some big endian fixes

"kinda sucks but it works" kind of thing

2 years agostandalone: allow lightrec for testing
notaz [Fri, 9 Sep 2022 23:26:04 +0000 (02:26 +0300)]
standalone: allow lightrec for testing

lightrec is not (yet?) here, just to reduce diff from libretro fork

2 years agospu: fix wrong volume shift
notaz [Sat, 10 Sep 2022 13:46:05 +0000 (16:46 +0300)]
spu: fix wrong volume shift

libretro/pcsx_rearmed#685

2 years agofix build
notaz [Fri, 9 Sep 2022 23:37:50 +0000 (02:37 +0300)]
fix build

forgot to add 'extern'

2 years agogte: minor diff from libretro
notaz [Fri, 9 Sep 2022 23:39:24 +0000 (02:39 +0300)]
gte: minor diff from libretro

2 years agopsxinterpreter: reduce the use of globals
notaz [Fri, 9 Sep 2022 19:11:30 +0000 (22:11 +0300)]
psxinterpreter: reduce the use of globals

they induce penalties with -fPIC

2 years agoeasier logging of unhandled stuff
notaz [Thu, 8 Sep 2022 17:09:04 +0000 (20:09 +0300)]
easier logging of unhandled stuff

2 years agocdrom: partially emulate the fifo
notaz [Thu, 8 Sep 2022 18:13:25 +0000 (21:13 +0300)]
cdrom: partially emulate the fifo

2 years agodma: try more accurate timings
notaz [Thu, 8 Sep 2022 15:17:06 +0000 (18:17 +0300)]
dma: try more accurate timings

seems to help Legend of Mana

2 years agocdrom: get rid of pTransfer
notaz [Thu, 8 Sep 2022 15:01:34 +0000 (18:01 +0300)]
cdrom: get rid of pTransfer

it could easily crash the emu (misbehaving game or even malicious ISO)

2 years agocdrom: don't reschedule irqs
notaz [Tue, 6 Sep 2022 21:47:55 +0000 (00:47 +0300)]
cdrom: don't reschedule irqs

trigger shortly after ack instead, like nocash describes

2 years agocdrom: clean up command handling
notaz [Mon, 5 Sep 2022 20:47:10 +0000 (23:47 +0300)]
cdrom: clean up command handling

2 years agocdrom: try to eliminate playback timing drifting
notaz [Mon, 5 Sep 2022 16:41:52 +0000 (19:41 +0300)]
cdrom: try to eliminate playback timing drifting

2 years agopsxcounters: try to eliminate another source of audio drift
notaz [Tue, 6 Sep 2022 23:09:08 +0000 (02:09 +0300)]
psxcounters: try to eliminate another source of audio drift

2 years agospu: cleanup some irq hacks
notaz [Wed, 7 Sep 2022 23:50:36 +0000 (02:50 +0300)]
spu: cleanup some irq hacks

Note that bIgnoreLoop is still needed or
"Misadventures Of Tron Bonne" may hang after cutscenes.
Before this commit the game will sometimes cut off dialogues.

2 years agospu: sync on xa playback start
notaz [Tue, 6 Sep 2022 15:25:42 +0000 (18:25 +0300)]
spu: sync on xa playback start

this avoids nasty underflows at the start of the stream

2 years agospu: support master volume
notaz [Sun, 4 Sep 2022 23:03:24 +0000 (02:03 +0300)]
spu: support master volume

2 years agospu: rename dwChannelOn to something more suitable
notaz [Sun, 4 Sep 2022 21:40:58 +0000 (00:40 +0300)]
spu: rename dwChannelOn to something more suitable

2 years agospu: remove some strange rounding
notaz [Sun, 4 Sep 2022 21:02:28 +0000 (00:02 +0300)]
spu: remove some strange rounding

Seems wrong.
Also deal with now possible div by 0 in scan_for_irq().

2 years agocdrom: remove confusing comment
notaz [Sat, 3 Sep 2022 15:37:53 +0000 (18:37 +0300)]
cdrom: remove confusing comment

No need for a wall-of-text comment for something as basic as seeking.
It also said "disabling it with `&& false` for now" when there is no
such code here.

2 years agocdrom: remove another hack
notaz [Sat, 3 Sep 2022 15:33:09 +0000 (18:33 +0300)]
cdrom: remove another hack

The hack just makes Worms Pinball unstable, and Crusaders of Might
and Magic no longer seems to need it.

2 years agocdrom: take a minor change from libretro
notaz [Fri, 2 Sep 2022 22:54:28 +0000 (01:54 +0300)]
cdrom: take a minor change from libretro

2 years agocdrom: get rid of cdrPlayInterrupt
notaz [Fri, 2 Sep 2022 20:13:44 +0000 (23:13 +0300)]
cdrom: get rid of cdrPlayInterrupt

unify with cdrReadInterrupt and name it cdrPlaySeekReadInterrupt

... althoug these are not actually interrupts, more like events,
but keep this weird PCSX's naming convention

2 years agocdrom: try to clean up the seeking mess
notaz [Thu, 1 Sep 2022 21:47:56 +0000 (00:47 +0300)]
cdrom: try to clean up the seeking mess

regressions are likely (this is cdrom code - pcsx's weak spot),
so feel free to revert if I'm not responsive

2 years agocdrom: should use the last Setloc loc and SeekL
notaz [Wed, 31 Aug 2022 23:09:49 +0000 (02:09 +0300)]
cdrom: should use the last Setloc loc and SeekL

notaz/pcsx_rearmed#253

2 years agocdrom: some debugging aid
notaz [Wed, 31 Aug 2022 23:02:21 +0000 (02:02 +0300)]
cdrom: some debugging aid

2 years agoplugins: try to untangle the CALLBACK mess
notaz [Mon, 29 Aug 2022 23:58:32 +0000 (02:58 +0300)]
plugins: try to untangle the CALLBACK mess

on ARM it doesn't matter so calling conventions were never maintained,
so just get rid of __stdcall

2 years agospu: get rid of iXAPitch
notaz [Tue, 30 Aug 2022 00:00:51 +0000 (03:00 +0300)]
spu: get rid of iXAPitch

it makes no sense after SPU was fully synced to the core, and now it
just pulls unwanted windows.h dependency on win32.

2 years agomisc: get rid of an unaligned read
notaz [Sun, 28 Aug 2022 20:51:40 +0000 (23:51 +0300)]
misc: get rid of an unaligned read

96c6ec7055ecef55b3dd221c86b796512bf52107 introduced an unaligned read
which is undefined behavior in C, even if most hardware allows it
(but some very old ARMs don't). Perf. doesn't matter here so read
byte-by-byte.

notaz/pcsx_rearmed#261

2 years agogpu_neon: fix another abi violation
notaz [Sat, 13 Aug 2022 21:07:11 +0000 (00:07 +0300)]
gpu_neon: fix another abi violation

before the flush_render_block_buffer call the stack is misaligned,
so push an odd num of regs to realign

2 years agogpu_neon: fix wrong block counting
notaz [Sat, 13 Aug 2022 21:05:07 +0000 (00:05 +0300)]
gpu_neon: fix wrong block counting