Commit graph

5026 commits

Author SHA1 Message Date
Daniel López Guimaraes
9db68e7d39 cellMic: Handle value 0 on CELLMIC_DEVATTR_CHANVOL
If arg1 is zero, all channels of the device are affected.
2024-08-02 19:29:42 +02:00
Daniel López Guimaraes
ba3d16b48b cellMic: Fix CELLMIC_DEVATTR_CHANVOL handling
The microphone index given in `arg1` is 1-indexed, so we have to
subtract 1 from the index to access the proper value.

This wasn't caught up before since we were doing direct access of the
array instead of using `::at32` which wouldn't check that the value is
within bounds.

This allows the original SingStar game to boot up again, as it would
otherwise crash then trying to set the volume to the second channel due
to the index being out of bounds.
2024-08-02 19:29:42 +02:00
Megamouse
106bf5145b Fix ffmpeg deprecation warnings 2024-08-01 18:04:47 +02:00
Megamouse
7884bcc21d Fix unused function warning 2024-08-01 02:44:01 +02:00
Elad Ashkenazi
02aac2c52e sys_fs: Non-existant overflow bugfix
It would technically never overflow.. but this add minimal protection against adding beyond [PPU thread-count + entries count]
This does not induce an atomic loop which limits until entries.size() but is slower.
2024-07-28 12:36:42 +03:00
Elad Ashkenazi
91b4aaf9e1 PPU: Fix potential overflow 2024-07-28 12:36:42 +03:00
Elad Ashkenazi
700334753d cellMic: Fix potential overflow 2024-07-28 12:36:42 +03:00
Daniel López Guimaraes
501e9260b2 cellMic: Wake up upon registering emulated SingStar microphone
When using the emulated SingStar microphone, the device is only
registered when initializing `cellMic`. However, the `mic_context`
thread is only woken up when calling `register_device`. The registration
happens before initializing `cellMic`, so the thread is never woken up
after registering the device.

Add call to `wake_up` in `load_config_and_init` inside the emulated
SingStar microphone specific code to fix this issue, allowing the thread
to detect the device and update the microphone data.

This allows SingStar to receive the microphone data when using the
emulated SingStar microphone that it previously wasn't receiving.
2024-07-26 09:44:00 +03:00
Silent
c0808448be sceNp: Fix sending partial results from sceNpScoreRecordGameData
Fixes Ghost Data in Ridge Racer 7
2024-07-22 21:52:33 +02:00
Megamouse
e0fce6cc5b Fix some warnings 2024-07-20 07:37:17 +03:00
Florin9doi
7fba56f27b USB: Replace if/else with switch 2024-07-19 22:10:11 +02:00
Florin9doi
33d2b27b91 USB: Top Shot Fearmaster device emulation 2024-07-19 22:10:11 +02:00
Florin9doi
088b594fa8 USB: Top Shot Elite device emulation 2024-07-19 22:10:11 +02:00
Florin9doi
a1a38b7b39 USB: Move uDraw GameTablet config from IO to Pads 2024-07-19 22:10:11 +02:00
Joshua de Reeper
500bf0f3f5 sys_usbd: Emulate Dimensions Toypad 2024-07-19 20:29:19 +02:00
Elad Ashkenazi
a2534263fe Savestates/PPU: Ensure correct PPU state on MMIO 2024-07-19 14:31:19 +03:00
Elad Ashkenazi
77e8f9a8ab SPU: Utilize Operating System sleep in detected RCHCNT loop 2024-07-19 14:31:19 +03:00
Silent
f3ceebabd9 sceNp: Improve SceNpCommunicationId logging 2024-07-18 21:42:07 +03:00
RipleyTom
dd9b3c651f Support old sceNpScoreRankData 2024-07-18 18:29:49 +02:00
Megamouse
8236b58a29 cellGem: fix camera format conversions
Use interleaved RGBA format and get rid of BE/LE differences.
2024-07-08 23:11:03 +02:00
Elad Ashkenazi
669ce1faca Fixup compilation
And reduce limit for PUTLLC16 block scan
2024-07-08 10:06:56 +03:00
Elad Ashkenazi
f08d4a53b3 SPU: Make users tell what games matter for channel pattern 2024-07-08 10:06:56 +03:00
Elad Ashkenazi
7f8eec9dca Disable PUTLLC16 again 2024-07-08 10:06:56 +03:00
Elad Ashkenazi
2ca5d23aac SPU Analyzer: Make register state evaluation shorter 2024-07-08 10:06:56 +03:00
Elad Ashkenazi
aa5284c8f1 [WIP] SPU: Channel Loop Pattern Detection 2024-07-08 10:06:56 +03:00
Megamouse
1a61a7a39f input: allow running pad thread without emulation 2024-07-06 18:55:48 +02:00
Elad Ashkenazi
33851d51ab Fixup and Improve CELL reservation notifications 2024-07-01 18:59:26 +03:00
Megamouse
eab1c1260c cellGem: Implement cellGemEnableMagnetometer2 2024-06-30 12:51:24 +02:00
Megamouse
fc0878e688 Fix midi drum config loading 2024-06-30 12:02:37 +02:00
Megamouse
352229efbd Fix some warnings 2024-06-30 12:02:37 +02:00
Elad Ashkenazi
f948a80242 CELL: More efficient reservation notificatins 2024-06-30 07:46:14 +03:00
Megamouse
8343e35146 cellCamera: improve error logging 2024-06-27 19:12:34 +02:00
Elad Ashkenazi
a9d53e98de SPU LLVM: Fix LSA masking for PUTLLC16, disable RTIME checks 2024-06-27 16:58:23 +03:00
Elad Ashkenazi
908082e7c3 Silence some cellGem logging 2024-06-27 16:58:23 +03:00
Elad Ashkenazi
8ec6187dc7 SPU Analyzer: Fix support for multi-block value merge 2024-06-27 16:58:23 +03:00
Megamouse
363a4dbdef Fix warning: dangling pointer (construct string_view from temporary string) 2024-06-27 03:21:35 +03:00
Megamouse
e635abe552 Fix warning: std::move of const variables 2024-06-27 03:21:35 +03:00
Elad Ashkenazi
f18e3be4f2
Cut scenNpDrmIsAvailable sleep time by half 2024-06-25 10:02:53 +03:00
Elad Ashkenazi
87f5368d3c PPU: Fix access violation on logging 2024-06-23 19:29:13 +03:00
Megamouse
c2899ad4cb Replace sys_io log channel with cell module log channels
For more granular log filtering
2024-06-23 15:54:13 +02:00
Elad Ashkenazi
649714429b SPU: Notify threads on RdEventStat properly 2024-06-20 00:51:51 +03:00
Elad Ashkenazi
dbb02241c5 SPU: Cleanup GETLLAR 2024-06-20 00:51:51 +03:00
Elad Ashkenazi
f228ca7961 SPU LLVM: Avoid sinking stores out of non-loops 2024-06-20 00:51:51 +03:00
Elad Ashkenazi
5b973448bf SPU: Better GETLLAR spin detection 2024-06-15 22:41:52 +03:00
Elad Ashkenazi
d5935a37bb SPU: Notify threads if data changed in RdEventStat 2024-06-15 22:41:52 +03:00
Elad Ashkenazi
5693cc9eb3 SPU: smart GETLLAR spin detection 2024-06-15 22:41:52 +03:00
RipleyTom
feff2ba09e Fix race in sys_net select and poll 2024-06-14 10:52:34 +03:00
Elad Ashkenazi
caf81f1367 LV2: Race condition fixup 2024-06-12 12:41:15 +03:00
Elad Ashkenazi
f58b418b7d LV2: Optimization for timeout 2024-06-12 11:31:56 +03:00
Elad Ashkenazi
cec976b70a Minor fix of sys_lwmutex_destroy 2024-06-12 11:31:56 +03:00