Commit graph

110 commits

Author SHA1 Message Date
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
d7eee3656e Set some initial SPU voice values. 2024-07-26 18:26:54 -04:00
Jean-Philip Desjardins
a5753e5829 Fix some addresses. 2024-06-10 17:54:22 -04:00
Jean-Philip Desjardins
f1fac93937 Use proper register. 2024-06-10 17:53:59 -04:00
Jean-Philip Desjardins
65d892247c Set masked IRQ address. 2024-03-15 08:49:10 -04:00
Jean-Philip Desjardins
4da96c8bca Rename and reorganise things. 2024-03-14 14:48:43 -04:00
Jean-Philip Desjardins
0e7df23d4e Check IRQs from both cores when reading ADPCM samples.
Still WIP, needs to be cleaned up.
2024-03-11 18:34:13 -04:00
Jean-Philip Desjardins
691a44d9d8 Revamp SPU saved states. 2023-12-08 14:49:27 -05:00
Jean-Philip Desjardins
3233c08042 Simulate some movement inside a sample address range.
Fixes Romancing Saga hanging when starting the game.
2023-10-03 15:27:27 -04:00
Jean-Philip Desjardins
3f9c04c428 Mask out repeat address.
Fixes crash in Code Age Commanders - Tsugumono Tsugarerumono.
2023-10-03 15:27:27 -04:00
Jean-Philip Desjardins
1a6fcacc99 Reset repeatSet flag when keying on the voice.
Repeat address can be written right after KEY_ON is written to, allowing the voice data to reset the repeat address, which is not what is wanted. Needed for Chaos Legion.
2023-09-25 10:53:52 -04:00
Jean-Philip Desjardins
637afb4ebf Trigger interrupts when IRQA is set to 0.
Demon Chaos expects interrupts to be triggered without setting IRQA.
2023-08-30 10:21:25 -04:00
Jean-Philip Desjardins
82f14a6f42 Cleanup. 2023-08-25 11:46:12 -04:00
Jean-Philip Desjardins
e4c8daf12f Add missing info in saved state. 2023-07-31 10:52:07 -04:00
Jean-Philip Desjardins
8c543186da Apply CZipArchiveWriter refactoring. 2023-07-23 17:22:18 -04:00
Jean-Philip Desjardins
39715e7e17 Update sample step when loading state. 2023-07-20 18:04:47 -04:00
Jean-Philip Desjardins
7167677d16 Apply volume adjustment after we've updated everything. 2023-07-10 17:17:58 -04:00
Jean-Philip Desjardins
80f39013fb Move reverb update in separate function. 2023-07-10 17:17:57 -04:00
Jean-Philip Desjardins
6e760c621b Remove some more conversions. 2023-07-10 17:17:57 -04:00
Jean-Philip Desjardins
fa8c030cfc Remove some 16 <-> 32 bit conversions. 2023-07-10 17:17:57 -04:00
Jean-Philip Desjardins
a03bcee458 Specify destination sampling rate in advance. 2023-07-10 17:17:57 -04:00
Jean-Philip Desjardins
b776899a7c Move some pitch computation stuff out of loop. 2023-07-10 17:17:57 -04:00
Jean-Philip Desjardins
a0dbde5bf9 Update sample reader IRQ addr only when needed. 2023-07-10 17:17:57 -04:00
Jean-Philip Desjardins
4542dd8c24 Cleanup. 2023-07-10 17:17:57 -04:00
Jean-Philip Desjardins
2f708f6c91 Improve formatting. 2023-07-10 17:17:57 -04:00
Jean-Philip Desjardins
54eb541548 Fix warning. 2023-07-10 17:17:57 -04:00
Jean-Philip Desjardins
4058511388 Remove other division. 2023-06-30 16:55:03 -04:00
Jean-Philip Desjardins
e46455eef6 Make it possible to change SPU base sampling rate. 2023-06-12 12:25:55 -04:00
Jean-Philip Desjardins
c74e28c2e5 Invalidate sample cache when writing directly to SPU RAM. 2023-06-09 17:15:15 -04:00
Jean-Philip Desjardins
4289092673 Add SPU sample cache. 2023-05-18 16:28:55 -04:00
Jean-Philip Desjardins
c0bc814ce0 Skip some mixing steps if sample is zero. 2023-05-18 16:28:55 -04:00
Jean-Philip Desjardins
aee69ac97c Fix a bunch of warnings. 2023-05-03 21:05:08 -04:00
Jean-Philip Desjardins
48d97e7970 Mask SPU channel register addresses.
Prevents crash in True Fortune.
2022-10-07 11:45:21 -04:00
Jean-Philip Desjardins
5dfbad8974 Filter out repeat address updates from ADPCM if update from CPU is pending. 2022-08-24 18:19:37 -04:00
Jean-Philip Desjardins
836193dd71 Let SPU voices free run regardless of their state. 2022-08-24 10:12:20 -04:00
Mahmood - Zer0xFF
e6ca0dc4a1 fix assert in std::clamp caused by invalid hi bound 2022-04-08 11:17:12 +01:00
Mahmood - Zer0xFF
74afdf0013 clean: change line ending 2022-04-08 11:16:02 +01:00
Jean-Philip Desjardins
9b2c60f1ba Fix Linux build. 2021-09-11 13:39:41 -04:00
Jean-Philip Desjardins
eac05ee427 Rewrite exp decrease code to avoid UB.
clang seems to not like the previous version and it was causing Onimusha to hang.
2021-09-11 13:27:07 -04:00
Jean-Philip Desjardins
f7acc8d793 Add basic exp decrease sweep support. 2021-07-29 14:39:07 -04:00
Jean-Philip Desjardins
b1dde3b868 Update channel if it uses dynamic volume. 2021-07-29 14:38:28 -04:00
Jean-Philip Desjardins
016302d5ff Support DMA reads from SPU RAM. 2021-04-01 17:22:33 -04:00
Jean-Philip Desjardins
dd2374b2d2 Adjust SPU transfer throttling. 2021-01-14 12:58:45 -05:00
Jean-Philip Desjardins
21232bee64 Set channel state when transitioning from KEY_ON to STOPPED. 2021-01-01 14:16:31 -05:00
Jean-Philip Desjardins
b365f4c19d Add values to prevent reading out of bounds. 2020-12-24 08:16:33 -05:00
Jean-Philip Desjardins
dd58e0392c Set IRQ address earlier in SampleReader.
When a voice is starting, data is buffered. This can trigger an interrupt.
2020-12-23 14:57:20 -05:00
Jean-Philip Desjardins
a945c28767 Throttle all SPU voice transfers. 2020-10-19 08:36:25 -04:00
Jean-Philip Desjardins
d96d578f14 A sample is 16-bits.
Fixes Black not booting.
2020-05-15 12:37:55 -04:00
Jean-Philip Desjardins
9d1d1e4a7e Handle SPU IRQs in CORE0 output area. 2020-05-15 12:37:54 -04:00
Jean-Philip Desjardins
d2245933a8 Properly handle SPU DMA stop mode.
Used by Genso Suikoden 5.
2020-02-15 13:01:42 -05:00