Universal PCB (eventually) thread

Hi all,

@Toodles:

yes, thanks so much for the gerber files. Great! Regarding my problems: I’ve made only errors which are usual when building up things first time:

  • Mistake a female DB 15 pin for the stick side. This results in false pinout
  • Made a PS2 console cable for not supported Dual Shock 2

This was the main problems I had to face. Now everything is running correctly!

Thanks for this great piece of hardware!

Hey Toodles, thank you very much for the Gerber files, you made me save many hours…
I was finishing to reproduce the schematic on Eagle, then I would have designed the circuit, basing on the two photos I had, and I think it would have been pretty accurate. :wink:

Sorry I missed this RGB.

That’s normal with the newest firmwares.
http://forums.shoryuken.com/showpost.php?p=5293619&postcount=595
As long as the ‘Programming FLASH Completed’ comes up, then your firmware is programmed successfully.

You should tell me more about your supergun, especially if you know the pinout of the controller connectors. If your Neo has the onboard AES connectors, try that first; supergun stick connectors vary wildly, but AES connectors are a constant.
Mild tech spew about the supergun/Neo mode. To detect that it is connected to a Neo, it checks d-sub pin 9, the one that is normally not connected to anything on every other console cable. When connected to a Neo AES jack using a fully pinned out cable, pin 9 is pulled low by the console, which the UPCB sees and knows it needs to go into Neo mode.
The problem is that the way supergun sticks work is pretty universal; their pinout is NOT. If you’re using this on a supergun, you HAVE to know the pinout of the stick connector, and compare it against the pinout in the neogeo.h file. IF, and this is a big one, IF the supergun stick connector tries to use a neogeo style connector, that’s fine, your pins will match up for the supported buttons and stick. But most try to get kinky with the other three pins, namely pins 2, 9, and 10. You can read the neogeo.h to get into on how the Neogeo uses them as a bank select to get additional data from, say, mahjong controllers. The UPCB uses pin 9 for Neogeo detection, and pins 2 and 10 for additional non-Neo buttons Fierce and Roundhouse.
If you absolutely 100% want the perfect working Supergun cable, then wire up a cable using the neogeo.h file and the pinout for your particular supergun, and make sure d-sub pin 9 connects to ground on the UPCB end. If you want a simpler solution, it is very possible, but I don’t want to even mention it without getting the full pinout for your supergun stick connector.

As for the other systems, the console detection is checked solely by which pins are connected hi or low on the cable. Nothing else. If their behavior is erratic, then you have a loose connection somewhere.

Hi,

The supergun I have is a custom one I bulit myself. I used the dsub9 connectors and the neogeo official pinout accorind to gamesx.com info.
I double checked the cable of the supergun (which as well is the custom made, not a simple neogeo extension cable) - pin 9 is connected with ground.
I have a theory regarding this particular case - when I plug in a neogeo cable, some of the the pins must give a signal that confuses the upcb and it doesn’t boot the appropriate mode. Maybe what I say now will help - directionals work everytime, but it is the rest of the buttons (abcd start select) that don’t work.

Cheers

Yeah, that would have been helpful to know :slight_smile:
As long as pin 1 is ground, pin 8 is power (VCC, +5v, whatever you want to call it) and pin 9 is low (connected to ground), it will go into Neo mode. If the directions work, then it is 100% guaranteed to be in Neo mode because nothing else comes close to that pinout. If the buttons you listed aren’t working, then either something kinky got done with the supergun, which I doubt, or you’re using an XP version of the firmware and haven’t checked your button mappings. Probably the easiest test/fix if this is the case is to make sure all three kick buttons are held down when you plug it in so the button mappings will all reset to default. Do that once, all of the mappings will be reset, and you won’t have to worry about it again. The behavior you’ve seen on other consoles may be related to this problem, since most games want you to press a button before you can see anything from moving the stick. Reset the mappings once and you should be golden.

Please folks, give me ALL of the information you have when reporting problems.

Resetting the mappings did the job ! It’s amazing how you instantly know where the problem lies :slight_smile: Thank you.

Hi all,

I’m just building up the dreamcast piggyback for my UPCB.

I’m just wondering what is the the exact functionality for the XBOX_PB_SELECT and DC_PB_SELECT lines?

I assumed that they’re for switching on and off the piggybacked controllers, but then realized that the cables do this job…

Thanks for your answers…

Bencao

the *_PB_SELECT lines are output lines that are high if that piggyback connector is being used by the UPCB. It’s the same line that activates the analog switches on the 4066n. There’s is nothing you HAVE to do with it; you can ignore it if you like, but if you wanted to get kinky with it, you could use it to, say, turn on or cut off power to the board.

Most folks ignore it, but it’s there if you want.

Just noticed something after playing SFHDR on ps3: the default buttons use L1 (fierce) and R1 (roundhouse) instead of R1 (fierce) and R2 (roundhouse), which I have on my (6 button) hrap. I can’t remap and save L1 -> R1 if I don’t have L1 (right?). How easy would it be to add the alternate default mapping with L1 and R1 if a certain button combo is held at startup? Better yet, could the prog button be used to save multiple button mappings (instead of just one w/ start x3) for a given system? The reason I ask this is in case SF4 uses R1 and R2.

Does it really? Crap. I had always planned on it being R1 & R2 for fierce and roundhouse. I’ll doublecheck tomorrow and get it changes in the code.

GC cable

Hey Toodles,

Need your help with making the Gamecube select cable.

First of all, the diagram in the gc.h is for the socket/port for the gamecube/wii, correct? So that means that on the cable I’m working on, the pin layout is flipped, right?

gc.h has it as:

                              _7_
                             /      \
                            /1 2 3\
                            |-----   |
                            \4 5 6/
                              -----

But on my cord, it would be the following, right?

                              _7_
                             /      \
                            /3 2 1\
                            |-----   |
                            \6 5 4/
                               -----
	   
	Pin 		Description
	1			+5v (See note below)
	2			Data
	3			Ground
	4			Ground
	5			Unknown/Not connected
	6			+3.43V (VCC) (See note below)
	7			Cable shielding/Ground

Also, I’m supposed to connect the 5v to pin 8, not the 3.43V, correct?

I can’t seem to get it to work with my Wii…so I’m trying to confirm this first.

Correct. If you look at the end of the cable that plugs into the GC, then pin 1 will be to the right of pin 2.
Yes, GC pin 1 (+5v) is the one you connect to d-sub pin 8.
If you want to verify you have it right, use a multimeter with the black probe on any of the ground wires, and the red probe on pin 1. Set the multimeter to voltage, and the voltage should read right about 5v. If you have pin 1 and 3 backwards, it will show -5v.

Hmm…it checks out at 5v, so I’m not sure where I went wrong…I’ll try updating my UPCB firmware and see if that helps…

Edit*

Ok, I update the firmware and no go. Pin 8 reads at 5v, pin 14 (data) reads at 3.35. Ok, here’s a stupid question, could I have reversed the pin order?
Pin 1 is on the left on the male side of the db15 connector, right? I’m not sure where else to look, as far as I know, the UPCB works fine for my ps3/pc, but is there something else I might’ve missed?

Pretty much every DB connector you find has the pin numbers listed on it. You gotta look real close, but the pin numbers are usually printed next to the pins in the blue or black plastic between pins, on BOTH sides.

Grab the DB-15 male connector. Look the pin side, like you’re going to plug it into your eye. Turn it so the row with 7 pins is on the bottom, and the row with eight pins is on the top. The top left pin is pin 1. The bottom left pin is pin 9. Top right: 8, Top bottom 15.

just to be sure: Connecting *_PB_SELECT via a switch to GND will do turn on and off power to the board?

?? No. Connecting either *_PB_SELECT to ground will cause a short between a high output pin on the PIC and ground whenever the UPCB detects that piggyback output cable is connected.

The *_PB_SELECT lines are outputs from the PIC. Under normal operation, both are low. If the UPCB goes into Dreamcast piggyback mode, the DC_PB_SELECT line goes high and stays there. That line turns on the analog switch gates that connect the Dreamcast data lines to the outgoing lines. That’s all. You can use it as a digital signal if you want to do something kinky, but you don’t have to. I recommend most folks ignore it completely. Just don’t use it for anything if you’re not sure what to do with it.

I was afraid you were going to say that. It looks like I did it correctly for the gamecube select cable, but I get no response from any Wii games that I’ve tried (tatsunoko vs capcom, metal slug collection [games that support gamecube controllers]). Any ideas?

Triple check the system select wires. Make sure nothing is connected to pin 9. Check for shorts between pin 8 and pin 1. Start up a VC game; if it goes into the game with the stick attached, but doesn’t react, do the ‘plug in with the three kicks held down’ trick to reset the mappings. If the board is getting power and the system select pins are set right, it will go into gamecube mode.

Ah, okay, this makes more sense. I turned on SFHDR and checked the default UPCB firmware from 2.5; fierce is R1, roundhouse is R2, just like it should be; its pretty much the default for any 6 button fighters on PS2, PS3, and most PS1 fighters. According to the MadCatz fight pads, it’s going to be the default there as well.
I can see what you’re saying about wanting a way to default to L1 and R1, but I dont see how the work would benefit anyone. The SFHDR button config is the best in the business, and in the case of tournament games, everyone else will be playing using R1 and R2 because that’s how their sticks are already setup, because its the default for everything else including SF4.
I won’t say what you’re asking would be HARD, but I really don’t see the benefit of the additional work to try and streamline things for the one oddball game that already has the easiest button setup in the world, that will likely backfire in a tournament environment. If you can sell me on it, I’ll do it, but I just don’t see benefit vs. PITA scales tipping to the benefit side at all.

Ok, point taken. I do have a convenience motive for having L1 and R1, but it’s not worth your time; I thought it would be a trivial modification. Plus, as you say, it’s irrelevant if the tourney game is already configured for R1 and R2, which nearly everyone uses.

On a side not, the TE stick has R1 and R2 in the main six layout, so SF4 will likely use those as default anyway.