INTRODUCING PROJECT KAJITSU: USB-JAMMA CONTROLLER BASED ON RASPBERRY PI... OH, AND ITS FRE

wataru330

Mr. Wrestling IV
20 Year Member
Joined
Sep 16, 2003
Posts
9,609
INTRODUCING PROJECT KAJITSU: USB-JAMMA CONTROLLER BASED ON RASPBERRY PI... OH...

.
 

mikew

Krauser's Shoe Shiner
10 Year Member
Joined
Mar 28, 2012
Posts
245
To compare to a wired system the same lags apply. For example, the user presses a button just after the Neo Geo has read the joystick port. That joystick state is not going to apply to the game until the next time the joystick is read. In effect there is always lag depending on the time the button is pressed in relation to the next joystick port read so its variable.

When does lag apply? If the Joystick state in a wireless device is transmitted and presented to the target hardware less than 60 times a second (but more than 30 times a second) then there will certainly be lag but its questionable if it could be detected. If its less than 30 times a second then I feel a gamer could notice it.

I hope that makes sense in the case of most arcade games (at least the ones I know about).

Now there are games that may read the joystick port more than 60 times a second, these games may experience lag depending on the speed of the wireless device.

Raz

Thanks Raz. These concepts have been explained throughout the thread but perhaps not as concise as you've put it.

For my last joystick related project, the "Morpheus" wireless joysticks, Raz helped me out with measuring the latency in the system by making custom Neo firmware that timed the joystick reaction time of a NeoGeo system. It didn't use the normal VBLANK interval to detect joystick input but rather it read as fast as possible in a tight loop and reported the results. The results showed that the end to end latency was far faster than 1/60th of a second. This was easy to setup since the Morpheus controllers use the common DB15 interface with normal grounded arcade buttons for input. I hooked it up to my arbitrary waveform generator and sent it square waves at various frequencies to find the systems breaking point. I may have to do something like this for this new system and I think that means hacking up a USB controller to systematically trigger its buttons.

Mike
 

ChuChu Flamingo

We have purposely, trained him wrong, ...as a joke
10 Year Member
Joined
Nov 23, 2010
Posts
2,766
If the lag is below 1 frame, then there really is no difference anyways. Your tv can't possibly refresh faster than that.

The problem is when you add that lag to the games native lag + your display (add more if it is being emulated). Input lag is cumulative.
 
Last edited:

SNKorSWM

So Many Posts
No Time
For Games.
10 Year Member
Joined
Feb 5, 2010
Posts
15,152
1 frame a lower limit, not an upper limit.
 

mikew

Krauser's Shoe Shiner
10 Year Member
Joined
Mar 28, 2012
Posts
245
Here's a demo of the Kajitsu interface driving a Noritake 256x128 VFD Display:

http://www.freecade.org/project-kajitsu-as-a-general-purpose-external-peripheral-interaface/


The octal buffers on the Kajitsu board are bi-directional so in this demo 2 octal buffers are set as outputs and one is set as an input. The direction and I/O voltage selection is selectable by jumpers on the board.

Hopefully this illustrates the GPIO speed possible on a Pi. This is entirely bit-banged and the data rate is about 512KB/sec. Considering there's 10 individual lines being individually set for each byte written, this would be like pressing 5 million different joystick buttons in one second.

My hope is that this video helps minimize the threat from "lag" inherent to the Pi GPIO system. :)
 

Jasen Hicks

Hardened Shock Trooper
Joined
Jan 3, 2010
Posts
448
Project Kajitsu’s Hardware has been transformed with Version 0.4. We have left the formal pi-hat spec for size behind us in lieu of a more user friendly DB15 version of the board. This version of the board offers the convenience of the the DB15 ports while maintaining the flexibility of the .100″ screw terminals (both are optional, but at least one should be installed). Additionally, we simplified this board making it an “out” board only, meaning you would only use it to convert PS3/XBOX360 controllers to discrete outputs on a +5V logic setup such as a SuperGun!

Changes include:

1. Player 1/2 status indicator. The board will show which player has a USB controller plugged in.
2. Removed the diode from the incoming +5V line as our initial testing showed brown-outs on the Raspberry Pi.
3. Added DB15 ports for simplified SuperGun/NEO-GEO connections
4. Removed the Logic Selector Jumpers. This is a +5V Logic Hat.
5. Set the transceivers to be output permanently.
6. Form factor change. It still mates to the Pi B+ properly.

V04.jpg
 

mikew

Krauser's Shoe Shiner
10 Year Member
Joined
Mar 28, 2012
Posts
245
Here's a quick demo of Wiimote support for Project Kajitsu. It's very beta and not added to the mainline PS3/360 firmware yet due to the extended boot time required for Bluetooth pairing. Despite that, the code performs very well.

Obviously this feature won't appeal to the fighting game crowd but I'm seeing good results for shmups and platformers :)

Please check it out:

 

Jasen Hicks

Hardened Shock Trooper
Joined
Jan 3, 2010
Posts
448
The Official Full Project Kajitsu Demo

This demo was filmed using three cameras to catch all of the action in real time! We♥demonstrate the first party XB360 (Wireless), PS3, and Wiimote (bluetooth)♥support using the project♥with a custom built SuperGun. Enjoy!

http://youtu.be/b1pCaQ4TuRE
 

roker

DOOM
20 Year Member
Joined
Apr 12, 2003
Posts
18,871
I don't get it, how do I upload my roms to this?

Is this compatible with MS-Dos?
 

mikew

Krauser's Shoe Shiner
10 Year Member
Joined
Mar 28, 2012
Posts
245
I don't get it, how do I upload my roms to this?

?

>>I don't get it, how do I upload my roms to this
This system is for using USB or Wireless XBOX360/PS3/Wii controllers on Jamma boards.

>>Is this compatible with MS-Dos
I suppose it's DOS compatible if you wire it into the game port on ancient sound cards.
 

Jasen Hicks

Hardened Shock Trooper
Joined
Jan 3, 2010
Posts
448
Here's an update for the project. The latest Kajitsu variant Mike and I cooked up. Complete with a little metal touch!

This derivative board features LEDs that indicate when P1 and P2 controllers are connected, can be completely powered from the DB15s. No more voltage drop from diodes on the +5V line of the DB15. Simplified the layout, this board works in one direction only USB-->Discrete Output. Still has the Serial connection available.


10527308_1723992424493439_2145012379401795225_n.jpg
 

purple

Geese's Thug
Joined
Aug 7, 2007
Posts
276
I'm following the progress from everywhere :) I wonder how it will fit inside the supergun case.
 

mikew

Krauser's Shoe Shiner
10 Year Member
Joined
Mar 28, 2012
Posts
245
Hi Purple,

>>I wonder how it will fit inside the supergun case.

The original boards are better candidates for mounting internally (imo) since they only have screw terminals and not the 2 DB15 connectors which extend in front of the pi. This new version also supports screw terminals but they are a completely optional. BTW, there's a new Pi A+ that's been released for $20, it only has one USB connector but since Kajitsu supports 2 XBOX360 wireless controllers over one USB connection it makes for a very low-cost solution. I don't have one to test with yet but since the same header pins are exposed I am very confident it will work out of the box.
 
Top