Commit graph

73 commits

Author SHA1 Message Date
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
Jean-Philip Desjardins
41dc9fb3e2 Don't update reverb if address params don't make sense.
Required by Cakemania.

(cherry picked from commit 05702b5f663d8ab2494127d12a8c95bb250bf8da)
2019-08-19 18:37:12 -04:00
Jean-Philip Desjardins
2076edf3c0 Fix Linux build. 2019-08-17 13:51:31 -04:00
Jean-Philip Desjardins
e5ae547e66 Move saved state helper classes to a subfolder. 2019-02-06 19:04:51 -05:00
Jean-Philip Desjardins
52fc10624f Fix warning (constant size). 2018-06-06 13:35:38 -04:00
Clang-Format
acf75535ec Clang format 2018-04-30 21:01:23 +01:00
Jean-Philip Desjardins
ac5b76f244 Allow SPU interrupts to be triggered even though voice are not playing.
This seems to be the proper behavior as voices keep reading from memory all the time.
2018-04-23 09:46:42 -04:00
Jean-Philip Desjardins
22dc2fdb8f Cleanup. 2018-04-23 09:46:42 -04:00
Jean-Philip Desjardins
68883905f7 Update next sample address in all cases. 2018-04-23 09:46:41 -04:00
Jean-Philip Desjardins
f21e38e0a7 Add check for control register. 2018-04-07 11:40:33 -04:00
Jean-Philip Desjardins
f138bc30e6 Cleanup. 2018-03-20 11:01:31 -04:00
Jean-Philip Desjardins
370bfa2de9 Save more SPU info in saved states. 2017-09-10 17:00:31 -04:00
Jean-Philip Desjardins
92cc21467d Add more SPU info in saved state. 2017-09-10 16:59:58 -04:00
Mahmood(Thunder07)
97c229ec98 Cleanup
Silence:"warning: '0' flag ignored with precision and ‘%X’ gnu_printf format"
2017-05-29 06:01:32 +01:00
Jean-Philip Desjardins
9445424dc5 Add basic support for SPU sound input. 2016-12-20 18:56:49 -05:00
Jean-Philip Desjardins
8532219da6 Cleanup. 2016-12-20 18:56:49 -05:00
Jean-Philip Desjardins
f49f8cb121 Cleanup. 2016-12-20 18:56:49 -05:00
Jean-Philip Desjardins
5c933d64bf Disable reverb properly when it's off. 2016-12-20 18:56:48 -05:00
Jean-Philip Desjardins
f9f9c7e87f Cleanup. 2016-12-20 18:56:48 -05:00
Jean-Philip Desjardins
5146c5d011 Merge branch 'master' into build_unix 2015-10-24 22:58:24 -04:00
Jean-Philip Desjardins
523cf71a8c Clear SPU IRQ pending flag when C_IRQINFO is read. 2015-10-17 00:14:29 -04:00
Kyle McLamb
bff2643b84 Port libPlay to linux 2015-08-24 20:10:16 -04:00
Jean-Philip Desjardins
17f1ab59de Restart SPU sample readers when state is loaded. 2015-06-11 18:21:35 -04:00
Jean-Philip Desjardins
ac96f888f3 Fixed problems with SPU block transfers overwriting voice data and renamed some stuff. 2015-06-11 17:58:04 -04:00
Jean-Philip Desjardins
e8336e6d51 Removed FFX pitch hack because it shouldn't exist. 2015-06-10 04:13:48 -04:00
Jean-Philip Desjardins
d703745669 Improved SPU IRQ detection. 2015-06-04 23:49:03 -04:00
Jean-Philip Desjardins
4844a0679b Added more SPU stuff in saved state. 2015-06-02 02:43:34 -04:00
Jean-Philip Desjardins
9f37845510 Cleaned some dodgy code in sample decoder. 2015-06-02 00:14:48 -04:00
Jean-Philip Desjardins
841f2b6125 Changed the way samples are read from SPU ram to be able to mask off the address properly and prevent crashes. 2015-05-08 21:47:04 -04:00
Jean-Philip Desjardins
12a0421c1c If in DMA is in reading mode, don't actually write data to SPU RAM (proper read needs to be implemented). 2015-04-28 00:34:12 -04:00
Jean-Philip Desjardins
7ae2dd4631 Throttle SPU DMA reads to allow FFX's sound module to synchronize itself properly. 2015-03-30 01:24:53 -04:00
Jean-Philip Desjardins
1aa74d7dcc Make sure pitch isn't 0 in SPU channel. 2015-03-30 01:08:36 -04:00
Jean-Philip Desjardins
136f7cef2d Allow repeat parameter of an SPU channel to be changed by the CPU while channel is playing. 2015-03-30 01:01:20 -04:00
Jean-Philip Desjardins
685b3eab25 Improved IRQ address detection in SPU. 2015-03-20 23:28:37 -04:00
Jean-Philip Desjardins
8d194fbcde Save IRQADDR state. 2015-03-18 22:55:12 -04:00
Jean-Philip Desjardins
7f60f5c3d5 Added basic support for SPU interrupts. 2015-02-08 17:18:41 -05:00
jpd002
336d4f7343 Removed usage of 64-bits arithmetic in SpuBase to improve sound rendering performance.
git-svn-id: http://svn.purei.org/purei/trunk@1196 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-10-15 02:36:04 +00:00
jpd002
163300111e Replaced the "DmaDisabled" mode by a "StreamingEnabled" mode in SpuBase since that unknown register in SPU2 CORE seems to be used for that.
git-svn-id: http://svn.purei.org/purei/trunk@1088 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-03-06 04:42:17 +00:00