Universal PCB (eventually) thread

systemselect.txt should show pin 9 high, and not have anything at all showing for pin 12. Pin 9, is high for everything but Neo-geo, so the line is pulled high with a pull up resistor on the board. When making a button select USB cable, pin 9 can be tied high, but there is no reason to; leave it unconnected. For pin 12, it shouldn’t matter which way you connect it; just leave it disconnected. If you can show me where it’s confusing, I’ll be happy to edit it.

Okay, then it definitely isn’t the cable, I had it right the first seven or eight checks-over.

I’m honestly starting to wonder if it’s USB voltage. I’ve been having random issues with that. I’ll test it on another machine tomorrow, take proper voltage measurements, etc. This motherboard is a piece of shit (avoid anything with an Nvidia chipset like the plague, people).

Have you tried any other cables? if not, post up pics of the board; I’ll see if I spot any problems on the board.

I haven’t made another cable. I’ll post pics of the board in the morning, but I doubt you’ll see anything my gf and I didn’t, we’re both robotics engineers and work on this kind of stuff. Still, can’t hurt to get help, and you certainly know this PCB better than we do. Still, for the moment I need my rest. :slight_smile:

Not trying to pass judgement on you or your girl’s ability :slight_smile:

For troubleshooting’s sake, removal of the 4066n chip would be a good idea.

If you have the ability, it would be very helpful if you had something you could power the board with; the board should work anywhere in the 2v-6v range, but the closer to 5v the better; I use the ICSP cable from my programmer frequently, just make sure it isn’t pulling the MCLR line (PIC pin 1) down. If you can power the board with the USB cable connected but not plugged into a PC, and with PROG shorted, it should try to start up the bootloader. Check the voltage on PIC pin 1; it should be held high. If not, fix this and come back. If you check the two 22 Ohm resistors, one should show a low voltage (0.15v on mine) and the other should show a high of 3.3ish volts (these are readings when powered, but NOT plugged into a USB host or hub or anything else). If you see those readings, then the USB module is on and active, so you know the bootloader is programmed in. If not, program the PIC again and come back.

If you do get those readings, and you’re as sure as you sound about the lack of shorts, doublecheck the D+ and D- lines in the cable. Fix if not right, or continue if the D+ and D- didn’t get switched around. (If they’re switched, the PC will think its a low speed device, and I have no idea if that would work.)

Next, remove the USB cable, and use some wire or a paper clip to short pins 1 and 9 on the d-sub. If the UPCB code is installed, it will skip the bootloader, detect it as a NeoGeo cable, and all of the Dsub pins except 1, 8 and 9 will be outputs, and high if the matching button/direction isn’t pressed. Use a jumper (or the pushbutton if its installed in a stick ) to short Select, the pair of pins in the button connector closest to the edge of the board. You should see pin 3 voltage drop low when Select is pressed, and high when not. If you see this, then the UPCB code is installed and working. If not, try to install the firmware with the bootloader or PIC programmer.

If the D+/D- pins are not swapped, and the bootloader is present, and the USB still isn’t working, the only other thing I can recommend to check is the USB capacitor, the one connected to PIC pin 18. It should show a voltage of 3.33ish volts. If its different (say, more than 3.5 or less than 3.1, but those are total brown finger numbers), the first thing to do is try another PIC in case the power converter inside got fubared; if that doesn’t help, check the orientation of the cap, otherwise replace the capacitor. (470nF/.47uF is what I have down, and is most recommended from PIC users of this model. You shouldn’t go higher, and 220nF is the minimum. The ones in the kits are tantalum, but I’ve used aluminum electrolytics just fine.)

Let me know how it goes. I want these bad boys up and in use.

>>> Check, check, check, and check.

Check.

Interesting. I’m getting about 4v on pin 3 regardless of whether select is pressed or not. Not sure if you meant pin 3 on the PIC or the Dsub, but apparently it doesn’t matter, I’m constantly getting about 4v on both in both cases, which is quite strange. I’m going to look into wtf’s going on further, but it’s now definitely possible we have a PIC-related problem.

I meant to short dsub pin 1 and dsub pin 9, and to check the voltage on dsub pin 3. I should also be clear that the short between 1 and 9 should be there before power is applied.

Which .hex did you program the chip with? You should also try the first tests with the USB cable connected, but without PROG shorted. If the voltages on the 22 ohm resistors don’t match, then you’ve got pretty compelling reason to believe the bootloader is flashed but not the UPCB firmware.

I don’t recall, but did you try plugging it into a PC with PROG shorted to get the bootloader before?

Yeah. Did that.

Also, all this is with UPCB_18_L.hex.

I haven’t tried plugging it into a PC with PROG shorted to get the bootloader yet. Will try that as well.

The Playstation converter support has hit a bump that I’m still working on fixing; the SPI module is for some reason losing the first bit of each byte when it should be setup properly. How it can possibly send out the data at the right time, but not be reading at those same times, I just don’t know. I haven’t given up; this WILL be fixed, but I’m waiting on some jumper wires to arrive in the mail to help make the troubleshooting easier. I’ve also got a number of forum posts on PIC forums asking for help, but I’d bet I find the answer before anyone posts up what the problem is. So, that’s in progress but on temporary hiatus.

I have two kits left, so it’s time to start thinking about the next batch. Kaytrim pointed out to me a place to get screw terminals at a reasonable price, and I’d like to use them in the next batch. They’re like those barrier strips people like TMO use in their sticks; you put the wire in the hole, and use a screwdriver to tighten the thingy onto the wire. Viola, installation without soldering or dealing with IDC connectors or the crimp stick connector. Downside is that you’d have to daisy chain the grounds, but I think the idea of a solderless installation would help make the UPCB look less scary. You can see screw terminals in Kaytrim’s trading outlet thread: http://forums.shoryuken.com/showthread.php?t=158934
He paints the tops of his, but otherwise they’re identical.
I’d like the board to come out a bit like this. I have to remove the input NeoGeo connector, but otherwise the layout will be the same as the Rev 2 board, which I REALLY like.

http://img300.imageshack.us/img300/6914/upcbwstrc7.png

I’m also mostly ready to put in the code for record/playback. I have some good ideas for supporting it (such as being able to download/upload recording to a PC) but I’m having doubts about how the interface should work for the user. Inputs on this would be very appreciated. How should the record/playback mode be started? Once in the mode, how should the recording be selected? Once selected and loaded, how should the user choose between full playback, frame by frame playback, rewind, looping, pause, and frame by frame re-edit, selecting different recordings, exiting record/playback mode, direct recording, and frame by frame recording? I’m not much of a usability expert. What is currently planned is 1K on RAM per recording; that’d be 512 frames of data, or 256 frames with each frame repeated up to an obscene length of time (2 frames-prolly 2048 frames (30 seconds)). There will be additional commands for looping, variables, and other stuff, but they’ll only be usefull to those writing out the recordings on the PC.

And I’m starting to bread board the pieces for DC support. It’ll be a long time before its done, but I can at least get started. Using a dsPIC30F3012 at 20MIPs to start with, and a LC1025 i2c EEPROM for VMU storage. First I have to code in and test the hell out of the routines that read the maple bus, then I gotta record a bunch to understand the actual commands, and then, you know, actually make it work.

The only suggestion I have is to use the program button in some manner, so that recording/playback can’t be done accidentally. Perhaps program button + a direction?

WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOT!

Xbox1 is now my bitch. Im a gonna flash my real stick, play some, and package a release when I’m satisfied. I havent tested any games, but I can set the clock and manuever around the dashboard just fine :slight_smile:

Version 2.1 released, first post updated.

Changes:
-Xbox, bitches. :slight_smile: Button mapping has Fierce and Roundhouse as White and Black, and the extra buttons, if you have them, are the triggers. If any tweaks are suggested for other modes or mappings or analog/analog click support needed(maybe to work on freaky emulators or some such), feel free to request as that’s easy to do.

:pray::pray: This is too good. Toodles rules! :pray::pray:

n1

Does it require a completely separate cable to the button select, or is there some cunning way to get away with a plug-end-converter? I’ve got a couple of xbox plugs spare from xbox pads that I hacked the end off and put normal USB plugs on instead… I could easily make a female USB->xbox converter :slight_smile:

Ya know, I was debating leaving in a button select combination to force Xbox for that very reason, but it seemed a bit too far fetched. If you seriously want to do that instead, say so and I’ll put in a button combo to do it (prolly Strong+Forward). Tell me which revision you use (B, BP, XP, etc.) and I’ll put up a .hex for you, and add it into the full version whenever the next release is. (Unless others also say they want that, in which case I’ll push out a new version with it immediately.)

Could someone please post up one of those snoop logs from a HRAP3/VSHG/whatever device? I expecially need the stuff that goes by as soon as it’s plugged in. The one Canto posted was great, but the post expired; he must’ve set the expiration at five days or so and I didn’t stash it. I’m borrowing my neighbor’s PS3, and have a VSHG pcb that should arrive tomorrow, but I’d like to have as much of the legwork done before it arrives. Now that I know how to save the oddbal requests and query the real controllers for the answer, like I did for Xbox, I hope to be able to do the same with the VSHG PCB as soon as it gets here.

Forwarded you the same dump I sent to invzim

Got it; looks perfect. Has all of the information I need. I’ll post up if/when I make any progress.

It’s probably not worth it really, since it will require a converter plug anyway - may as well just have the entire cable. Probably better to not clutter the button select cable with lots of button combinations.

Cheers though :slight_smile:

I had a thought on this, I’ve got some 360 Madcatz pads that I’m going to use through the pass through on Universal PCB. Now I was going to use the cables from the pads as my USB cables and they have the little detachy things before the main connector. I wonder if it’s possible to remove the USB end and put a original Xbox end on instead. Voila! You could have duel use out of the cable, if the above mode select was added.