pcsx_rearmed.git
4 years agoMerge pull request #415 from negativeExponent/core_option_cleanup
hizzlekizzle [Sun, 10 May 2020 18:41:14 +0000 (13:41 -0500)]
Merge pull request #415 from negativeExponent/core_option_cleanup

Core option cleanup

4 years agoMore core option fixes
negativeExponent [Sun, 10 May 2020 06:38:56 +0000 (14:38 +0800)]
More core option fixes

- This PR fixes core options and moves them to the related dynarec modes where they are implemented.

LIGHTREC = relates to platforms that supports the new Lightrec mode
NEW_DYNAREC = relates to previous dynarec implementation that is still used for some 32bit devices

- Dynarec Recompiler core option, both dynarec implementation can be enabled or disabled

4 years agoUpdate .gitignore
negativeExponent [Sun, 10 May 2020 02:50:22 +0000 (10:50 +0800)]
Update .gitignore

4 years agoMerge pull request #414 from negativeExponent/libretro
hizzlekizzle [Thu, 7 May 2020 22:39:07 +0000 (17:39 -0500)]
Merge pull request #414 from negativeExponent/libretro

core options fixup

4 years agoMove guncon options to update_variables
negativeExponent [Thu, 7 May 2020 17:44:24 +0000 (01:44 +0800)]
Move guncon options to update_variables

- This should stop unnecessary RETRO_ENVIRONMENT_GET_VARIABLE callback and log spamming

4 years agoFixup update_variables
negativeExponent [Thu, 7 May 2020 17:11:18 +0000 (01:11 +0800)]
Fixup update_variables

4 years agoMerge pull request #413 from negativeExponent/libretro
hizzlekizzle [Thu, 7 May 2020 14:24:19 +0000 (09:24 -0500)]
Merge pull request #413 from negativeExponent/libretro

Fix some edge case where core can freeze upon loading content

4 years agoFix some edge case where core can freeze upon loading content
negativeExponent [Thu, 7 May 2020 10:54:56 +0000 (18:54 +0800)]
Fix some edge case where core can freeze upon loading content

- Core sometime freeze while loading content during the loading of the core options. Moving update_variables() from retro_init to retro_load_game() fixes the problem, on my case at least.
- Also apply fix as suggested in this issue page: https://github.com/libretro/pcsx_rearmed/issues/373

4 years agoMerge pull request #411 from Exalm/wip/exalm/oops
Autechre [Sat, 2 May 2020 20:39:37 +0000 (22:39 +0200)]
Merge pull request #411 from Exalm/wip/exalm/oops

Automatically disable lightrec when no bios is present, take 2

4 years agoAutomatically disable lightrec when no bios is present, take 2
Alexander Mikhaylenko [Thu, 30 Apr 2020 11:15:08 +0000 (16:15 +0500)]
Automatically disable lightrec when no bios is present, take 2

Make sure to only do it with lightrec and not ARM dynarec.

4 years agoRevert "Automatically disable lightrec when no bios is present"
twinaphex [Tue, 28 Apr 2020 16:29:33 +0000 (18:29 +0200)]
Revert "Automatically disable lightrec when no bios is present"

This reverts commit cf98d473a9ddaa6a77bed1cb5af706a4cd50b8b0.

4 years agoMerge pull request #160 from J-O-N/fix-neon-cspace-upstream
notaz [Mon, 27 Apr 2020 17:37:45 +0000 (20:37 +0300)]
Merge pull request #160 from J-O-N/fix-neon-cspace-upstream

Fixed bug where MSB of a 15-bit BGR color could corrupt green value.

4 years agoMerge pull request #407 from Exalm/wip/exalm/lightrec
hizzlekizzle [Mon, 27 Apr 2020 00:41:16 +0000 (19:41 -0500)]
Merge pull request #407 from Exalm/wip/exalm/lightrec

Automatically disable lightrec when no bios is present

4 years agoMerge pull request #406 from cmitu/cdimage-async-patch
hizzlekizzle [Sun, 26 Apr 2020 21:10:42 +0000 (16:10 -0500)]
Merge pull request #406 from cmitu/cdimage-async-patch

cdriso: fix a disk switching deadlock when closing a CD image

4 years agoFixed bug where MSB of a 15-bit BGR color could corrupt green value. Also added docum...
J-O-N [Sun, 26 Apr 2020 04:35:54 +0000 (00:35 -0400)]
Fixed bug where MSB of a 15-bit BGR color could corrupt green value. Also added documentation.

4 years agoMerge pull request #405 from J-O-N/fix-neon-cspace
hizzlekizzle [Sun, 26 Apr 2020 19:11:43 +0000 (14:11 -0500)]
Merge pull request #405 from J-O-N/fix-neon-cspace

neon: Fixed bug where MSB of a 15-bit BGR color could corrupt green value.

4 years agoAutomatically disable lightrec when no bios is present
Alexander Mikhaylenko [Sun, 26 Apr 2020 16:34:20 +0000 (21:34 +0500)]
Automatically disable lightrec when no bios is present

Fixes https://github.com/libretro/pcsx_rearmed/issues/404

4 years agocdriso: fix a disk switching deadlock
cmitu [Sun, 26 Apr 2020 12:20:14 +0000 (15:20 +0300)]
cdriso: fix a disk switching deadlock

4 years agoFixed bug where MSB of a 15-bit BGR color could corrupt green value. Also added docum...
J-O-N [Sun, 26 Apr 2020 04:35:54 +0000 (00:35 -0400)]
Fixed bug where MSB of a 15-bit BGR color could corrupt green value. Also added documentation.

4 years agoMerge pull request #397 from justinweiss/arm-lighting-blending
Autechre [Fri, 24 Apr 2020 18:43:46 +0000 (20:43 +0200)]
Merge pull request #397 from justinweiss/arm-lighting-blending

unai: Add ARM-optimized lighting / blending functions

4 years agoClean up indentation / add comments for assembly functions
Justin Weiss [Sun, 19 Apr 2020 17:18:54 +0000 (10:18 -0700)]
Clean up indentation / add comments for assembly functions

4 years agoMerge pull request #394 from MrHuu/patch-1
Autechre [Tue, 17 Mar 2020 05:53:23 +0000 (06:53 +0100)]
Merge pull request #394 from MrHuu/patch-1

(3DS) Disable dithering by default

4 years ago(3DS) Disable dithering by default
MrHuu [Tue, 3 Mar 2020 17:09:12 +0000 (18:09 +0100)]
(3DS) Disable dithering by default

Have dithering disabled by default on 3DS.

4 years agoMerge pull request #391 from justinweiss/async-cd-reads
Twinaphex [Tue, 3 Mar 2020 10:16:59 +0000 (11:16 +0100)]
Merge pull request #391 from justinweiss/async-cd-reads

Add an async CD access method

4 years agoPreserve uSrc MSB across lighting and blending
Justin Weiss [Sun, 1 Mar 2020 23:40:25 +0000 (15:40 -0800)]
Preserve uSrc MSB across lighting and blending

This saves a few cycles because gcc stores / loads srcMSB when
using ARM-optimized lighting.

4 years agoWIP: Add ARM-assembly versions of lighting and blending
Justin Weiss [Fri, 28 Feb 2020 07:42:43 +0000 (23:42 -0800)]
WIP: Add ARM-assembly versions of lighting and blending

4 years agoMerge pull request #392 from justinweiss/ctr-use-floatmath
Twinaphex [Thu, 27 Feb 2020 04:48:54 +0000 (05:48 +0100)]
Merge pull request #392 from justinweiss/ctr-use-floatmath

[3DS] Tweak compile-time options to increase performance

4 years ago[3DS] Tweak compile-time options to increase performance
Justin Weiss [Thu, 27 Feb 2020 01:18:33 +0000 (17:18 -0800)]
[3DS] Tweak compile-time options to increase performance

4 years agoAdd async CD access
Justin Weiss [Sat, 22 Feb 2020 05:17:31 +0000 (21:17 -0800)]
Add async CD access

4 years agoMerge pull request #390 from justinweiss/ctr-fix-dynarec-crashes
Twinaphex [Tue, 25 Feb 2020 04:32:11 +0000 (05:32 +0100)]
Merge pull request #390 from justinweiss/ctr-fix-dynarec-crashes

Fix dynarec crashes on 3DS

4 years agoRevert "(3DS) Set pthread stack size to 12MB - possible solution for crashes"
twinaphex [Tue, 25 Feb 2020 04:05:56 +0000 (05:05 +0100)]
Revert "(3DS) Set pthread stack size to 12MB - possible solution for crashes"

This reverts commit dfcd7153048c2f6d479dfcd328ee2c0e1e0784ed.

4 years agoFix dynarec crashes on 3DS
Justin Weiss [Tue, 25 Feb 2020 01:47:14 +0000 (17:47 -0800)]
Fix dynarec crashes on 3DS

After the dynarec writes new instructions, it has to flush the
instruction and data caches. Some of these flush operations are
privileged on the 3DS, so the clear cache functions have to run
through svcBackdoor. The Nintendo implementation (and CFW
reimplementation) of svcBackdoor has a problem where interrupts and
context switches will cause crashes.

Even though we can disable interrupts in the flush function, there's
still a window of time between svcBackdoor being called and the
function being run where an interrupt will corrupt the stack.

Luma3DS implemements a svcCustomBackdoor call we can use that also
runs a function in supervisor mode, but uses an implementation that
avoids this problem.

4 years agoMerge pull request #389 from notaz/master
Twinaphex [Mon, 24 Feb 2020 18:39:44 +0000 (19:39 +0100)]
Merge pull request #389 from notaz/master

Merge upstream changes

4 years agoMerge pull request #388 from ZachCook/master
Twinaphex [Fri, 21 Feb 2020 18:46:05 +0000 (19:46 +0100)]
Merge pull request #388 from ZachCook/master

Fix second instance runahead without breaking reset

4 years agoFix second instance runahead without breaking reset
Zachary Cook [Fri, 21 Feb 2020 01:17:27 +0000 (20:17 -0500)]
Fix second instance runahead without breaking reset

4 years agoRevert "Use a more lightweight reset method for lightrec"
twinaphex [Fri, 21 Feb 2020 00:49:28 +0000 (01:49 +0100)]
Revert "Use a more lightweight reset method for lightrec"

This reverts commit 7070d5c660963aec56e1d667211b4a09a62d400d.

4 years agoMerge pull request #386 from ZachCook/master
Twinaphex [Fri, 21 Feb 2020 00:10:05 +0000 (01:10 +0100)]
Merge pull request #386 from ZachCook/master

Fix second instance runahead

4 years agoUse a more lightweight reset method for lightrec
Zachary Cook [Thu, 20 Feb 2020 03:27:52 +0000 (22:27 -0500)]
Use a more lightweight reset method for lightrec

Reset is common when using runahead, this seems to prevent crashes
when resets occur rapidly.

4 years agoAdd fallback addresses so second instance runahead can work
Zachary Cook [Wed, 19 Feb 2020 04:29:38 +0000 (23:29 -0500)]
Add fallback addresses so second instance runahead can work

Also prefer MAP_FIXED_NOREPLACE over MAP_FIXED, as it won't remove old memory maps

4 years ago(3DS) Set pthread stack size to 12MB - possible solution for crashes
Twinaphex [Sun, 16 Feb 2020 20:19:08 +0000 (21:19 +0100)]
(3DS) Set pthread stack size to 12MB - possible solution for crashes

4 years agoMerge pull request #156 from pcercuei/fix-gte-divide
notaz [Sun, 16 Feb 2020 18:03:39 +0000 (20:03 +0200)]
Merge pull request #156 from pcercuei/fix-gte-divide

Replace existing gte_divider with MAME's version

4 years agoReplace existing gte_divider with MAME's version
Paul Cercueil [Wed, 12 Feb 2020 18:38:16 +0000 (15:38 -0300)]
Replace existing gte_divider with MAME's version

The original code did not have a license header, and as a result was
licensed under the GPLv2 which means that it was impossible to link it
with LGPL code.

The new code originates from MAME and is under a BSD-3-Clause license,
which is GPL-compatible, and also much cleaner.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
4 years agoSilence some unused variable warnings
twinaphex [Wed, 12 Feb 2020 12:10:32 +0000 (13:10 +0100)]
Silence some unused variable warnings

4 years agoTake out this override for OSX
twinaphex [Wed, 12 Feb 2020 11:58:21 +0000 (12:58 +0100)]
Take out this override for OSX

4 years agoBuildfix
twinaphex [Wed, 12 Feb 2020 11:56:04 +0000 (12:56 +0100)]
Buildfix

4 years agogte_neon: fix compile under clang's assembler
notaz [Tue, 11 Feb 2020 23:19:43 +0000 (01:19 +0200)]
gte_neon: fix compile under clang's assembler

4 years agoadd some missing license headers
notaz [Tue, 11 Feb 2020 23:46:45 +0000 (01:46 +0200)]
add some missing license headers

4 years agogte_neon: fix compile under clang's assembler
notaz [Tue, 11 Feb 2020 23:19:43 +0000 (01:19 +0200)]
gte_neon: fix compile under clang's assembler

4 years agoLicense these files as MIT
twinaphex [Sat, 8 Feb 2020 20:40:17 +0000 (21:40 +0100)]
License these files as MIT

4 years agoUpdate Android.mk
Twinaphex [Sun, 9 Feb 2020 16:32:26 +0000 (17:32 +0100)]
Update Android.mk

4 years ago(Android) Aarch64/x86/x64 now has lightrec support
twinaphex [Sun, 9 Feb 2020 13:12:16 +0000 (14:12 +0100)]
(Android) Aarch64/x86/x64 now has lightrec support

4 years agoBuildfix for LLVM
twinaphex [Sun, 9 Feb 2020 11:17:52 +0000 (12:17 +0100)]
Buildfix for LLVM

4 years agoOSX should use lightrec
Twinaphex [Sun, 9 Feb 2020 10:18:38 +0000 (11:18 +0100)]
OSX should use lightrec

4 years agoFix build
Twinaphex [Sun, 9 Feb 2020 10:16:48 +0000 (11:16 +0100)]
Fix build

4 years agoUpdate Makefile.libretro
Twinaphex [Sun, 9 Feb 2020 10:12:18 +0000 (11:12 +0100)]
Update Makefile.libretro

4 years agoUpdate psxmem.c
Twinaphex [Sun, 9 Feb 2020 07:58:45 +0000 (08:58 +0100)]
Update psxmem.c

4 years ago(NEON GPU) Don't hide this for non-ARM
twinaphex [Sat, 8 Feb 2020 22:22:01 +0000 (23:22 +0100)]
(NEON GPU) Don't hide this for non-ARM

4 years agoStart getting NEON GPU to work on non-Arm
twinaphex [Sat, 8 Feb 2020 21:19:13 +0000 (22:19 +0100)]
Start getting NEON GPU to work on non-Arm

4 years agoLicense this MIT - should be compatible with everything
twinaphex [Sat, 8 Feb 2020 20:39:07 +0000 (21:39 +0100)]
License this MIT - should be compatible with everything

4 years agoMerge pull request #381 from negativeExponent/travis_update
Twinaphex [Sat, 8 Feb 2020 20:33:17 +0000 (21:33 +0100)]
Merge pull request #381 from negativeExponent/travis_update

Update .travis.yml

4 years agoMerge pull request #380 from negativeExponent/fix_makefile
Twinaphex [Sat, 8 Feb 2020 20:33:08 +0000 (21:33 +0100)]
Merge pull request #380 from negativeExponent/fix_makefile

Update Makefile.libretro

4 years agomenu: fix a buffer overflow
notaz [Sat, 8 Feb 2020 19:29:08 +0000 (21:29 +0200)]
menu: fix a buffer overflow

Reported by @wwhheerree, closes #152.

4 years agoUpdate .travis.yml
negativeExponent [Sat, 8 Feb 2020 17:21:50 +0000 (01:21 +0800)]
Update .travis.yml

4 years agoUpdate Makefile.libretro
negativeExponent [Sat, 8 Feb 2020 16:25:27 +0000 (00:25 +0800)]
Update Makefile.libretro

4 years agoMerge pull request #378 from pcercuei/libretro
Twinaphex [Sat, 8 Feb 2020 16:25:34 +0000 (17:25 +0100)]
Merge pull request #378 from pcercuei/libretro

Fix Linux build

4 years agoFix Linux build
Paul Cercueil [Sat, 8 Feb 2020 16:00:30 +0000 (13:00 -0300)]
Fix Linux build

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
4 years agoMerge pull request #377 from pcercuei/libretro
Twinaphex [Sat, 8 Feb 2020 15:24:22 +0000 (16:24 +0100)]
Merge pull request #377 from pcercuei/libretro

Lightrec dynarec

4 years agocdrom: add missing BCD->int convert in cdrFreeze()
Daniel Silsby [Tue, 12 Nov 2019 23:48:44 +0000 (18:48 -0500)]
cdrom: add missing BCD->int convert in cdrFreeze()

For some Eboot .PBP game images, when loading a savestate, a zlib error
like 'uncompress failed with -5 for block 5383, sector 86132' would be
output to stdout/stderr. The savestate would still be playable, though.

Traced it down to cdrFreeze() failing to convert cdr.Prev from BCD->int
when calling ReadTrack(). Note that the odd 'cdr.Prev[0]++;' line seems
to be someone's hacky way of forcing ReadTrack() to avoid skipping what
it thinks is a duplicate sector read.

4 years agogpulib: fix out-of-bounds reads in do_cmd_buffer()
Daniel Silsby [Sat, 9 Nov 2019 01:30:04 +0000 (20:30 -0500)]
gpulib: fix out-of-bounds reads in do_cmd_buffer()

When gpu.cmd_buffer[] is filling up, and the last 1 or 2 words
in it are the beginning of a new vram read/write cmd, do_cmd_buffer()
would access out-of-bounds, reading garbage pos/size data.

Fixes corrupted gfx in this PS1 .exe test utility:
https://github.com/PeterLemon/PSX/tree/master/CPUTest/CPU/LOADSTORE/LW
(This and all similar tests on Peter's site).
Note that gfx access in this utility is done entirely through cmds given
through GPUwriteData(), i.e. direct CPU->GP0 stores, not DMA.

4 years agoAdd support for the Lightrec dynarec
Paul Cercueil [Tue, 7 Jan 2020 17:26:14 +0000 (14:26 -0300)]
Add support for the Lightrec dynarec

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
4 years agopcsxmem: mmap RAM/BIOS/scratchpad to better locations
Paul Cercueil [Thu, 30 Jan 2020 13:15:16 +0000 (15:15 +0200)]
pcsxmem: mmap RAM/BIOS/scratchpad to better locations

This permits the Lightrec dynarec to emit better code.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
4 years agogit subrepo clone (merge) https://github.com/witwall/mman-win32 deps/mman
Paul Cercueil [Thu, 30 Jan 2020 23:18:58 +0000 (20:18 -0300)]
git subrepo clone (merge) https://github.com/witwall/mman-win32 deps/mman

subrepo:
  subdir:   "deps/mman"
  merged:   "2d1c576e"
upstream:
  origin:   "https://github.com/witwall/mman-win32"
  branch:   "master"
  commit:   "2d1c576e"
git-subrepo:
  version:  "0.4.1"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "a04d8c2"

4 years agogit subrepo clone https://github.com/pcercuei/lightrec.git deps/lightrec
Paul Cercueil [Thu, 30 Jan 2020 15:34:17 +0000 (12:34 -0300)]
git subrepo clone https://github.com/pcercuei/lightrec.git deps/lightrec

subrepo:
  subdir:   "deps/lightrec"
  merged:   "6c69e10"
upstream:
  origin:   "https://github.com/pcercuei/lightrec.git"
  branch:   "master"
  commit:   "6c69e10"
git-subrepo:
  version:  "0.4.1"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "a04d8c2"

4 years agogit subrepo clone https://git.savannah.gnu.org/git/lightning.git deps/lightning
Paul Cercueil [Thu, 30 Jan 2020 15:33:44 +0000 (12:33 -0300)]
git subrepo clone https://git.savannah.gnu.org/git/lightning.git deps/lightning

subrepo:
  subdir:   "deps/lightning"
  merged:   "b0b8eb5"
upstream:
  origin:   "https://git.savannah.gnu.org/git/lightning.git"
  branch:   "master"
  commit:   "b0b8eb5"
git-subrepo:
  version:  "0.4.1"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "a04d8c2"

4 years agoMerge pull request #376 from stuken/joycon_axis_fix
Twinaphex [Sat, 1 Feb 2020 14:04:03 +0000 (15:04 +0100)]
Merge pull request #376 from stuken/joycon_axis_fix

Add input analog axis range modifier

4 years agoAdd input analog axis range modifier
Stuart Kenny [Sat, 1 Feb 2020 13:20:01 +0000 (13:20 +0000)]
Add input analog axis range modifier

Add core option to change axis saturation. Square bounds allow controllers that struggle to fully register diagonal deflections . Very helpful with switch joycons and some android controllers.

4 years agoMerge pull request #375 from jdgleaver/disk-control-v1
Twinaphex [Thu, 23 Jan 2020 15:09:53 +0000 (16:09 +0100)]
Merge pull request #375 from jdgleaver/disk-control-v1

Add disk control interface v1 support

4 years agoAdd disk control interface v1 support
jdgleaver [Thu, 23 Jan 2020 14:58:53 +0000 (14:58 +0000)]
Add disk control interface v1 support

4 years agoMerge pull request #370 from negativeExponent/switch
Twinaphex [Mon, 16 Dec 2019 17:59:27 +0000 (18:59 +0100)]
Merge pull request #370 from negativeExponent/switch

Update psxbios.c

4 years agoUpdate psxbios.c
negativeExponent [Mon, 16 Dec 2019 17:53:01 +0000 (01:53 +0800)]
Update psxbios.c

4 years agoMerge pull request #369 from negativeExponent/switch
Twinaphex [Mon, 16 Dec 2019 17:50:50 +0000 (18:50 +0100)]
Merge pull request #369 from negativeExponent/switch

Update

4 years agoUpdate
negativeExponent [Mon, 16 Dec 2019 17:10:56 +0000 (01:10 +0800)]
Update

4 years agoMerge pull request #368 from negativeExponent/memmap
Twinaphex [Sat, 14 Dec 2019 18:09:16 +0000 (19:09 +0100)]
Merge pull request #368 from negativeExponent/memmap

Access psx main memory using retro_memory_map

4 years agoMerge pull request #360 from negativeExponent/spu_irq
Twinaphex [Sat, 14 Dec 2019 18:09:04 +0000 (19:09 +0100)]
Merge pull request #360 from negativeExponent/spu_irq

Add "Spu Irq" core option

4 years agoAccess psx main memory using retro_memory_map
negativeExponent [Sat, 14 Dec 2019 17:54:30 +0000 (01:54 +0800)]
Access psx main memory using retro_memory_map

4 years agoMerge pull request #147 from senquack/cdrom_sstate_fix
notaz [Tue, 19 Nov 2019 22:24:11 +0000 (00:24 +0200)]
Merge pull request #147 from senquack/cdrom_sstate_fix

cdrom: add missing BCD->int convert in cdrFreeze()

4 years agocdrom: add missing BCD->int convert in cdrFreeze()
Daniel Silsby [Tue, 12 Nov 2019 23:48:44 +0000 (18:48 -0500)]
cdrom: add missing BCD->int convert in cdrFreeze()

For some Eboot .PBP game images, when loading a savestate, a zlib error
like 'uncompress failed with -5 for block 5383, sector 86132' would be
output to stdout/stderr. The savestate would still be playable, though.

Traced it down to cdrFreeze() failing to convert cdr.Prev from BCD->int
when calling ReadTrack(). Note that the odd 'cdr.Prev[0]++;' line seems
to be someone's hacky way of forcing ReadTrack() to avoid skipping what
it thinks is a duplicate sector read.

4 years agoMerge pull request #146 from senquack/gpulib_fix
notaz [Mon, 11 Nov 2019 18:50:44 +0000 (20:50 +0200)]
Merge pull request #146 from senquack/gpulib_fix

gpulib: fix out-of-bounds reads in do_cmd_buffer()

4 years agogpulib: fix out-of-bounds reads in do_cmd_buffer()
Daniel Silsby [Sat, 9 Nov 2019 01:30:04 +0000 (20:30 -0500)]
gpulib: fix out-of-bounds reads in do_cmd_buffer()

When gpu.cmd_buffer[] is filling up, and the last 1 or 2 words
in it are the beginning of a new vram read/write cmd, do_cmd_buffer()
would access out-of-bounds, reading garbage pos/size data.

Fixes corrupted gfx in this PS1 .exe test utility:
https://github.com/PeterLemon/PSX/tree/master/CPUTest/CPU/LOADSTORE/LW
(This and all similar tests on Peter's site).
Note that gfx access in this utility is done entirely through cmds given
through GPUwriteData(), i.e. direct CPU->GP0 stores, not DMA.

5 years agoAdd "Spu Irq" core option
negativeExponent [Sat, 26 Oct 2019 16:46:50 +0000 (00:46 +0800)]
Add "Spu Irq" core option

5 years agoMerge pull request #351 from SindenLightgun/master
Twinaphex [Thu, 24 Oct 2019 18:11:31 +0000 (20:11 +0200)]
Merge pull request #351 from SindenLightgun/master

Basic Guncon support

5 years agoMerge pull request #358 from Sakitoshi/master
Twinaphex [Thu, 24 Oct 2019 18:11:17 +0000 (20:11 +0200)]
Merge pull request #358 from Sakitoshi/master

sbi support for multidisc pbp

5 years agosbi support for multidisc pbp
Sakitoshi [Thu, 24 Oct 2019 04:14:07 +0000 (01:14 -0300)]
sbi support for multidisc pbp

same syntaxis as beetle-psx, name the sbi file after the pbp and append an underscore and the number of the disc at the end.

5 years agoMerge pull request #354 from justinweiss/move-to-thread-api
Twinaphex [Mon, 7 Oct 2019 16:09:17 +0000 (18:09 +0200)]
Merge pull request #354 from justinweiss/move-to-thread-api

3DS: Switch from svc* to the thread* API

5 years ago3DS: Switch from svc* to the thread* API
Justin Weiss [Sun, 6 Oct 2019 04:35:06 +0000 (21:35 -0700)]
3DS: Switch from svc* to the thread* API

svcCreateThread doesn't fully set up thread vars, which causes
svcBreaks / crashes when calling certain functions -- reentrant ones,
for example. threadCreate, etc. are higher-level functions that do all
the correct setup and cleanup.

Since we're treating the thread structure as opaque, calling it an
int_32t seems OK.

5 years agoMerge pull request #353 from justinweiss/default-thread-cpu-3ds
Twinaphex [Thu, 3 Oct 2019 01:49:41 +0000 (03:49 +0200)]
Merge pull request #353 from justinweiss/default-thread-cpu-3ds

3DS: Schedule threads on the default core

5 years ago3DS: Schedule threads on the default core
Justin Weiss [Thu, 3 Oct 2019 00:49:12 +0000 (17:49 -0700)]
3DS: Schedule threads on the default core

When creating a thread, pcsx was scheduling threads on core 1, which
is the system core. This is usually prevented by the system. Instead,
it should schedule threads on the default core, as suggested by
3dbrew: https://www.3dbrew.org/wiki/Multi-threading

> Games usually create threads using -2.

In the future, we may be able to schedule threads on core 2 on New 3DS
only, if we find it gives better performance.

This was preventing the CDDA thread from starting, which was
preventing CD Audio from playing.

5 years agoMerge pull request #349 from negativeExponent/unai_plugin_update
Twinaphex [Wed, 25 Sep 2019 16:17:57 +0000 (18:17 +0200)]
Merge pull request #349 from negativeExponent/unai_plugin_update

update gpu_unai plugin

5 years agoMerge branch 'gpu_unai_plugin_update'
negativeExponent [Wed, 25 Sep 2019 02:53:17 +0000 (10:53 +0800)]
Merge branch 'gpu_unai_plugin_update'

5 years agoMerge pull request #348 from justinweiss/remove-utime
Twinaphex [Mon, 23 Sep 2019 02:50:52 +0000 (04:50 +0200)]
Merge pull request #348 from justinweiss/remove-utime

Stop calling utime on 3ds