Bedside '2x


gruso

thunderbox
Joined
Feb 28, 2008
Messages
7,461
Age
47
Location
Sydney, Australia
Website
pandorapress.net
I've been pondering this idea for some time, and the Hack2x thread (combined with having nothing to do) has motivated me to start brainstorming it properly.

The idea is Chumby inspired. :eek: I'm thinking of turning my F200 from a portable system into a tabletop device, with all buttons rewired to an external gamepad.

I'm seeking advice on the external controller. I'd be using a SNES pad, because it has the same button configuration as the 2X (apart from volume). The "easy" way to do it would be to wire the 2X button inputs from the PCB, back to a custom socket on the back of the modded unit. Then do the same at the controller end - wire the buttons from the PCB to a new cable, with matching custom plug.

It would be so much nicer if it was wireless though. So my question is, is there a type of wireless link kit which will accept contact inputs at the controller end, then replicate them at the GP2X end? I've done a bit of googling but nailing the right search terms is proving difficult. Any advice appreciated.


[edit]

Ok, searching for "wireless i/o" has landed me in the ballpark.

http://www.homecontrols.com/cgi-bin/main/c...-Base-Momentary
http://www.data-linc.com/plantlinc/plr580.htm

These products aren't really suitable of course, I'm after something with more of a hobbyist flavour.
 
Last edited by a moderator:
The way I would do it is this:

Get a crappy PC at a second-hand store that has a parallel port, 2 free ISA slots, and at least one USB port. Most of us have one of these laying around already, or know someone that does, though.

Now, make an SNES->parallel port adapter and install the Linux drivers since you're a cool guy and only the finest Finnish operating systems will do.

Now that you have the linux drivers installed, you get yourself some of these 2.4ghz Wireless SNES controllers. Pretty cool and not too terribly expensive it seems.

Now, what you'd need to do is get this same PC to control the GP2X's buttons. Well, what I would do is add two more parallel ports to this PC, in addition to the one it already has at 378h (LPT1). If you have one USB->parallel port adapter connected, you can then connect two standard ISA parallel cards simultaneously, each set to its own address, the traditional 278h (LPT2:), and 27Ch (LPT3:) addresses that most old 8-bit cards you can find on ebay support. The USB adapter will probably go off into its own address space. somewhere higher than those just mentioned so it shouldn't conflict.

Now, as long as you can get away with using the USB parallel port adapter like a traditional parallel port enough for this to work, you build yourself three controller circuits. Each circuit connects to one of the parallel ports of this old PC and gives that port control of 8 relays or digital outputs. You now have 24 outputs from the PC.

Then, you can use your skill at soldering to connect these relays (or transistors if you want to get fancy and more reliable) to the GP2X in a way that they control the GP2X's buttons. Might be very dicey finding successful ways to tap into every last trace for the GP2X buttons. If you can find a way to do this, though, you can control the GP2X through linux on the PC.

Now, you would have to write a program that monitors the linux joystick device provided by the SNES->LPT controller/driver and feeds the correct inputs to your three parallel I/O boards. Some of the I/O channels on the third board will remain unused since you don't have 24 button inputs on the GP2X.
 
Gruso said:
Thanks, will look into- HANG ON A MINUTE.

I'm running Windows.

Well, then you'd have to find the Windows equivalent of the SNES parallel port driver (do a google search, pretty sure it exists) Or, just get some standard USB logitech wireless controllers that have the correct minimum number of inputs (most do these days)

Then you'd simply install the Windows driver for the standard legacy non-PNP ISA parallel ports you added. And, write a Windows program that reads the SNES driver's joystick through DirectX calls and sends data to the three parallel ports connected to the 8-output I/O boards.
 
Last edited by a moderator:
Another project along similar lines would be a GP2X modded as a console with inputs for NES, SNES, SMS, and Megadrive controllers all connected simultaneously to a parallel port on an old PC. Tri-state buffers and a multiplexer IC connected to a second parallel port on that PC could control which controller was currently active.

This could be achieved together with a program run from an emulator's launch script that selects an SMS game when the SMS emulator was run, and so on for the other controllers. You can also easily hack GMenu2X to provide the ability to select between four controllers using one button press common to all controllers used to cycle throught them. (Similar things have been hacked into it very easily by PokeParadox and myself)
 
Augh! What an unholy machine you designed for the job! :D

In any case, if you want to play games on it, is wireless really necessary? You'd have to be pretty close to the screen anyway, so there isn't a massive benefit to removing the wires.

You could also try wiring up the console to an Arduino with an IR sensor and use a spare TV remote - that's probably the fastest/cheapest/easiest control method, although it wouldn't be much use for games.
 
I expect that you would get worse results with that than with the TV remote idea, and it would cost more. So yep, wired definitely looks like the superior solution (especially when you consider how often one misplaces the remote normally :D )
 
If you manage to get this all hooked up and working, post some pictures on here and show us all your modded system. :D
 
Oh I'll definitely log my progress here if I get the idea moving. Perhaps I should just purchase custom plug/socket and cable, then I'll have to start working on it.
 
I spent all day yesterday hacking the Open2X kernel and have figured out what should be a way to allow USB gamepads to control all of the GP2X's buttons directly by reprogramming GPIO lines and adding some control code inside the scheduler loop and a global mapping array that various bits of code refer to.. I'll keep you posted if I get some results.

I already was able to add stick-click emulation for F200s so in theory I can make this work.
 
'Senor Quack' said:
I spent all day yesterday hacking the Open2X kernel and have figured out what should be a way to allow USB gamepads to control all of the GP2X's buttons directly by reprogramming GPIO lines and adding some control code inside the scheduler loop and a global mapping array that various bits of code refer to.. I'll keep you posted if I get some results.

I already was able to add stick-click emulation for F200s so in theory I can make this work.

Can't wait for a fully functioning Open2X for the GP2X-F200 to be released! :D
 
Last edited by a moderator:
Back
Top