-
Notifications
You must be signed in to change notification settings - Fork 22
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
Eyetoy Support #30
Comments
Yes, please. No one seems to have attempted to get into EyeToy emulation, but all EyeToy titles would most likely jump directly to the Playable category if there was full EyeToy emulation. It's just a camera, it can't be that hard, right? Heck, the EyeToy can be used as a PC webcam. |
Notes: Patch 1: try to resolve it but SuperSpeed endpoints are disabled: usb_desc1.txt. Untested
|
Is there any difference? Seemed to "work" anyway. |
I haven't seen any difference. It is getting stuck the same |
|
|
So the data was still MJPG, just different header or some huffman compressed raw? |
Thank you guys for working g so hard on this. I think peripheral emulation is going to be one of the last biggest compatibility boosters! I also have an eyetoy and singstar. If doing some sort of straight passthrough would help figure out what's the plugin issue and what's a core issue I'm here to test |
Yes, thank you. I'm looking forward to this, this is most likely the only thing keeping all the EyeToy games from immediately jumping to the Playable category. |
Frames conversion works now: Florin9doi@85ffc3c |
You guys are amazing |
Play 2 is still just green background and keeps spamming reg 0x71 which i don't remember what it was for
|
I know and I made a ticket @PCSX2/pcsx2#3432 but no reply so far. |
The eye toy has a couple led lights on the front of it that it controls. Might it be trying to access those? |
Doh, it's the led. |
In this case, it's the misLED. |
so it's basically bitching at you for a brighter room |
I pushed a new commit to capture video from a real webcam (v4l) but is noisy with many corrupted frames: https://github.com/Florin9doi/USBqemu-wheel/commits/eyetoy |
Extend/modify the API in Eyetoy v4l driver itself support YUYV? Keeps sending JPEG :D
|
It doesn't. The frames should be decompressed. |
What's left :
|
I can test on hardware to see if it needs to be mirrored. It might also be nice to have a working driver for the actual eyetoy on windows 10. |
it works disabling testsigning, installing the old driver and enabling testsigning again |
You mean driver signing? |
yes |
Tried that |
Any progress on this? Still waiting for a fix for Antigrav. I also don't see the eyetoy branch anywhere. |
The two active branches are master and develop. Eye toy support is there. The problem seems to be in pcsx2's ipu code around certain color spaces and no one seems terribly anxious to fix it. |
Dang, that's the only reason I wanted EyeToy support honestly. If knew anything about programming I'd look into it, but I couldn't script or program to save my life. |
You have more information ? |
I made a patch that got eyetoy play to show a picture by activating the rgb functions. The picture is fucked up and because of that the game isn't playable. |
where is the patch ? |
I'll send it to you when I get home |
Basically I sent the emulator from the ypbpr function to the rgb function |
Again. This is the video of it "working" |
Ok, I made a patch as you said for PAL :
The color issue is expected considering that it uses an incorrect function to decode the frames.
|
there's something there. the plugin IS sending the data. I have no idea why the emulator isn't doing anything with it. |
i also found an eyetoy game that currently works and has debug symbols. it's Boboboubo Boubobo: Shuumare! Taikan Boubobo https://wiki.pcsx2.net/Boboboubo_Boubobo:_Shuumare!_Taikan_Boubobo |
For some reason this no longer works on the latest PCSX2 builds, specifically the 1.7.0 dev builds. It detects my webcam like the 1.5.0 builds, but just gives this weird static color image instead of using the webcam: |
@SlyCooperReloadCoded just try opening/closing config dialog or pausing/resuming PCSX2. There's some weirdness with DShow currently. |
Also, where's the latest plugin in the develop branch? I tried downloading an artifact, but it wasn't detected as a plugin in PCSX2. Edit: tried pausing, resuming, and messing with the config menu. Still getting that weird screen. |
FFS why can't you still trigger a branch build from appveyor ui, gaaah @SlyCooperReloadCoded try these https://github.com/jackun/USBqemu-wheel/releases/tag/0.10.0-10 |
Hm, that one doesn't have EyeToy. Isn't develop the branch with EyeToy? |
Uh? I have only 32bit version installed and that works fine so check that you actually selected |
0.10.0 release version has eyetoy in it but so do the master and develop branches. develop has the most up to date code in it and it works on 32 bit but crashes on 64bit |
I downloaded that develop version and EyeToy wasn't an option. |
here's the latest develop builds for 32 and 64bit |
Not only did that work, but it also fixed the static color image and it now works fine. Also, I found another game that doesn't work with it yet. The PS2 version of Harry Potter and the Prisoner of Azkaban has EyeToy minigames. Similar to AntiGrav, it doesn't detect input. However, it also doesn't detect that an EyeToy is even plugged in, probably for that reason. |
Kinda unrelated, but PCSX2 is slowly working on integrating its plugins into itself, meaning no plugin selector. They're working with the devs of another plugin that adds network and HDD support, but I hope this is getting integrated too. |
OV519, register 0xA0 is setting the output format : 0x33=JPEG, 0x42=MPEG. Needed if we will support different formats. case VendorDeviceOutRequest | 0x1: //Write register
switch (index)
{
+ case 0xA0:
+ if (data[0] == 0x42)
+ Console.WriteLn("EyeToy : configured for MPEG format");
+ else if (data[0] == 0x33)
+ Console.WriteLn("EyeToy : configured for JPEG format; Unimplemented");
+ else
+ Console.WriteLn("EyeToy : configured for unknown format");
+ break;
case R518_I2C_CTL:
OV7648, register 0x12, b6 (0x40) is setting the image mirroring. Now we always send a mirrored image, but some games ask for a straight image. @@ -376,6 +403,14 @@ namespace usb_eyetoy
{
s->i2c_regs[reg] = val;
}
+ if (reg == 0x12 && (val & 0x40))
+ Console.WriteLn("EyeToy : mirroring ON");
+ else if (reg == 0x12 && (val & 0x40) == 0)
+ Console.WriteLn("EyeToy : mirroring OFF");
}
else if (s->regs[R518_I2C_CTL] == 0x03 && data[0] == 0x05)
{ |
Of course datasheet skips 0xA0 👹 |
I'm going to assume MPEG might have been added after/while partnering with sony? |
Omnivision have had webcam controllers with some kind of JPEG support previously: ov511 and ov518. I assume ov519 was developed together with Sony from the beginning (they also made PS3 and PS4 webcams together), but the MPEG support wasn't advertised because the format is customised to take advantage of the PS2's IPU hardware: it adds some special headers intended for decoder, unrelated to Mpeg. Additionally, it wouldn't make sense to reuse the same name for a different product. I don't have any other ov519 webcam but it's something which may be tested on one of many other products with the same controller. It was used even by Microsoft for its Xbox Webcam. |
i see there is at least some preliminary support for eyetoy in the code even if it isn't active. is there plans to make that available?
The text was updated successfully, but these errors were encountered: