GP2X Multiplayer Via Cross-over Serial Cable?


MiniMoose

Member
Joined
Oct 18, 2005
Messages
125
This question is for the hardware hackers out there. I'm thinking about building a crossover serial cable to connect two GP2X's together via the EXT ports for two-player gaming. Do you think it is safe to do direct wiring from one EXT port to the other without using RS232 line level converters? As long as the serial cable is short, no more than 1.5m, do you think the 3.3V will be able to transmit data reliably?
 
Shouldn't be any data loss problems as long as the cables are short... but i'm wondering, why don't you go straight for a USB "crossover" cable if the MMSP2's usb is there too? Would make for more usable file transfer possibilities...
 
Why would a USB cable be more usable?

Maybe I'm wrong here, but I thought USB was strictly master-slave, so if the EXT USB port is a host port, it probably can't connect to another host port. You could always connect it to the device port on the side of one of the units though.
 
Why not take all the load off the GP2X's and make a small programmed usb 2.0 host adapter with about 4 plugs in it that you can plug the GP2X's normal cord into and have the full 2.0 speed? that would seem the best option but also alot of work and might cost quite a bit more...
 
Why not take all the load off the GP2X's and make a small programmed usb 2.0 host adapter with about 4 plugs in it that you can plug the GP2X's normal cord into and have the full 2.0 speed? that would seem the best option but also alot of work and might cost quite a bit more...
The problem with the USB approach is that there is no support for UART over USB yet. The current firmware only supports the mass-storage endpoint functionality. That means there is no way to communicate over it programatically.

The EXT serial option however is easy to program since the EXT UART is /dev/ttyS0 in the filesystem. You just fopen that file and any data written to it goes out over the EXT UART and any data read from it comes in over the EXT UART. Just build a cross-over and you've got multiplayer support in a few lines of code.
 
Last edited by a moderator:
There is support for serial via USB - I backported a gadget serial driver from the 2.6 kernel. It's linked from here: http://www.glost.eclipse.co.uk/gfoot/gp2x/

Go on, do something cool with it...
But you can't go directly from GP2X to GP2X which defeats the purpose. I don't want to have to have a PC in the middle that reads from one proxies the data between the two serial over USB connections to get multiplayer.
 
Last edited by a moderator:
Why would a USB cable be more usable?

Maybe I'm wrong here, but I thought USB was strictly master-slave, so if the EXT USB port is a host port, it probably can't connect to another host port. You could always connect it to the device port on the side of one of the units though.

I think the EXT has both the host and the device from the MMSP2 on it.

At least that is how the pins are labeled.
 
Last edited by a moderator:
Why would a USB cable be more usable?

Maybe I'm wrong here, but I thought USB was strictly master-slave, so if the EXT USB port is a host port, it probably can't connect to another host port. You could always connect it to the device port on the side of one of the units though.

I think the EXT has both the host and the device from the MMSP2 on it.

At least that is how the pins are labeled.

This would be nice if we were allowed to submit patches to the official GPH firmware source code. I'll be hacking away at the drivers to get USB host mode going out the EXT port and trying to get it into the official firmware. But until that happens, using USB is just not an option when it is much easier to just read/write data through /dev/ttyS0.
 
Last edited by a moderator:
You can always screw the official binary kernel that GPH is releasing. And use Dignsys's kernel.

Dignsys created both the MMSP2 kernel and the GP2X kernel. But Dignsys doesn't house the best Linux kernel programmers, some of their code in the mmcsd modules makes me wonder.

But I'm strarting to think the MMSP2 and GP2X kernels were created by 2 different teams within the same company. GP2X teams basing their work of the MMSP2 team. Some of the comments on the LCD driver worry me. There are comments after comments of different values for the horizontal/vertical sync, front and back porch, and divider for the clock. It makes me feel that they were just guessing the correct values for the LCD.
 
If you were going to link two gp2x's with USB, one would have to be host mode, the other slave mode... it would need an updated kernel to support the mmsp2's USB, but I don't think there's a technical reason it couldn't be done, and USB1.1 beats the crap out of serial for transfer speed...
 
If you were going to link two gp2x's with USB, one would have to be host mode, the other slave mode... it would need an updated kernel to support the mmsp2's USB, but I don't think there's a technical reason it couldn't be done, and USB1.1 beats the crap out of serial for transfer speed...

I guess it all depends on what you need to transfer, he could be right and the UART lines would work just fine for a multiplayer game of the kind you would find on the GP2X.

(like Descent, for example :D )
 
Last edited by a moderator:
Back
Top