My 2 Rush 2049 SE conversions to emulation racing machines (work log)

I suspected your encoder was individual GPIOs to ground... I wouldn't have expected it to be a matrix. The only question I had was the mechanics in getting the inputs to yield a specific output. The "Keyboard.Press('x')" noted in the example I found online was the missing piece for my understanding.

Between the example you linked, and the code sample I posted, along with the 2049 schematic(7 wires in a std 3x4 matrix just like the example you linked) a feller should have all he needs to build that encoder. (Yes, I'm aware the 2049 keypad has 8 pins... one pin is unit ground which IIRC isn't hooked up on the machine.)

Thank you for your input!
~D

There's lots of other code examples in case that one doesn't work 100% for you. There's more than one keypad library and there's always more than one way to skin a cat in this scenario. I wouldn't worry much about the code as much as getting the matrix pad onto an arduino accurately is going to be crucial here. You also do not need an arduino uno for this project. You can use the cheaper arduino leonardo for this as you only need about 7 pins.

The rush schematic also gives some clues on which line is the rows and columns.

1757721558796.png
 
I am trying to work through some noise in the speakers right now, and once I solve that and figure it out, I plan on cleaning up the wiring a bit and getting to work on the other cabinet, hardware wise.
 
Okay so it basically turns out that the speaker interference was due to the cables I think. I purchased some better quality shielded cables, and the interference is basically completely gone unless I turn the speakers up way too high than I want them to be anyways. I have them set probably like 25% volume and have it 100% in windows and that is probably as loud as I will go.

I did some cleaner wiring so that I could run the power and speaker wires completely separate. I am pretty happy with how it turned out.

f5qUbLK.jpg

lfbd4hL.jpg

Also for the FFB and getting weird behavior with Virtua Racing, I have solved that problem. It was just a setting in the "Fine Tune FFB" settings where I had to adjust the "TRQ Deadband" ever so slightly, from .01 to .06. Basically it's adjusting the deadzone I think, based on talking to that Aganyte dude. But when I did that, I am getting much better behavior.

I plan on cleaning up the wiring a bit with zip ties and stuff before I close the back up, but I think I am basically done with the hardware for the time being, unless I decide to somehow do the keypads down the road.

Then I can start working on the other one lol.
 
Also, since there is already an Arduino on the UFFB, I am going to ask the creator if he thinks it's possible for me to get the keyboard working with it.

Looking at some stuff this evening, it looks like a 3x4 matrix keypad would need to be wired to digital 9 through digital 2 on the Arduino. At least the examples show that.

I am guessing that those pins are mapped SOMEWHERE on the UFFB itself but even if it, I could hook into it on top of the arduino.

But then once I do that, I don't know what to do. I don't know if loading new software overwrites the stuff on there already or if it just adds on to it.

So I'm just seeing what the dude says.
 
But then once I do that, I don't know what to do. I don't know if loading new software overwrites the stuff on there already or if it just adds on to it.

It will override what's already on there assuming that The Arduino that's on this hardware is even writable by the end user.

The only difference between an Arduino and your standard over the counter atmel AVR is the bootloader which allows easier tool chain and communications support with the official Arduino software and back-end tools like AVRDude.
 
So talking with the creator he's going to modify the firmware and send it to me and I'm going to reflash it with the updated keypad code. There is a section on the UFFB that is labeled "extra I/O ports" that he's going to add the 3x4 matrix key pad functionality to.

I asked if he could do these 7 points because I have some spare molex connectors I can crimp up they fit perfectly on here.

1758028638715.png
 
I got the new code and am going to flash the Arduino tonight and cross my fingers lol.

After looking at the schematics and stuff, the ROW pins (row0 through row3) are on a 5 pin connector that attached to the wheel drive board.

The COL pins (col0 through col2) are on the JAMMA harness.

The ordering of pins are typically ROWS then COLUMNS.

So I asked him if he could program it so that I could have the 5 row connector (with an empty slot at the end for the 5th pin on the 5 pin connector) and then add the 3 column pins right after that.

That way I can just plug the 5 pin row connector, and then I can pull the 3 pins from the JAMMA harness and wire up a molex connector and put it right next to it. I don't think I have 3 pin ones specifically but I do have some 4 pin ones, so I'll jus leave the 4th pin empty.

So basically it'll be like this and this is how he configured it.

gFMWLTj.jpg

The pin at D27 is the empty 5th pi on the 5 pin rows connector.

It'll end up looking like this basically, but with 3 wires in the 4 pin connector obviously.

umDTTAw.jpg

What I am wondering though is if after I flash it, if I can just plug in the 5 pin row connector and expect to see any output just to test out that it is working or not. I'd like to be able to confirm that it's doing what it thinks I want it to do without pulling those 3 JAMMA pins, if possible.
 
I got the new code and am going to flash the Arduino tonight and cross my fingers lol.

After looking at the schematics and stuff, the ROW pins (row0 through row3) are on a 5 pin connector that attached to the wheel drive board.

The COL pins (col0 through col2) are on the JAMMA harness.

The ordering of pins are typically ROWS then COLUMNS.

So I asked him if he could program it so that I could have the 5 row connector (with an empty slot at the end for the 5th pin on the 5 pin connector) and then add the 3 column pins right after that.

That way I can just plug the 5 pin row connector, and then I can pull the 3 pins from the JAMMA harness and wire up a molex connector and put it right next to it. I don't think I have 3 pin ones specifically but I do have some 4 pin ones, so I'll jus leave the 4th pin empty.

So basically it'll be like this and this is how he configured it.

View attachment 847281

The pin at D27 is the empty 5th pi on the 5 pin rows connector.

It'll end up looking like this basically, but with 3 wires in the 4 pin connector obviously.

View attachment 847282

What I am wondering though is if after I flash it, if I can just plug in the 5 pin row connector and expect to see any output just to test out that it is working or not. I'd like to be able to confirm that it's doing what it thinks I want it to do without pulling those 3 JAMMA pins, if possible.
Plugging in just the 5 pin connector won't work for testing... you would only have the rows hooked up... you also need to have the columns in place to make the individual connections. You could check some functionality by using a jumper to tickle the connections. Poke the jumper into one row pin, then touch it to each column pin one after the other... move to the next row pin and repeat. If there is a test mode for the game that shows connectivity test for the keypad, you should see inputs if it's gonna work.
You could make a grid map with rows down the side, and columns across the top... with the proper orientation, where the row and column intersect should yield a predictable key on the pad

Dylan
 
Plugging in just the 5 pin connector won't work for testing... you would only have the rows hooked up... you also need to have the columns in place to make the individual connections. You could check some functionality by using a jumper to tickle the connections. Poke the jumper into one row pin, then touch it to each column pin one after the other... move to the next row pin and repeat. If there is a test mode for the game that shows connectivity test for the keypad, you should see inputs if it's gonna work.
You could make a grid map with rows down the side, and columns across the top... with the proper orientation, where the row and column intersect should yield a predictable key on the pad

Dylan
I ended up doing all of it tonight and it appears to be working. I can see the raw inputs happening when I press the buttons. I need to figure out how I can turn those into pressing the actual number keys though, or to actual key inputs so that I can use them in configurations and stuff.

Here's a video I took.

I'm pressing the keypad in the order of top left to bottom right, so 1 2 3 4 5 6 7 8 9 * 0 #.

I do find it odd the order that the inputs come out, especially since 1 2 3 comes out as 17 19 18, whereas the other 3 in a row all come out as at least 3 numbers in a row, even though they aren't all straight up in order. But the fact that I'm getting the actual inputs is pretty awesome.

 
And we're in business!


It was actually very easy to config in the Back Force Feeder software. It has to be configured on a game by game basis but I had to create a project r profile anyways and made it. You can map raw inputs to key strokes. So I just mapped all 12 raw inputs to keys.

Bases on what the project r dev told me, I mapped * to the number pad multiply button, and the # is mapped to enter. On project r you can config those buttons they are hard coded to values.

And don't mind the bottom bezel, I need to apply more tape because that white line that goes across sticks out a bit so I need to just out the tape across that too in order for best adhesion.
 
And we're in business!


It was actually very easy to config in the Back Force Feeder software. It has to be configured on a game by game basis but I had to create a project r profile anyways and made it. You can map raw inputs to key strokes. So I just mapped all 12 raw inputs to keys.

Bases on what the project r dev told me, I mapped * to the number pad multiply button, and the # is mapped to enter. On project r you can config those buttons they are hard coded to values.

And don't mind the bottom bezel, I need to apply more tape because that white line that goes across sticks out a bit so I need to just out the tape across that too in order for best adhesion.
The outputs may not have made sense to you because the row and column pins on the edge of the keypad are not in a linear order on the edge connector... they are jumbled a bit so that the pcb could be simplified. I took one of mine apart and had a look-see so I could compare them to some replacement keypads I ordered in from a surplus outfit. It turns out that the replacements were only 7 pins vs the OG pads that had 8... on the OG, one pin isn't used, and the surplus ones turned out to have the same pinout as the OG keypads.

But, long story short... they aren't in a logical order at the edge pins

D
 
Did you have to modify the wiring for this mod, or is this a "no cut" plug and play solution? I kicked around doing this but I didn't want to hack up my original harnesses on my 2049 cabs.
 
Did you have to modify the wiring for this mod, or is this a "no cut" plug and play solution? I kicked around doing this but I didn't want to hack up my original harnesses on my 2049 cabs.
I've pretty much covered this in detail in this thread so you can read back to get the details, but to sum it up I had to pull 7 JAMMA pins and replace a large JST connector with a smaller one.

That said, I was the first person ever to get a Rush 2049 add on board and he designed it for me from schematics in the manual and wasn't able to actually test anything out with a real cabinet. So I cut him some slack for that, especially the JST connector size.

If he were to take my 3 recommendations and made the changes to the add on board, which should be trivial to do IMO, it would be completely plug and play.
 
Here's the "final product" on my first machine. I'm hoping to close it up tomorrow and start the second one.

When I took this I forgot to add my wifi antenna before as well as the network cable for the switch so they can be linked. But you get the idea.

 
Very nice.
Clean layout too!
That vert open frame for the PC is slick.
The only challenge left then I would think is sorting out linking the two.
Who will be the first person you're racing against and what game?
 
Very nice.
Clean layout too!
That vert open frame for the PC is slick.
The only challenge left then I would think is sorting out linking the two.
Who will be the first person you're racing against and what game?
Probably Daytona 2. I have been using that to test stuff out with FFB so might as well continue the trend lol.
 
Cabinet 2 work has begun!

I definitely noticed the wiring is a bit different over on the right side, with all those wire nuts and the plug for the marquee light is also different.

jhHu54a.jpg
 
I think the first technicians to work on the original cabinet I got was a family of mice.

Like yours, my second cabinet also had some wire nuts in weird places so I imagine somebody else was coming behind another rodentia tech but didn't like to use nice butt splice connectors or solder like I do.

Keep going Drew- you're ruling it with this project.
 
Back
Top Bottom