-
-
Notifications
You must be signed in to change notification settings - Fork 279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Xbox Live Communicator Support #1188
base: master
Are you sure you want to change the base?
Conversation
Could this be added as a page on the website as well? |
There a few potentially related commits in upstream qemu. Not sure if this will fix the issues or not but some are atleast specific to OHCI isochronous transfers which is promising. |
We are overdue for a merge if you want to take a stab at it |
When it is confirmed that this feature works without issues please notify me, i would like to integrate a UI for those monitor commands. |
Decided to play around with this. In Manhunt the narrator speaks through the headset speakers when it's attached, however it's not doing that with this PR. |
And using the microphone in Karaoke Revolution Party is not functional at all although it does detect it. |
Could you provide some steps for what to look for? I was able to play about 45-60 minutes of PSO with a player using the PR and it worked the entire time until he had to go. My copy of N.U.D.E. got here today too so I have a better test game to use. I was able to loop Audio through the test screen for that for about 30 minutes, and also play some of the opening but I had to stop to work on something else. |
What OS? It basically just stops working for me. it can be encouraged to fail by dragging the window in short quick bursts to make it pauses/resume alot |
Linux. I'll try dragging the window around a bunch. |
Maybe a windows thing. I'll try repeat it on Linux soon |
This adds support for the Xbox Live Communicator peripheral. As there's no GUI element yet, you connect this within the xemu monitor:
See #1126 for details regarding the device's protocol.
It uses qemu's audios backend (AUD_*) API to read, resample and playback audio. It will just get microphone audio from the default input device. I reenabled audiodev for windows builds. I didnt notice log spam in current xemu master.
The game N.U.D.E has this simple loopback test screen in the options menu. I also tested in Rainbow Six 3 (voice commands) and Phantasy Star Online (loopback test in character creation screen). Ive tested all the supported sample rates.
Currently in draft due to a couple issues:
https://github.com/mborgerson/xemu/blob/8d274e5f9a9dbe777ffba6a8b3d269adbf682690/hw/usb/hcd-ohci.c#L689
If we hit this overrun ~3 USB frames in a row, XDK seems to just stop polling the USB endpoints so the device will stop working and needs to be re-connected. Its unclear why this should happen as all the clocks should be in sync? It is worse if you pause the emulation and resume it or drag the xemu window around etc.