Commit graph

903 commits

Author SHA1 Message Date
Jean-Philip Desjardins
f66e60ffda Push BIOS_STATE location further down.
Some checks failed
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build macOS / build_macos (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Fixes crash in Saru Get You: Million Monkey english patch.
2025-04-07 10:35:12 -04:00
Jean-Philip Desjardins
64c63f1b03 VIF: Handle edge case of direct qword buffer transfer.
If buffer contained a SIGNAL command that isn't ready to be processed, VIF state would get bad. Fixes hang in Million Monkeys.
2025-04-04 10:28:18 -04:00
Jean-Philip Desjardins
883f29ef19 Refine idle loop detector.
Some checks failed
Build iOS / build_ios (push) Has been cancelled
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build macOS / build_macos (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
2025-03-17 16:48:50 -04:00
Jean-Philip Desjardins
30568a057d Use app_config module.
Some checks failed
Build macOS / build_macos (push) Has been cancelled
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
2025-03-11 16:18:58 -04:00
Jean-Philip Desjardins
31e7176215 Use integer comparisons in MAX/MINI to avoid issues with denormals.
Some checks failed
Build macOS / build_macos (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
2025-03-08 17:46:19 -05:00
Jean-Philip Desjardins
f7f955ff4b Implement PHMSBH.
Also clean PHMADH a bit.
2025-03-08 13:56:00 -05:00
Jean-Philip Desjardins
361bfece5d Use MakeClip.
Some checks failed
Check Format / run_clangformat (push) Has been cancelled
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build macOS / build_macos (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
2025-03-05 08:47:00 -05:00
Jean-Philip Desjardins
e16703ac58 Clear idle loop blocks upon reset.
Some checks failed
Build Linux / build_linux (push) Has been cancelled
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build macOS / build_macos (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
2025-02-25 19:06:20 -05:00
Jean-Philip Desjardins
9ea7e5f29b Use merged CMP/SELECT. 2025-02-25 15:16:12 -05:00
Jean-Philip Desjardins
1ea40fb773 Use select in CheckPipeline. 2025-02-25 11:04:06 -05:00
Eric Warmenhoven
25a03f957b Build libretro core for tvOS 2025-02-14 14:40:58 -05:00
Jean-Philip Desjardins
e46557675b Use proper preprocessor macro.
Some checks failed
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build macOS / build_macos (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
2025-02-12 14:12:37 -05:00
Jean-Philip Desjardins
fbe1d81dfa Use Select in CheckFlagPipeline.
Some checks failed
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build macOS / build_macos (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
2025-02-04 11:14:55 -05:00
Jean-Philip Desjardins
ae20e1eef6 Remove unused variable.
Some checks failed
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build macOS / build_macos (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
2025-01-27 18:40:45 -05:00
Jean-Philip Desjardins
5cd6e71d68 Add missing rounding modes. 2025-01-15 15:12:25 -05:00
Jean-Philip Desjardins
a7edad8479 Remove old patches.xml.
Some checks are pending
Build Android / build_android (apk) (push) Waiting to run
Build Android / build_android (libretro) (push) Waiting to run
Build iOS / build_ios (push) Waiting to run
Build JavaScript / build_js (push) Waiting to run
Build Linux / build_linux (push) Waiting to run
Build Linux ARM32 / build_linux_arm32 (push) Waiting to run
Build Linux ARM64 / build_linux_arm64 (push) Waiting to run
Build macOS / build_macos (push) Waiting to run
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Waiting to run
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Waiting to run
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Waiting to run
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Waiting to run
Check Format / run_clangformat (push) Waiting to run
2025-01-14 15:33:56 -05:00
Jean-Philip Desjardins
06db080a5f Add patches in game config file. 2025-01-14 15:30:58 -05:00
Jean-Philip Desjardins
93c7fdd777 Add idle loop block tagging.
Some checks are pending
Build Android / build_android (apk) (push) Waiting to run
Build Android / build_android (libretro) (push) Waiting to run
Build iOS / build_ios (push) Waiting to run
Build JavaScript / build_js (push) Waiting to run
Build Linux / build_linux (push) Waiting to run
Build Linux ARM32 / build_linux_arm32 (push) Waiting to run
Build Linux ARM64 / build_linux_arm64 (push) Waiting to run
Build macOS / build_macos (push) Waiting to run
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Waiting to run
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Waiting to run
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Waiting to run
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Waiting to run
Check Format / run_clangformat (push) Waiting to run
2025-01-14 10:53:33 -05:00
Jean-Philip Desjardins
8f73d94401 Add new game config system. 2025-01-13 18:15:07 -05:00
Jean-Philip Desjardins
8003d25286 Use MD_LoadFromRefMasked and MD_StoreAtRefMasked. 2025-01-10 15:55:35 -05:00
Jean-Philip Desjardins
d5a5079bde Use MD_PushRelElementExpand for broadcast operations. 2025-01-01 17:14:48 -05:00
Jean-Philip Desjardins
f2e872d523 Broadcast constants when possible. 2025-01-01 17:14:48 -05:00
Jean-Philip Desjardins
2d16426412 Enable accurate ADDi only on the VU block that needs it.
Some checks are pending
Build Android / build_android (apk) (push) Waiting to run
Build Android / build_android (libretro) (push) Waiting to run
Build iOS / build_ios (push) Waiting to run
Build JavaScript / build_js (push) Waiting to run
Build Linux / build_linux (push) Waiting to run
Build Linux ARM32 / build_linux_arm32 (push) Waiting to run
Build Linux ARM64 / build_linux_arm64 (push) Waiting to run
Build macOS / build_macos (push) Waiting to run
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Waiting to run
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Waiting to run
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Waiting to run
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Waiting to run
Check Format / run_clangformat (push) Waiting to run
2024-12-18 13:53:07 -05:00
Jean-Philip Desjardins
62997ad4be Use accurate ADDi only if specified by compile hint. 2024-12-18 11:52:26 -05:00
Jean-Philip Desjardins
67e0c572bc Rename compile hint. 2024-12-18 11:51:32 -05:00
Jean-Philip Desjardins
49d5021f28 Implement PABSH. 2024-11-19 12:24:36 -05:00
nia
2a3c4eaf95 Fix a compilation error on some platforms.
std::max expects both arguments to be the same type (in this
case const char *), while the C version of strrchr returns
non-const char *, which results in a type error with some C
libraries.

Signed-off-by: Nia Alarie <nia@NetBSD.org>
2024-10-22 12:43:09 +02:00
Jean-Philip Desjardins
3fd5b7a56c Only honor T and D bits if E bit has not been encountered.
Fixes Silent Hill 2 hanging at movies.
2024-09-19 17:43:54 -04:00
Jean-Philip Desjardins
cdb0fa81fd Only trigger T/D bit interrupts when they are enabled. 2024-08-16 16:44:53 -04:00
Jean-Philip Desjardins
b59696f544 Add missing clamping. 2024-08-16 16:44:53 -04:00
Jean-Philip Desjardins
1f2a662ca6 Add some specialised code path to handle Edge of Reality games.
Uses E bit in a branch delay slot.
2024-08-16 16:44:53 -04:00
Jean-Philip Desjardins
71e2a2f202 Add missing check. 2024-08-16 16:44:53 -04:00
Jean-Philip Desjardins
938ee6bc06 Handle D/T bits. 2024-08-16 16:44:53 -04:00
Jean-Philip Desjardins
5bb0f5e84b Allow reading VU1 TPC from LQI. 2024-08-16 16:44:52 -04:00
Jean-Philip Desjardins
1114c706a3 Fix more build issues. 2024-08-16 16:44:52 -04:00
Jean-Philip Desjardins
57bc2e5cd7 Fix build issue. 2024-08-16 16:44:52 -04:00
Jean-Philip Desjardins
0655ccd89d Add STOPPED VU state. 2024-08-16 16:44:52 -04:00
Jean-Philip Desjardins
dacbbab31c Add some missing defs. 2024-08-16 16:44:52 -04:00
Jean-Philip Desjardins
ea9775e267 Fix some edge cases in executable name.
Was not handing subdirectories correctly.
2024-08-09 14:16:02 -04:00
moui0
99cdb8d9f8 Add missing header 2024-07-21 03:26:42 +02:00
Jean-Philip Desjardins
fea21169c4 Mark ReadValue as safebuffers to avoid security cookie overhead. 2024-07-19 17:05:36 -04:00
Jean-Philip Desjardins
6821a11183 Improve OFFSET handling. 2024-07-19 17:05:29 -04:00
Jean-Philip Desjardins
1d64d7200f Help compiler generate some better Unpack code. 2024-07-19 17:05:17 -04:00
Jean-Philip Desjardins
2f3d8252a2 Use StructManager to manage Deci2Handlers.
Also add check when we fail to allocate.
2024-06-04 17:20:45 -04:00
Jean-Philip Desjardins
1fe85f209d Cleanup. 2024-06-03 16:57:20 -04:00
Jean-Philip Desjardins
18c0a6b17d Update to match FP32 CodeGen changes. 2024-05-28 17:30:17 -04:00
Jean-Philip Desjardins
d4bb3f1e9b Save int register right before altering instruction is executed. 2024-05-24 12:36:41 -04:00
Jean-Philip Desjardins
6900e7a58b Reset saved int reg state on VU program start. 2024-05-24 12:29:09 -04:00
Ian Brown
603dd1f601 Gauntelt 7s 2024-05-21 10:45:47 +01:00
Jean-Philip Desjardins
9f8d623f5d Use ReadValue to fetch VIFcode and other simple values. 2024-05-01 15:21:59 -04:00