That’d be great, but the connectors are just slightly different between the two. I can’t get any Xbox ends to fit on any Xbox 360 cables, or visa versa.
My main reason for being kosher with the idea is how cheap and common the Xbox-> USB adapters are. The Xbox cable could be wired to the d-sub as a button select, and the USB adapter used.
Tried the former: voltages on the resistors do NOT match.
Tried the latter: no go.
A quick update: I also tried on a system that I know has proper USB output voltage, I know because it’s the box I used to program the PIC. Nothing worked. I’m stumped at the moment.
Just to clarify, the voltage on the high one of those resistors was right at/very near 3.3v? If it were here, I’d be swapping it out for a known good PIC and trying it. What we know is that the PIC is getting power, and the system select pins on the cable are properly telling the PIC to go into one of the USB modes, but the host isn’t able to communicate with the board. List of things I’d be looking into:
-Replacing the PIC with a known good. Easier for me than you, so not much help, I’m sure.
-Verifying the configuration fuses that the PIC was burned with; I dont know the proper hex codes it uses, but making sure the programmer burned in the configuration fuses in the hex file (the bootloader.hex if you’re using 2.0 code, any any of the UPCB*.hex’s in earlier versions)
-Checking for any shorts in the D+ and D- lines. I know, you’ve done this.
-Checking the crystals and caps to make sure they’re working ok together. I’m a little vague here because I’m not really certain how I’d go about doing that. I’ve heard that the capacitance of an oscope probe can cause an otherwise working PIC to go wonky, so I’m not sure. Hunt down a datasheet for the crystal you’re using and see what it says for the capacitors it should be paired with too see if the caps you’re using comply.
I’ll make a post on the Microchip’s forums to see if we can get any other insight, especially on the crystal.
Not even close, they were both in the millivolt range, high was in the 90s, low was in the 40s.
I’ve got a datasheet for the crystal I’m using, caps are compliant.
I’m leaning towards bad PIC or big screwup. Gimme a bit to play around with the programmer, and see what I can do, otherwise I’ll send you one of my spares for programming.
I’m getting the same “usb not recognized” message as Kuprin with usb cable winXP, and I get no response with psx cable. I wired both for button select. Here’s my assembly effort
The clarification on the voltages would have been handy to know earlier So, let me see if I have this right:
The Neogeo test: Power was applied to the board, with no UPCB cable connected to the D-sub, but with the d-sub pins 1 and 9 shorted together. The voltage on d-sub pin 3 should go low when the Select button is pressed, and high when not. Your result: Voltage on d-sub pin remained constant.
The USB voltage test: UPCB button select cable was attached but not plugged into anything. Board was powered on with the Program button shorted. One of the 22 Ohm resistors should show 3.3v. Your result: Both of the resistors showed very low voltage in the millivolt range.
That tells me that it is almost certainly a problem with the PIC, most likely the programming. If the bootloader were installed, then the bootloader would have turned on the USB module, which would have turned on an internal pull up resistor, pulling one of those two lines to 3.3v. If the UPCB code were in, the Neogeo test would have worked with almost no regard to any of the other subsystems.
Power the board, make sure the voltage on PIC pin 1 is high. If it is, you definitely need to reprogram the PIC next. Do a bunch of verifies and make certain the configuration bytes from the .hex file are burned and verified as well.
Assembly looks great; a scan of the bottom to check for shorts would be nice, as well as a good eyeballin from you to make sure no pins were missed. Otherwise, if you can rig a power source for 4.5-6v volts, there’s been a lot of tests posted up for Kuprin recently.
It’s difficult to see, but the top pin is the left position, which would be pin 2 on the pcb. After my next game of dbsub twister, I’ll get back to you
Rewired the output but haven’t tried it yet because I’m getting some continuity between gnd and vcc. When checking continuity, I use the setting “XK”, and the reading is about 18ohms. Is this ok?
Edit: I went for it, and it works! Well, winXP recognized it, but when programming it, I keep getting “Failed to program config data”, with each compatibility mode.
The numbering of the IDC doesn’t make much sense, I’ll agree, but it is setup that way for a reason. The topmost pin in your picture is IDC pin 2, which goes to d-sub pin 1. Next is IDC pin 1, which goes to d-sub pin 9. IDC pin 4 goes to d-sub pin 3, IDC pin 3 goes to d-sub pin pin 10, and so on down the line. The last IDC pin, pin #15, doesn’t go to the d-sub at all. If you can find a d-sub 15 connector with ribbon cable, which is fairly common piece with some, especially older, motherboard, then you’re set. Almost all of them use that pinout, so if you can find one, you can save the hassle altogether.
Gotta find and fix that. That’s way too low; you’d be bleeding 250mA for no reason.
Version 2.2 released. Changes:
-PS3 support now include the PSX/Home button. Controller reassignment, game exiting, all of that. I can’t test PS2 BC games because I only have access to a 40GB model, but there is no reason at all for it to not work; anyone with a 60GB or 80GB model, confirmation would be very appreciated.
-PC USB support has been removed, since the PS3 part works fine on PC’s. The same stick options (default: stick is reported as both POV hat and X/Y (PS3 D-pad and Left analog respectively). Holding down Start when plugging in: POV hat/D-pad only. Holding Select when plugging in: X/Y Left analog only) remain.
Damn, Xbox and full PS3 support within the space of a week. Looks like PSX converter support is next, although there isn’t much left that we’d need a converter for.
EDIT: Forgot to mention: Start and Select together activate the Home button.
I’m not 100% sure. I recorded all of the Setup packets being sent from the PS3, and wrote some really small libusb programs to send the same packets to the VSHG, recorded the response, and made sure the UPCB sent the same. If I had to guess, I’d say the Class request GET_REPORT.
Damn, I have to use the microchip framework as I do composite device with two joypads, and finding that stuff will be hard Your revere stuff also magically fixed so that the VSHG hid descriptor worked under windows?
I never had a problem with the HID report descriptor working under windows (at least, that I can remember).
Make sure to change the size of your endpoints, all three of them (EP0 In and Out, and EP1 In), to match the sizes given in your Device descriptor. I think some of the code in the Microchip framework I originally was using expected 8 byte endpoints.
I’m in the middle of a home renovation project, but I’ll see if I can try it tonight. If it works I’ll let you know ASAP.
EDIT: Tried to use two different XP computers, and both give me the “unknown device” error that refuses to recognize bootloader mode. Maybe when I get my system back up this weekend I can update - hopefully somebody else will try before me.