gameblabla [Sat, 25 Sep 2021 13:37:10 +0000 (13:37 +0000)]
Merge pull request #559 from gameblabla/cdrom_various_fixes
Various CDROM fixes from Duckstation and Mednafen
gameblabla [Sat, 25 Sep 2021 13:33:10 +0000 (15:33 +0200)]
Use the "magic numbers" from Duckstation for CDLPause
We need to make sure not to break Gundam Battle Assault 2 in PAL mode
as otherwise it will lockup.
Amusingly, Mednafen currently cannot run this game in PAL mode.
gameblabla [Sat, 25 Sep 2021 13:32:27 +0000 (15:32 +0200)]
Fix CdlGetTD according to Mednafen's implementation.
gameblabla [Sat, 25 Sep 2021 13:23:40 +0000 (15:23 +0200)]
CdlGetmode is GetParam, fix it according to Mednafen's implementation
The result size for GetParam (previously Getmode) should be only 5 and done this way.
Here's Mednafen implementation :
https://github.com/libretro-mirrors/mednafen-git/blob/
1899500078169e787f86eb5302a3f35abdaa8764/src/psx/cdc.cpp#L2095
Nocash's documentation also shows that our previous implementation was wrong :
https://problemkaputt.de/psx-spx.htm
(See CDROM Controller Command Summary section or CDROM - Status Commands)
gameblabla [Sat, 25 Sep 2021 13:22:35 +0000 (15:22 +0200)]
Don't throw an error for CdlGetQ.
I doubt this is used by any game but who knows.
See Mednafen for reference :
https://github.com/libretro-mirrors/mednafen-git/blob/
1899500078169e787f86eb5302a3f35abdaa8764/src/psx/cdc.cpp#L2527
gameblabla [Sat, 25 Sep 2021 13:22:00 +0000 (15:22 +0200)]
Improve SetLoc CDROM command from Duckstation
See Duckstation's CDROM for reference :
https://github.com/stenzek/duckstation/blob/
18241978ea056a81ff9847f0ad89658f886153ea/src/core/cdrom.cpp#L1087
gameblabla [Sat, 25 Sep 2021 13:20:52 +0000 (15:20 +0200)]
CdlSync should be NULL and return an error.
This has been confirmed by both Mednafen and nocash's documentation.
gameblabla [Sat, 25 Sep 2021 11:58:19 +0000 (11:58 +0000)]
Merge pull request #558 from gameblabla/cdrom_fixes_libretro_popo
Merge several fixes from PCSX Redux and adjust delay for SetLocPending.
gameblabla [Sat, 25 Sep 2021 11:53:58 +0000 (13:53 +0200)]
Merge several fixes from PCSX Redux and adjust delay for SetLocPending.
There's a game, PoPoLoCrois Monogatari II, that unfortunately locks up
during the intro screen.
I should have known that code was wrong as Mednafen did not have anything
like that in their code either, hence the confusion.
Their fix however still don't include the Driver fix so the game would still
crash if we don't have the "+ Seektime".
To be honest, i'm not sure why the PCSX Reloaded team did it this way...
I noticed that the fastforward and fastbackward code was pretty much unused.
Looked at Mednafen and all they do is just adjust the cursector
and make sure that fastword & backword trigger the AUTO_REPORT code
so i did the latter.
There was also a mysterious leftover code from PCSX Reloaded in Cdlplay:
that had a condition that forced it to SEEK_DONE
(with a comment even saying that it should be set to SEEK instead)
so i set it to SEEK_PENDING instead.
(Mednafen's code seems to suggest so as well)
gameblabla [Sat, 25 Sep 2021 11:24:52 +0000 (13:24 +0200)]
Fix regression caused by #
9361a5aa4fef73e06bc78b7c462eb28a7d12e3d0
Not sure why it caused that but it causes the function to fail.
I don't want to wait months for him to fix it properly
so let's just do that for now.
gameblabla [Wed, 25 Aug 2021 20:54:08 +0000 (20:54 +0000)]
Merge pull request #553 from gameblabla/football_fix_libretro
CDROM: Rename Reset+Init commands, fix "This is Football 2" lockup
gameblabla [Wed, 25 Aug 2021 20:35:07 +0000 (22:35 +0200)]
CDROM: Rename Reset+Init commands, fix "This is Football 2" lockup
Upon the reset command being issued, we need to set the Mode to 0x20
(as it was confirmed in Mednafen) and also disable the muting.
We also change the seektime for the reset command appropriately.
Please see Mednafen's implementation as reference :
https://github.com/libretro-mirrors/mednafen-git/blob/
1899500078169e787f86eb5302a3f35abdaa8764/src/psx/cdc.cpp#L2007
This fixes the black screen issue in "This is Football 2".
This also fixes the black screen issue in Pooh's Party
after you selected a character.
gameblabla [Wed, 25 Aug 2021 11:25:51 +0000 (13:25 +0200)]
Properly fix the extern to const void instead of just void.
gameblabla [Wed, 25 Aug 2021 11:21:13 +0000 (11:21 +0000)]
Merge pull request #551 from gameblabla/hle_compil
Fix broken HLE PR
gameblabla [Wed, 25 Aug 2021 11:18:43 +0000 (13:18 +0200)]
Fix broken HLE PR.
gameblabla [Wed, 25 Aug 2021 09:39:02 +0000 (09:39 +0000)]
Merge pull request #543 from gameblabla/hle_fies_corruption_libretro
Properly protect the HLE instructions against corrupted memory.
gameblabla [Sun, 22 Aug 2021 20:57:57 +0000 (20:57 +0000)]
Merge pull request #547 from gameblabla/blues_clues_fix_audio_fmv
CDROM: Ignore sectors with channel number 255
gameblabla [Sun, 22 Aug 2021 13:16:01 +0000 (15:16 +0200)]
CDROM: Ignore sectors with channel number 255
This was inspired by the fix in Duckstation :
https://github.com/stenzek/duckstation/commit/
0710e3b6d384526ed939f742f8f657623bb354bb
Some games have junk audio sectors with a channel number of 255.
If these are not skipped, then they will play wrong file.
This was tested on "Blue's Clues : Blue's Big Musical" and
it fixed the missing audio there.
Taxi 2 is also said to be affected by this.
Autechre [Sat, 21 Aug 2021 16:26:42 +0000 (18:26 +0200)]
Merge pull request #544 from gameblabla/gpu_hle_rewrite_libretro
Rewrite GPU bios functions according to OpenBIOS.
Autechre [Sat, 21 Aug 2021 16:06:01 +0000 (18:06 +0200)]
Merge pull request #542 from gameblabla/mdec_fix
mdec.cpp: Dare to set MDEC_BIAS to 10
Autechre [Sat, 21 Aug 2021 16:05:42 +0000 (18:05 +0200)]
Merge pull request #541 from gameblabla/spu_fix_libretro
Fixes Diablo 1 SPU bug properly and remove Diablo hack.
gameblabla [Sat, 21 Aug 2021 16:02:10 +0000 (18:02 +0200)]
Rewrite GPU bios functions according to OpenBIOS.
See PCSX-Redux :
https://github.com/grumpycoders/pcsx-redux/blob/
93653ba5281487d3bed57371d7b64c32dfc669f0/src/mips/openbios/gpu/gpu.c
gameblabla [Sat, 21 Aug 2021 15:49:19 +0000 (17:49 +0200)]
Properly protect the HLE instructions against corrupted memory.
Fix is from PCSX-redux :
grumpycoders/pcsx-redux@
99c9508
This should hopefully fix HDHOSHY's experimental patch properly.
Co-authored-by: Nicolas Noble <nicolasnoble@users.noreply.github.com>
gameblabla [Sat, 21 Aug 2021 15:23:33 +0000 (17:23 +0200)]
Fixes Diablo 1 SPU bug properly and remove Diablo hack.
(Mostly) inspired by the fixes done in PCSX Redux :
https://github.com/grumpycoders/pcsx-redux/blob/
93653ba5281487d3bed57371d7b64c32dfc669f0/src/spu/registers.cc#L504
It seems that there was an attempt to initially implement it
in PCSX Reloaded (hence the bIgnoreLoop in freeze.c) but it was never
implemented properly.
Co-authored-by: Nicolas Noble <nicolasnoble@users.noreply.github.com>
Autechre [Thu, 19 Aug 2021 08:49:25 +0000 (10:49 +0200)]
Merge pull request #539 from gameblabla/spustate_register_fix_libretro
[SPU] Emulate SPUSTAT[5:0] as a mirror of SPUCNT[5:0]
Autechre [Thu, 19 Aug 2021 08:49:03 +0000 (10:49 +0200)]
Merge pull request #540 from gameblabla/gte_senquack_fix_libretro
gte: Fix gteH division and sign extension (from PCSX4ALL)
gameblabla [Thu, 19 Aug 2021 04:36:22 +0000 (06:36 +0200)]
gte: Fix gteH division and sign extension (from PCSX4ALL)
gteH register is u16, not s16. DIVIDE macro/func assumed it was
s16 for some reason. Behavior now matches Mednafen.
Co-authored-by: senquack <dansilsby@gmail.com>
gameblabla [Thu, 19 Aug 2021 04:26:28 +0000 (06:26 +0200)]
[SPU] Emulate SPUSTAT[5:0] as a mirror of SPUCNT[5:0]
Fix is from PCSX-Redux :
grumpycoders/pcsx-redux@
4e905d7
I have tested the fix against Loonies 8192 (a PSn00bSDK made homebrew game) and it no longer
locks up during loading.
Co-authored-by: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>
Autechre [Wed, 18 Aug 2021 15:13:45 +0000 (17:13 +0200)]
Merge pull request #538 from gameblabla/fix_cdom_savestate
Fix save state compatibility that was broken by my CDrom timing changes.
gameblabla [Mon, 16 Aug 2021 01:29:24 +0000 (03:29 +0200)]
mdec.cpp: Dare to set MDEC_BIAS to 10
This fixes graphic artifacts during cinematics in :
- Vandal Hearts
- R-Types
- Galerians
Dmitrysmagin had a similar fix in PCSX4ALL but he set it to 6.
It turns out MDEC_BIAS set to 6 was still not enough for Galerians
to look properly so it was set to 10.
It seems so far that other games are unaffected.
Co-authored-by: Dmitry Smagin <exmortis@yandex.ru>
gameblabla [Tue, 17 Aug 2021 04:27:02 +0000 (06:27 +0200)]
Fix save state compatibility that was broken by my CDrom timing changes.
Autechre [Tue, 17 Aug 2021 03:36:24 +0000 (05:36 +0200)]
Merge pull request #537 from embercold/warningless-build
Sort out compiler warnings, all of them
Ember Cold [Tue, 17 Aug 2021 02:19:02 +0000 (05:19 +0300)]
Sort out compiler warnings, all of them
Autechre [Mon, 16 Aug 2021 05:14:52 +0000 (07:14 +0200)]
Merge pull request #536 from gameblabla/cdrom_fixes
CDRom timings changes
gameblabla [Fri, 13 Aug 2021 16:00:47 +0000 (18:00 +0200)]
CDRom timings changes
Upstreamed changes from PCSX Redux as seen here :
https://github.com/grumpycoders/pcsx-redux/commit/
5730e04f0183f37038bc1d133cf9f9092425b90a
This apparently fixes Deus Fight in Xenogears.
Co-authored-by: Nicolas Noble <nicolasnoble@users.noreply.github.com>
Autechre [Sat, 31 Jul 2021 17:57:15 +0000 (19:57 +0200)]
Merge pull request #532 from davidgfnet/master
Fix initialization on Frontends without variable support.
David Guillen Fandos [Fri, 30 Jul 2021 18:54:08 +0000 (20:54 +0200)]
Fix initialization on Frontends without variable support.
Frontends that do not support RETRO_ENVIRONMENT_GET_VARIABLE (like
miniretro & nanoarch) cause a segfault in the CPU emulation path unless
the BIOS file is present. This is due to the emulator not supporting
running without a BIOS in dynarec mode and the code not being able to
swap CPU types (unless the callback returns true).
Autechre [Wed, 21 Jul 2021 13:01:10 +0000 (15:01 +0200)]
Merge pull request #530 from embercold/fix-div-insn
Handle DIV overflow in lightrec and the interpreter
Ember Cold [Wed, 21 Jul 2021 12:04:23 +0000 (15:04 +0300)]
Handle DIV overflow in lightrec and the interpreter
twinaphex [Thu, 8 Jul 2021 13:32:51 +0000 (15:32 +0200)]
Attempt to fix Android build
Autechre [Thu, 8 Jul 2021 11:57:33 +0000 (13:57 +0200)]
Merge pull request #529 from negativeExponent/nodebugger
Do not compile debugger codes by default
negativeExponent [Wed, 7 Jul 2021 00:49:59 +0000 (08:49 +0800)]
Do not compile debugger codes by default
- Reduces binary to about half the size
- Compile with DEBUG=1 to build core with debug code
Autechre [Sun, 30 May 2021 09:31:11 +0000 (11:31 +0200)]
Merge pull request #522 from negativeExponent/patch-2
Set inputs to use "standard" by default
negativeExponent [Sun, 30 May 2021 04:28:16 +0000 (12:28 +0800)]
Set inputs to use "standard" by default
Autechre [Sun, 16 May 2021 21:25:53 +0000 (23:25 +0200)]
Merge pull request #520 from negativeExponent/multitap_option_description
Update multitap option description
negativeExponent [Sun, 16 May 2021 05:36:17 +0000 (13:36 +0800)]
These are now unnecessary
negativeExponent [Sun, 16 May 2021 04:30:42 +0000 (12:30 +0800)]
Update multitap option description
Autechre [Tue, 11 May 2021 15:15:07 +0000 (17:15 +0200)]
Merge pull request #517 from negativeExponent/input
Fix reporting for connected or unconnected inputs
Autechre [Tue, 11 May 2021 15:14:47 +0000 (17:14 +0200)]
Merge pull request #516 from negativeExponent/vfs
start adding libretro vfs
negativeExponent [Thu, 6 May 2021 05:38:18 +0000 (13:38 +0800)]
Fix reporting for connected or unconnected inputs
Current implementation assumes all inputs are plugged, regardless of
input type settings, so input reporting in games also says its
connected.
This PR fix this minor issue, by sending appropriate input register
values when no controllers are attached.
Related issue (what i used as well for testing):
https://github.com/libretro/duckstation/issues/35
negativeExponent [Sat, 1 May 2021 20:48:10 +0000 (04:48 +0800)]
Fix fgets param
negativeExponent [Wed, 21 Apr 2021 03:05:01 +0000 (11:05 +0800)]
Add libretro VFS and use VFS for windows target
- Reverts the use of fopen_utf8 from previous commit and use
"file_stream_transforms.h" instead:
\7fhttps://github.com/libretro/pcsx_rearmed/commit/
270c6dd14f876b8a67929aa22abefc47f4588324#diff-2065d1414bac1198fb423574b4874d5bf92a2114a2f3e235c469d8fd6288dd10
- Enable the use of VFS for windows by default.
- compile with USE_LIBRETRO_VFS=1 to enable vfs when compiling for other
platforms (including android if needed)
Autechre [Wed, 28 Apr 2021 20:28:57 +0000 (22:28 +0200)]
Merge pull request #514 from negativeExponent/fopen_utf8
libchdr: Use also fopen_utf8 here
Autechre [Wed, 28 Apr 2021 20:28:46 +0000 (22:28 +0200)]
Merge pull request #513 from negativeExponent/simplity_multitap_core_option
Simplify multitap core options
twinaphex [Wed, 28 Apr 2021 11:25:11 +0000 (13:25 +0200)]
Buildfix for Apple
Autechre [Wed, 28 Apr 2021 10:09:39 +0000 (12:09 +0200)]
Merge pull request #512 from negativeExponent/update_libchdr
Update libchdr
negativeExponent [Wed, 21 Apr 2021 21:59:52 +0000 (05:59 +0800)]
implify multitap core options
- Combines multitap1 and multitap2 core options
- Removes "automatic" mode
negativeExponent [Fri, 23 Apr 2021 00:54:23 +0000 (08:54 +0800)]
libchdr: Use also fopen_utf8 here
RE: https://github.com/libretro/libretro-fceumm/issues/448
negativeExponent [Wed, 21 Apr 2021 04:37:26 +0000 (12:37 +0800)]
Android: Update jni
negativeExponent [Wed, 21 Apr 2021 03:08:15 +0000 (11:08 +0800)]
3ds: Buildfix
negativeExponent [Wed, 21 Apr 2021 00:04:21 +0000 (08:04 +0800)]
Restore deps/mman
Accidentally purged in last commit, needed for lightrec/lightning
negativeExponent [Tue, 20 Apr 2021 23:47:37 +0000 (07:47 +0800)]
Update Makefile
negativeExponent [Tue, 20 Apr 2021 23:17:03 +0000 (07:17 +0800)]
git subrepo clone (merge) https://github.com/rtissera/libchdr deps/libchdr
subrepo:
subdir: "deps/libchdr"
merged: "
a17c0da"
upstream:
origin: "https://github.com/rtissera/libchdr"
branch: "master"
commit: "
a17c0da"
git-subrepo:
version: "0.4.3"
origin: "???"
commit: "???"
negativeExponent [Tue, 20 Apr 2021 23:16:35 +0000 (07:16 +0800)]
Cleanup deps
Autechre [Tue, 20 Apr 2021 20:59:16 +0000 (22:59 +0200)]
Merge pull request #511 from negativeExponent/updates
Selectively replace fopen() with fopen_utf8()
negativeExponent [Tue, 20 Apr 2021 12:52:38 +0000 (20:52 +0800)]
Add missing files
negativeExponent [Tue, 20 Apr 2021 12:00:18 +0000 (20:00 +0800)]
Selectively replace fopen() with fopen_utf8()
This selectively replace fopen calls with fopen_utf8, to handle paths
that uses special characters in Windows.
The replacement covers these:
- opening of bios file
- opening, writting and creating memcard2
- opening and handling of disk images
Related: https://github.com/libretro/libretro-fceumm/issues/448
twinaphex [Wed, 24 Mar 2021 23:33:51 +0000 (00:33 +0100)]
Get rid of interpreter name
twinaphex [Tue, 23 Mar 2021 17:34:41 +0000 (18:34 +0100)]
Add ios-arm64/tvos-arm64, ios9, and osx-arm64. osx-arm64 is interpreter
for now (lightrec crashes at startup)
Autechre [Tue, 16 Mar 2021 13:45:41 +0000 (14:45 +0100)]
Merge pull request #506 from jdgleaver/libchdr-update
Update libchdr (replace libflac with dr_flac)
jdgleaver [Mon, 15 Mar 2021 15:36:34 +0000 (15:36 +0000)]
Update libchdr (replace libflac with dr_flac)
Autechre [Sun, 21 Feb 2021 05:00:27 +0000 (06:00 +0100)]
Merge pull request #502 from justinweiss/restrict-threaded-rendering-drivers
Restrict threaded rendering to unai / peops
Justin Weiss [Thu, 11 Feb 2021 02:17:31 +0000 (18:17 -0800)]
Restrict threaded rendering to unai / peops
Autechre [Mon, 15 Feb 2021 21:31:54 +0000 (22:31 +0100)]
Merge pull request #500 from bslenul/master
Change HLE BIOS message. Please review first!
bslenul [Mon, 15 Feb 2021 09:44:33 +0000 (10:44 +0100)]
Change HLE BIOS message.
Autechre [Thu, 11 Feb 2021 11:38:25 +0000 (12:38 +0100)]
Merge pull request #499 from negativeExponent/fix_input
multitap option fix
negativeExponent [Thu, 11 Feb 2021 08:49:57 +0000 (16:49 +0800)]
Do not hide multitap core options
negativeExponent [Thu, 11 Feb 2021 08:48:08 +0000 (16:48 +0800)]
Set multitap options disabled by default, prevent previous defaults from being accidentally loaded instead.
Autechre [Mon, 8 Feb 2021 22:17:04 +0000 (23:17 +0100)]
Merge pull request #498 from glebm/patch-1
libretro: Add support for ps1_rom.bin (PS3 BIOS)
Gleb Mazovetskiy [Mon, 8 Feb 2021 20:42:12 +0000 (20:42 +0000)]
libretro: Add support for ps1_rom.bin (PS3 BIOS)
m4xw [Fri, 5 Feb 2021 10:34:41 +0000 (11:34 +0100)]
Disable lightrec for libnx
Requires the impl. of the rw/rx patches first
Autechre [Wed, 13 Jan 2021 18:08:29 +0000 (19:08 +0100)]
Merge pull request #487 from liberodark/patch-1
add H5 + N2 support
liberodark [Wed, 13 Jan 2021 17:57:51 +0000 (18:57 +0100)]
add H5 + N2 support
Autechre [Sun, 10 Jan 2021 15:01:43 +0000 (16:01 +0100)]
Update .gitlab-ci.yml
Autechre [Sat, 2 Jan 2021 23:32:47 +0000 (00:32 +0100)]
Update .gitlab-ci.yml
Autechre [Sun, 27 Dec 2020 14:50:26 +0000 (15:50 +0100)]
Update .gitlab-ci.yml
Autechre [Sat, 26 Dec 2020 18:36:03 +0000 (19:36 +0100)]
Merge pull request #483 from webgeek1234/master
Android Updates
Aaron Kling [Sat, 26 Dec 2020 18:15:56 +0000 (12:15 -0600)]
libretro: android: remove flag allowing text relocations
This is not allowed on api 23+
Aaron Kling [Sat, 26 Dec 2020 18:08:05 +0000 (12:08 -0600)]
libretro: android: Fix non-armv7 builds
Autechre [Thu, 24 Dec 2020 02:38:20 +0000 (03:38 +0100)]
Create .gitlab-ci.yml
twinaphex [Sat, 19 Dec 2020 21:57:49 +0000 (22:57 +0100)]
Update
Autechre [Fri, 27 Nov 2020 21:35:18 +0000 (22:35 +0100)]
Merge pull request #479 from dev-0x7C6/master
Removed conditional include on non-existent file.
Bartłomiej Burdukiewicz [Tue, 24 Nov 2020 17:56:56 +0000 (18:56 +0100)]
Removed conditional include on non-existent file.
Signed-off-by: Bartłomiej Burdukiewicz <bartlomiej.burdukiewicz@gmail.com>
Autechre [Sun, 8 Nov 2020 22:08:59 +0000 (23:08 +0100)]
Merge pull request #476 from vanfanel/master
Add Rpi4 platform in 64bit mode.
Vanfanel [Sat, 7 Nov 2020 15:05:28 +0000 (16:05 +0100)]
Add Rpi4 platform in 64bit mode.
Autechre [Fri, 6 Nov 2020 04:33:38 +0000 (05:33 +0100)]
Merge pull request #474 from negativeExponent/ios_interpreter
iOS: Another try at interpreter override
Autechre [Fri, 6 Nov 2020 04:33:30 +0000 (05:33 +0100)]
Merge pull request #475 from negativeExponent/multitap
Set multitap options to "disabled" by default
negativeExponent [Thu, 5 Nov 2020 09:48:28 +0000 (17:48 +0800)]
Set multitap options to "disabled" by default
Due to moving input selector to frontend instead from the core options,
ports 3-8 can be always set to standard causing multitap to be auto-activated.
With multitaps enabled, some games would misbehave or inputs not working
at all for those that are not multiplayer capable.
Setting core option multitap1 and multitap2 to disable for now.
negativeExponent [Wed, 4 Nov 2020 22:34:11 +0000 (06:34 +0800)]
iOS: Another try at interpreter override
Autechre [Wed, 4 Nov 2020 21:51:38 +0000 (22:51 +0100)]
Merge pull request #473 from negativeExponent/chd_image_cache
CHD: Support for precache mode CD access method