pcsx_rearmed.git
2 years agogit subrepo pull --force deps/lightrec
Paul Cercueil [Fri, 8 Apr 2022 17:41:22 +0000 (18:41 +0100)]
git subrepo pull --force deps/lightrec

subrepo:
  subdir:   "deps/lightrec"
  merged:   "ce40f838"
upstream:
  origin:   "https://github.com/pcercuei/lightrec.git"
  branch:   "master"
  commit:   "ce40f838"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

2 years agogit subrepo pull --force deps/lightning
Paul Cercueil [Fri, 8 Apr 2022 17:40:26 +0000 (18:40 +0100)]
git subrepo pull --force deps/lightning

subrepo:
  subdir:   "deps/lightning"
  merged:   "ac905ceb"
upstream:
  origin:   "https://github.com/pcercuei/gnu_lightning.git"
  branch:   "pcsx_rearmed"
  commit:   "ac905ceb"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

2 years agolightning: Update to my own repository
Paul Cercueil [Fri, 8 Apr 2022 17:36:50 +0000 (18:36 +0100)]
lightning: Update to my own repository

The maintainer of GNU Lightning seems MIA, and therefore it is
currently impossible to contribute to the upstream project.

Until the situation improves, switch to my own repository, in which I
will be able to include patches that benefit this core.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
2 years agodrc: prevent people from using lightrec on arm
notaz [Tue, 5 Apr 2022 21:47:25 +0000 (00:47 +0300)]
drc: prevent people from using lightrec on arm

Can specify ALLOW_LIGHTREC_ON_ARM=1 if you want it that much.

2 years agoMerge pull request #638 from CometHunter92/fix_menu_skip
Autechre [Fri, 1 Apr 2022 14:24:51 +0000 (15:24 +0100)]
Merge pull request #638 from CometHunter92/fix_menu_skip

fixes and cleaning

2 years agoUpdate libretro_core_options.h
CometHunter92 [Fri, 1 Apr 2022 14:23:36 +0000 (16:23 +0200)]
Update libretro_core_options.h

2 years agofixes core options getting crazy if coming from a previous core version
CometHunter92 [Fri, 1 Apr 2022 13:56:00 +0000 (15:56 +0200)]
fixes core options getting crazy if coming from a previous core version

2 years agoMerge pull request #637 from jSTE0/itempo-fix
Autechre [Wed, 30 Mar 2022 15:08:05 +0000 (16:08 +0100)]
Merge pull request #637 from jSTE0/itempo-fix

frontend: Disable iTempo

2 years agofrontend: Disable iTempo
jSTE0 [Tue, 29 Mar 2022 21:13:32 +0000 (22:13 +0100)]
frontend: Disable iTempo

Leave iTempo set to 0 on all libbretro platforms. This fixes the build
failure for Miyoo. Also results in iTempo being 0 for Raspberry Pi 1,
which is faster than the Miyoo but slower than the new 3DS.

2 years agoMerge pull request #636 from neonloop/autoframeskip_updates
Autechre [Tue, 29 Mar 2022 15:51:49 +0000 (16:51 +0100)]
Merge pull request #636 from neonloop/autoframeskip_updates

Updates auto-frameskip

2 years agoUpdates auto-frameskip
neonloop [Tue, 29 Mar 2022 15:12:07 +0000 (15:12 +0000)]
Updates auto-frameskip

Follows newer frameskip code from snes9x2002 and fixes fixed_interval
frameskip when audio driver doesn't support buffer monitoring.

Also disables iTempo for Miyoo builds, this setting only has correct
effect in standalone and generates too much audio every frame in
RetroArch.

2 years agoMerge pull request #634 from libretro/revert-633-revert-631-autoframeskip
Autechre [Mon, 28 Mar 2022 15:16:14 +0000 (16:16 +0100)]
Merge pull request #634 from libretro/revert-633-revert-631-autoframeskip

Revert "Revert "Adds auto frameskip based on free audio buffer space""

2 years agoRevert "Revert "Adds auto frameskip based on free audio buffer space""
Autechre [Mon, 28 Mar 2022 15:16:03 +0000 (17:16 +0200)]
Revert "Revert "Adds auto frameskip based on free audio buffer space""

2 years agoMerge pull request #633 from libretro/revert-631-autoframeskip
Autechre [Sun, 27 Mar 2022 06:07:27 +0000 (07:07 +0100)]
Merge pull request #633 from libretro/revert-631-autoframeskip

Revert "Adds auto frameskip based on free audio buffer space"

2 years agoRevert "Adds auto frameskip based on free audio buffer space"
Autechre [Sun, 27 Mar 2022 06:07:17 +0000 (07:07 +0100)]
Revert "Adds auto frameskip based on free audio buffer space"

2 years agoMerge pull request #631 from neonloop/autoframeskip
Autechre [Wed, 23 Mar 2022 21:04:15 +0000 (22:04 +0100)]
Merge pull request #631 from neonloop/autoframeskip

Adds auto frameskip based on free audio buffer space

2 years agoMerge pull request #630 from jSTE0/fix-spu-defaults
Autechre [Wed, 23 Mar 2022 17:20:03 +0000 (18:20 +0100)]
Merge pull request #630 from jSTE0/fix-spu-defaults

Fix SPU defaults for pre-ARMv7 CPUs

2 years agoAdds auto frameskip based on free audio buffer space
neonloop [Wed, 23 Mar 2022 06:20:38 +0000 (06:20 +0000)]
Adds auto frameskip based on free audio buffer space

The change uses same style as other cores with auto frameskip. PSX
doesn't always render every frame, so skipped frames that wouldn't have
been rendered aren't used for frameskip limit.

2 years agoFix SPU defaults for pre-ARMv7 CPUs
jSTE0 [Mon, 21 Mar 2022 21:56:41 +0000 (21:56 +0000)]
Fix SPU defaults for pre-ARMv7 CPUs

Disable reverb and interpolation for pre-ARMv7 CPUs to match
emu_set_default_config(). Affects the ARMv5TEJ Miyoo and ARMv6 3DS and
Raspberry Pi 1.

2 years agoMerge pull request #629 from jSTE0/miyoo-platform
Autechre [Sat, 19 Mar 2022 18:53:38 +0000 (19:53 +0100)]
Merge pull request #629 from jSTE0/miyoo-platform

platforms: Add Miyoo target

2 years agoplatforms: Add Miyoo target
jSTE0 [Sat, 19 Mar 2022 18:25:39 +0000 (18:25 +0000)]
platforms: Add Miyoo target

Build for Miyoo which has the same ARM926EJ-S CPU as the Wiz/Caanoo
platforms so use similar build flags.
Enable hi-res downscaling by default for the UNAI GPU renderer to scale
to the device's 320x240 screen.

2 years agocdriso: handle chd subchannels, when available
notaz [Sun, 13 Mar 2022 21:40:48 +0000 (23:40 +0200)]
cdriso: handle chd subchannels, when available

libretro/pcsx_rearmed#535
only raw mode tested

2 years agodrc: fix some wrong inv address calculations
notaz [Tue, 1 Mar 2022 22:49:11 +0000 (00:49 +0200)]
drc: fix some wrong inv address calculations

Fixes: 882a08fc49541450bc403b2e920e4bccc257dfdf
notaz/pcsx_rearmed#243

2 years agounbreak nodynarec build
notaz [Sat, 26 Feb 2022 23:54:39 +0000 (01:54 +0200)]
unbreak nodynarec build

oops

2 years agodrc: try to avoid some block trapping
notaz [Sat, 26 Feb 2022 22:10:57 +0000 (00:10 +0200)]
drc: try to avoid some block trapping

2 years agodrc: rework jump_out lists
notaz [Thu, 24 Feb 2022 21:28:11 +0000 (23:28 +0200)]
drc: rework jump_out lists

should waste less memory for malloc overheads

2 years agodrc: rework expire code
notaz [Wed, 23 Feb 2022 23:08:35 +0000 (01:08 +0200)]
drc: rework expire code

Should be quite a bit simpler now, and no longer wastes ~4MB of
translation cache for aggressive block expiring. However more stuff
in cache means longer lists which may slow things down if
recompilation is happening nonstop, so further tuning might be needed.

2 years agodrc: more precise invalidation checking for the invstub case
notaz [Tue, 22 Feb 2022 22:26:51 +0000 (00:26 +0200)]
drc: more precise invalidation checking for the invstub case

2 years agodrc: rework block tracking
notaz [Mon, 21 Feb 2022 23:23:09 +0000 (01:23 +0200)]
drc: rework block tracking

Mostly to remove that horrible generated code parsing.
Also seems to generate less code now.

2 years agodrc: get rid of SPAN
notaz [Sat, 19 Feb 2022 22:46:51 +0000 (00:46 +0200)]
drc: get rid of SPAN

Should have done it 10 years ago, it's a huge maintenance burden for
something than almost never happens.

2 years agodrc: restore all block entry points at once
notaz [Sat, 19 Feb 2022 22:11:52 +0000 (00:11 +0200)]
drc: restore all block entry points at once

and add some stats

2 years agodrc: don't delay block restoration
notaz [Sat, 19 Feb 2022 19:37:23 +0000 (21:37 +0200)]
drc: don't delay block restoration

Not sure why it was done the way it was (maybe something N64 related?),
but it occasionally caused dyna_linker to repeatedly walk the jump_in
list. What's worse, if the dirty block was deemed to expire soon,
it would never be restored and dyna_linker repeated jump_in walking
would never end, causing severe slowdown.

2 years agoMerge pull request #619 from pcercuei/update-lightrec-20220224
Autechre [Fri, 25 Feb 2022 19:57:01 +0000 (20:57 +0100)]
Merge pull request #619 from pcercuei/update-lightrec-20220224

Update to latest Lightrec

2 years agogit subrepo pull --force deps/lightrec
Paul Cercueil [Thu, 24 Feb 2022 22:29:21 +0000 (22:29 +0000)]
git subrepo pull --force deps/lightrec

subrepo:
  subdir:   "deps/lightrec"
  merged:   "747da9c5"
upstream:
  origin:   "https://github.com/pcercuei/lightrec.git"
  branch:   "master"
  commit:   "747da9c5"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

2 years agoMerge pull request #618 from pcercuei/update-lightrec-20220224
Autechre [Thu, 24 Feb 2022 20:20:18 +0000 (21:20 +0100)]
Merge pull request #618 from pcercuei/update-lightrec-20220224

Attempt to fix CI build issues, try #2

2 years agoWin32: Add symlink to fake <sys/mman.h>
Paul Cercueil [Thu, 24 Feb 2022 18:52:21 +0000 (18:52 +0000)]
Win32: Add symlink to fake <sys/mman.h>

Add a symlink from include/mman/sys/mman.h to deps/mman/mman.h.

Then, Lightning can be tricked into using our mman.h without having to
modify the external mman-win32 repo.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
2 years agoAndroid.mk: Add missing include paths
Paul Cercueil [Thu, 24 Feb 2022 18:43:35 +0000 (18:43 +0000)]
Android.mk: Add missing include paths

Add the missing include paths for <lightrec-config.h> and <lightning.h>.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
2 years agogit subrepo pull --force deps/lightrec
Paul Cercueil [Thu, 24 Feb 2022 18:47:59 +0000 (18:47 +0000)]
git subrepo pull --force deps/lightrec

subrepo:
  subdir:   "deps/lightrec"
  merged:   "d3329782"
upstream:
  origin:   "https://github.com/pcercuei/lightrec.git"
  branch:   "master"
  commit:   "d3329782"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

2 years agoMerge pull request #616 from pcercuei/update-lightrec-20220222
Autechre [Thu, 24 Feb 2022 13:48:57 +0000 (14:48 +0100)]
Merge pull request #616 from pcercuei/update-lightrec-20220222

Add missing lightning.h include file

2 years agoAdd missing lightning.h include file
Paul Cercueil [Tue, 22 Feb 2022 20:46:56 +0000 (20:46 +0000)]
Add missing lightning.h include file

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
2 years agoMerge pull request #615 from pcercuei/update-lightrec-20220220
Autechre [Tue, 22 Feb 2022 07:21:06 +0000 (08:21 +0100)]
Merge pull request #615 from pcercuei/update-lightrec-20220220

Update Lightning/Lightrec to the latest upstream version

2 years agolightrec: Update to latest Lightrec API
Paul Cercueil [Sat, 19 Feb 2022 21:30:21 +0000 (21:30 +0000)]
lightrec: Update to latest Lightrec API

Update the glue code to use the API of the latest Lightrec.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
2 years agolightrec: Add custom lightrec-config.h
Paul Cercueil [Sat, 19 Feb 2022 22:02:50 +0000 (22:02 +0000)]
lightrec: Add custom lightrec-config.h

Add our own lightrec-config.h outside the deps/lightrec/ tree, so that
it won't be removed when the subrepo is updated.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
2 years agogit subrepo pull --force deps/lightrec
Paul Cercueil [Sun, 20 Feb 2022 00:16:48 +0000 (00:16 +0000)]
git subrepo pull --force deps/lightrec

subrepo:
  subdir:   "deps/lightrec"
  merged:   "d90de684"
upstream:
  origin:   "https://github.com/pcercuei/lightrec.git"
  branch:   "master"
  commit:   "d90de684"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

2 years agogit subrepo pull --force deps/lightning
Paul Cercueil [Sat, 19 Feb 2022 23:20:12 +0000 (23:20 +0000)]
git subrepo pull --force deps/lightning

subrepo:
  subdir:   "deps/lightning"
  merged:   "876c1043"
upstream:
  origin:   "https://git.savannah.gnu.org/git/lightning.git"
  branch:   "master"
  commit:   "876c1043"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

2 years agoFix GTE directly referencing psxRegs
Paul Cercueil [Sun, 20 Feb 2022 00:15:43 +0000 (00:15 +0000)]
Fix GTE directly referencing psxRegs

It should reference the 'regs' function argument instead.

This makes it possible to use the latest Lightrec code with its new API,
which has internal CP2 registers, without having to copy the registers
back and forth between the internal ones and the psxRegs ones.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
2 years agoRevert "clear Index0 data FIFO flag (#241)"
notaz [Thu, 17 Feb 2022 00:16:47 +0000 (02:16 +0200)]
Revert "clear Index0 data FIFO flag (#241)"

This reverts commit 657d601ffa80d8f1f034c44d0aaf84010fa36e5f.
It broke Driver 2 (#612).

2 years agodrc: try not to end the block prematurely
notaz [Tue, 15 Feb 2022 23:20:31 +0000 (01:20 +0200)]
drc: try not to end the block prematurely

Fixes: 4919de1e88095f00466f6674323d518fc520b0db

(was not really broken, only load delay detection can't work with
blocks that are too small)

2 years agopsxinterpreter: unbreak load delay handling
notaz [Tue, 15 Feb 2022 21:17:42 +0000 (23:17 +0200)]
psxinterpreter: unbreak load delay handling

Fixes: 943a507a4156b8f5b00e4431152e41eeb4dc6f3d

2 years agodrc: add a clock override for Super Robot Taisen Alpha
notaz [Sat, 12 Feb 2022 20:58:23 +0000 (22:58 +0200)]
drc: add a clock override for Super Robot Taisen Alpha

libretro/pcsx_rearmed#610

2 years agorevive standalone build
notaz [Fri, 11 Feb 2022 20:55:07 +0000 (22:55 +0200)]
revive standalone build

Otherwise it's hard to figure out what's wrong when upstream works
but libretro fork doesn't for some game.

The submodule is not needed for libretro build and should do no harm
(maybe?).

2 years agodrc: try to make some passes not as slow, part 2
notaz [Sun, 6 Feb 2022 23:41:12 +0000 (01:41 +0200)]
drc: try to make some passes not as slow, part 2

2 years agodrc: put passes in their own functions
notaz [Sun, 6 Feb 2022 20:38:54 +0000 (22:38 +0200)]
drc: put passes in their own functions

mostly for profiling

2 years agodrc: try to make some passes not as slow
notaz [Sat, 5 Feb 2022 22:10:18 +0000 (00:10 +0200)]
drc: try to make some passes not as slow

2 years agodrc: use optimized get_reg
notaz [Thu, 3 Feb 2022 00:04:52 +0000 (02:04 +0200)]
drc: use optimized get_reg

arm32-only for now

2 years agodrc: rm unneeded &63 masking
notaz [Wed, 2 Feb 2022 21:40:48 +0000 (23:40 +0200)]
drc: rm unneeded &63 masking

64bit leftover

2 years agoclear Index0 data FIFO flag (#241)
gameblabla [Mon, 7 Feb 2022 19:17:34 +0000 (19:17 +0000)]
clear Index0 data FIFO flag (#241)

Merge PCSX Redux fix.
This is what he had to say about it :
"So, this commit works around/fixes two issues with loading unirom.
There's a fix for logging invalid commands which should be pretty straight forward. The other change is around the FIFO flag.
Not really experienced with debugging/verifying this sort of thing so not feeling really confident the change is "right", though every game I've tried so far still seem to work as expected.
There's still something going on with not having an iso mounted that I haven't quite nailed down. Even having the iso mounted with "lid open" gives a bootable result. Feel like I'm going in circles a bit for something that might be an easy fix. Unirom is technically usable via ISO, but the unirom exe freezes if no iso is loaded"

Co-authored-by: johnbaumann <76951440+johnbaumann@users.noreply.github.com>
2 years agoMerge pull request #609 from gameblabla/fixtypocdrom
gameblabla [Fri, 4 Feb 2022 06:05:09 +0000 (06:05 +0000)]
Merge pull request #609 from gameblabla/fixtypocdrom

Fix typo for DOA pause resume fix.

2 years agoFix typo for DOA pause resume fix.
gameblabla [Fri, 4 Feb 2022 06:02:35 +0000 (07:02 +0100)]
Fix typo for DOA pause resume fix.

Ooops, looks like i made a mistake :P

2 years agogpu_neon: fix apparent missing msb setting in blend_blocks_textured_add_fourth
notaz [Mon, 31 Jan 2022 23:50:12 +0000 (01:50 +0200)]
gpu_neon: fix apparent missing msb setting in blend_blocks_textured_add_fourth

The source bit is taken, which also enables semi transparency,
so if we did blending the bit must be set.

2 years agogpu_neon: reserved bpp is 16bpp, not 4bpp
notaz [Mon, 31 Jan 2022 00:07:25 +0000 (02:07 +0200)]
gpu_neon: reserved bpp is 16bpp, not 4bpp

2 years agodrc: don't abort on game crash
notaz [Sun, 30 Jan 2022 16:40:03 +0000 (18:40 +0200)]
drc: don't abort on game crash

Was not the best user experience, with this the user can load
another game at least.

2 years agodrc: add apparently missing ROREG loading
notaz [Sat, 29 Jan 2022 23:39:40 +0000 (01:39 +0200)]
drc: add apparently missing ROREG loading

sjump_assemble had different loading for taken/not taken cases for
whatever reason, and I added ROREG loading according to INVCP, which
was (maybe?) erroneously missing for 'not taken' case. Fixes CTR crash
shortly after starting driving.

2 years agodrc: some more debug logging
notaz [Sat, 29 Jan 2022 23:37:45 +0000 (01:37 +0200)]
drc: some more debug logging

2 years agoMerge pull request #598 from pcercuei/lightrec_events
notaz [Sat, 29 Jan 2022 23:50:49 +0000 (01:50 +0200)]
Merge pull request #598 from pcercuei/lightrec_events

Unlock Lightrec to its full potential

2 years agolightrec: Run dynarec until next interrupt
Paul Cercueil [Sat, 29 Jan 2022 11:35:07 +0000 (11:35 +0000)]
lightrec: Run dynarec until next interrupt

Instead of running the dynarec once per block, which creates a huge
overhead as entering/exiting the dynarec isn't very fast, run only the
number of cycles until the next interrupt.

This boosts performance by a huge margin. On my PC, running the intro
video in MediEvil goes from using 34-36% CPU usage down to 16-17%.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Co-developed-by: notaz <notasas@gmail.com>
Signed-off-by: notaz <notasas@gmail.com>
2 years agodrc: add seemingly missing double-alloc check
notaz [Thu, 27 Jan 2022 23:09:44 +0000 (01:09 +0200)]
drc: add seemingly missing double-alloc check

seems like it was possible to alloc the same reg on 2 host regs

edit: found after all the debugging: mupen64plus/mupen64plus-core@8f4cc2bdc93c41801077abda3197a3cb3b89cbb7

2 years agodrc: clear dirty flag when deallocating a reg
notaz [Thu, 27 Jan 2022 22:02:09 +0000 (00:02 +0200)]
drc: clear dirty flag when deallocating a reg

In later stages it may place special regs like AGEN there, and things
like AGEN being marked dirty seemed wrong, although probably harmless
as there is no code to writeback AGEN.

2 years agodrc: init some variables, adjust comments
notaz [Thu, 27 Jan 2022 21:54:42 +0000 (23:54 +0200)]
drc: init some variables, adjust comments

no proof that is actually needed, but it felt like some path could
pick up something uninitialized

2 years agodrc: emulate break opcode
notaz [Wed, 26 Jan 2022 20:09:22 +0000 (22:09 +0200)]
drc: emulate break opcode

sort-of-but-not-really used by "F1 2000"
(SLUS01120, not "Formula One 2000").

2 years agodrc: don't cache psxRegs.interrupt
notaz [Wed, 26 Jan 2022 20:02:18 +0000 (22:02 +0200)]
drc: don't cache psxRegs.interrupt

cdrom code can now cancel interrupts, so must always use the global

2 years agolightrec: Factorize memhandler state restore into a single function
Paul Cercueil [Mon, 24 Jan 2022 23:43:10 +0000 (23:43 +0000)]
lightrec: Factorize memhandler state restore into a single function

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
2 years agodrc: another hack to try to get Vita to work
notaz [Mon, 24 Jan 2022 18:49:04 +0000 (20:49 +0200)]
drc: another hack to try to get Vita to work

2 years agodrc: a bit more sophisticated f1 hack
notaz [Sun, 23 Jan 2022 23:49:45 +0000 (01:49 +0200)]
drc: a bit more sophisticated f1 hack

yes it sucks, I know...

2 years agoalways describe to get git hash in log messages
notaz [Sun, 23 Jan 2022 20:57:06 +0000 (22:57 +0200)]
always describe to get git hash in log messages

2 years agovita: add a seemingly missing include
notaz [Sun, 23 Jan 2022 14:19:38 +0000 (16:19 +0200)]
vita: add a seemingly missing include

2 years agodrc: possibly the missing piece for Vita
notaz [Sun, 23 Jan 2022 14:14:39 +0000 (16:14 +0200)]
drc: possibly the missing piece for Vita

Lost during merge of dynarec fixes.
_newlib_vm_size_user might be the critical bit that overrides
a weak symbol in bootstrap/vita/sbrk.c

2 years agodrc: align size passed to mprotect
notaz [Sat, 22 Jan 2022 23:24:36 +0000 (01:24 +0200)]
drc: align size passed to mprotect

Maybe this makes svcControlProcessMemory() not do it's work there?
It doesn't seem to be failing though.

2 years agospu: try to eliminate some cdda clicks/pops
notaz [Sat, 22 Jan 2022 20:25:05 +0000 (22:25 +0200)]
spu: try to eliminate some cdda clicks/pops

cdda feeds less data than consumes due to poor timings,
especially for PAL

2 years agospu: save/restore decode_pos
notaz [Sat, 22 Jan 2022 20:20:42 +0000 (22:20 +0200)]
spu: save/restore decode_pos

SPUOSSFreeze_t conveniently had padding space for it

2 years agocdrom: play cdda regardless of report mode
notaz [Sat, 22 Jan 2022 20:15:54 +0000 (22:15 +0200)]
cdrom: play cdda regardless of report mode

Vib-Ribbon doesn't use it while playing.

2 years agoMerge pull request #587 from notaz/libretro_drc_fixes2
Autechre [Tue, 21 Dec 2021 20:10:18 +0000 (21:10 +0100)]
Merge pull request #587 from notaz/libretro_drc_fixes2

Libretro drc fixes2

2 years agolibretro: bump version for dynarec fixes
notaz [Tue, 14 Dec 2021 22:25:08 +0000 (00:25 +0200)]
libretro: bump version for dynarec fixes

... and let 'l' show that it's libretro fork build and not upstream

2 years agodrc: always clear full decoded_insn
notaz [Tue, 14 Dec 2021 22:04:11 +0000 (00:04 +0200)]
drc: always clear full decoded_insn

Some stuff was left after INTCALL conversion and broke branch in delay
slot handling, like in Rayman 2.

2 years agominor cleanup
notaz [Tue, 14 Dec 2021 19:10:58 +0000 (21:10 +0200)]
minor cleanup

2 years agofix some issues and warnings seen on ctr build
notaz [Tue, 14 Dec 2021 19:09:45 +0000 (21:09 +0200)]
fix some issues and warnings seen on ctr build

2 years agodrc: reapply some libretro changes
notaz [Tue, 14 Dec 2021 19:03:25 +0000 (21:03 +0200)]
drc: reapply some libretro changes

2 years agoMerge pull request #586 from notaz/libretro_overwrite_drc
Autechre [Tue, 14 Dec 2021 12:41:28 +0000 (13:41 +0100)]
Merge pull request #586 from notaz/libretro_overwrite_drc

overwrite dynarec related code with upstream version

2 years agooverwrite dynarec related code with upstream version
notaz [Mon, 13 Dec 2021 23:14:23 +0000 (01:14 +0200)]
overwrite dynarec related code with upstream version

This gives a fast arm64 dynarec and many other ari64 dynarec fixes
from upstream. Although I tried to take care not to overwrite libretro
specific changes like lightrec, some things may have got lost or
broken. Only tested on rpi4 in 64bit mode.

Warning: untested on Android and most other platforms. If there are
issues from this merge, post a comment and tag me and I'll try to take
a look at it while I'm still active, at least for the time being.

2 years agoMerge pull request #579 from gameblabla/pio_writes_sen_lib
gameblabla [Wed, 10 Nov 2021 19:28:45 +0000 (19:28 +0000)]
Merge pull request #579 from gameblabla/pio_writes_sen_lib

psxmem: Writes to PIO Expansion area have no effect.

2 years agopsxmem: Writes to PIO Expansion area have no effect.
gameblabla [Wed, 10 Nov 2021 19:27:06 +0000 (20:27 +0100)]
psxmem: Writes to PIO Expansion area have no effect.

This is related to the Tetris with Card Captor fix a while back.
However, i forgot to merge this one as well related to writes,
even though it was not really necessary to fix that particular game.

Co-authored-by: senquack <dansilsby@gmail.com>
2 years agoMerge pull request #578 from gameblabla/counters_lib
gameblabla [Wed, 10 Nov 2021 19:25:15 +0000 (19:25 +0000)]
Merge pull request #578 from gameblabla/counters_lib

One more on odd lines for PAL HSYNC

2 years agoOne more on odd lines for PAL HSYNC
gameblabla [Wed, 10 Nov 2021 19:23:55 +0000 (20:23 +0100)]
One more on odd lines for PAL HSYNC

As done by Duckstation
https://github.com/stenzek/duckstation/blob/bbcf1c67d1aefd5de9cdc9c158f92bc7aaecaa63/src/core/gpu.h#L56

2 years agoMerge pull request #576 from gameblabla/cdrom_regression_remove
gameblabla [Wed, 10 Nov 2021 19:20:17 +0000 (19:20 +0000)]
Merge pull request #576 from gameblabla/cdrom_regression_remove

Remove CdlGetLocP hack

2 years agoMerge pull request #577 from gameblabla/cdrom_setloc_lib
gameblabla [Wed, 10 Nov 2021 19:20:10 +0000 (19:20 +0000)]
Merge pull request #577 from gameblabla/cdrom_setloc_lib

Move CdlSetLoc to CdrInterrupt and return invalid arg error

2 years agoMove CdlSetLoc to CdrInterrupt and return invalid arg error
gameblabla [Wed, 10 Nov 2021 19:16:02 +0000 (20:16 +0100)]
Move CdlSetLoc to CdrInterrupt and return invalid arg error

So far, i could only find Simple 1500 Series Vol. 31 - The Sound Novel to be affected by this.
In Duckstation, this was causing extra delays without it.
However in our case, this doesn't seem to be the case and i couldn't find much find about it.

2 years agoRemove CdlGetLocP hack
gameblabla [Wed, 10 Nov 2021 19:05:09 +0000 (20:05 +0100)]
Remove CdlGetLocP hack

This was added back in 2013 or so in PCSX Rearmed
and according to some tests against Tomb Raider 1 (which is affected by the GetLocP code),
it works properly without this hack.

So let's just remove it as we are now doing it properly.

Notaz also forgot the reason why he introduced the hack
in the first place, see :
https://github.com/notaz/pcsx_rearmed/pull/235#issuecomment-955026232

2 years agoMerge pull request #574 from rtissera/rpi3_64
Autechre [Tue, 2 Nov 2021 10:35:59 +0000 (11:35 +0100)]
Merge pull request #574 from rtissera/rpi3_64

Add Raspberry Pi 3 64-bit target

2 years agoAdd Raspberry Pi 3 64-bit target
Romain TISSERAND [Tue, 2 Nov 2021 09:55:17 +0000 (10:55 +0100)]
Add Raspberry Pi 3 64-bit target

2 years agoMerge pull request #569 from gameblabla/gte_stalling_libretro
gameblabla [Sat, 23 Oct 2021 22:15:27 +0000 (22:15 +0000)]
Merge pull request #569 from gameblabla/gte_stalling_libretro

GTE stalls/timings