PDA

View Full Version : sneak peak - my new cab... er...


SophT
06-14-2009, 12:43 AM
well this isn't exactly a cab - but it sports HyperSpin.

Ok here's my original concept:

crack open an NES controller, piggy back the NES PCB onto a USB keyboard and have a USB NES controller. Nothing new about that, been done before. BUT then Brian_Hoffman showed off his HyperCade and it got me thinking.

I knew I couldn't do an entire computer in the controller - but I could do the next best thing, that's where v2 comes in:

http://img231.imageshack.us/img231/5028/conceptu.png

pretty fancy huh?

So I spent today at the store looking for the smallest usb hub I could find, as well as the smallest usb drive and the smallest keyboard PCB.

Here's some pictures of what I've got going:

http://img231.imageshack.us/img231/9999/gluedin.png

I kid you not this drive is like the size of my thumb nail, so instead of hard wiring it to the rig I decided that I could leave a plug in and make it removable - incase I decide to switchout for an 8gb later.

the usb hub is a 4port with the wiring for 2 of the ports removed.

http://img142.imageshack.us/img142/2249/nespcb.png

NES PCB with drawing of my traces - you can see that this particular nes controller - once the IC is removed allows for 1 ground - how nice!

http://img142.imageshack.us/img142/1025/whatif.png

so in theory this is how it should look - keyboard PCB and thumbdrive in the rear housing and the hub in the front.

Well I started out wiring up the keyboard to the controller PCB which was working well - I tore up an old IDE cable and got to soldering, - I had all of the wires on the NES pcb and wired it up to the keyboard. The 4 USB power cables were on the 'wrong' side of the pcb from teh rest of the wires - and they were connected by a 4-pin 90degree molex connector - which stuck up a few millimeters, so I got out the wick and decided to lift them and just run my own cables to the hub. Then this happened:

http://img231.imageshack.us/img231/1455/ohsnap.png

I went to try and heat of the resin on the 4 pins of the molex connector when *pop**pop* *pop* *pop* the traces sucked right up with the solder! You can see in the picture the 4 big brown spots. I tried to repair it for like 30 minutes before I got so pissed I decided "f**k it" and snapped the PCB. That felt good.

So I guess Monday I'll go to the store and get another keyboard - hopefully with an easier to work with PCB - and maybe smaller. And have another employee ask if he can help me - then look at me like a deer in the headlights when I ask him which KB has teh smallest PCB.

Has anyone used a stand-alone usb keypad? I'm thinking that that would have a pretty small PCB and would have enough keys to map the 8 NES buttons.

-----

So I've already set up the software and created an autorun and tested it out before I started tearing everythign apart - auto-runs right into HyperSpin. Formatted in FAT32 b/c I'm gonna try to throw a Macintosh emulator on there too :P

I'll update this when I get a new keyboard ^_^;;

BadBoyBill
06-14-2009, 12:50 AM
WTF , that is sick dude, you gotta make me one man! Pretty please.

SophT
06-14-2009, 08:57 AM
well If I can get a good Keyboard PCB and throw this one together I was actually thinking of trying to make a small production run. The thing is - they're not gonna be cheap. I'm probably going to have to sell them @ ~60 bucks.

Of course I'd 'donate' one to HyperSpin (read: BadBoyBill) :P

Here's the breakdown:

NES Controller: free - b/c I had one but they go for about $8-10 on ebay

USB HUB: $15

Flash Drive: $20 (4gb) $35 (8gb)

usb keyboard: $10

so you can see my upfront costs are about $55. I know I could do it cheaper, if it didn't require the ABSOLUTE smallest components available.

BTW - anyone know a good NES emulator for the Macintosh?

ah here;s teh new pcb I think I'm gonna try out on Monday:

http://www.walmart.com/catalog/product.do?product_id=10884560
or
http://www.walmart.com/catalog/product.do?product_id=10363677
or
http://www.walmart.com/catalog/product.do?product_id=7754487

sad they seem to have the best selection (better than frys or newegg...)

billpa
06-14-2009, 09:31 AM
So basically its an all-in-one NES emulator. Everything is loaded on the controller and its just plug and play? Pretty cool! I haven't played NES on my Macs in awhile but when I did, I used Nestopia I believe.

brian_hoffman
06-14-2009, 10:07 AM
I like it! That is a great idea! Im glad that you have found the mini arcade inspiring. Just think of all the extra room you would have in a super nes controller.

BadBoyBill
06-14-2009, 10:28 AM
Ya this is the coolest idea I seen in a while, you could carry a nes controller in your pocket, sneak in a few games at work when your bored, then hide it when your done. Brilliant.

mildanti
06-14-2009, 11:07 AM
Yah that is pretty cool, i seen one before this guy made one
http://www.youtube.com/watch?v=Ync0SBjXqrc

SophT
06-14-2009, 08:37 PM
aww... I guess nothing's new. Mine has a cooler FE though :P

B_H: I was thinking of doing SNES next ^^ - as it's my favorite console, I just happened to have an NES controller sitting in the closet while I was cleaning out some crap, and I didn't wanna part with it.

I do have like 5 or 6 SNES controllers somewhere...

lole
06-15-2009, 04:06 AM
then look at me like a deer in the headlights when I ask him which KB has teh smallest PCB

:laugh:

your project is a really cool.... good luck

cathaldub
06-15-2009, 08:54 AM
Deadly, Think an N64 will be my next project :)

SophT
06-15-2009, 01:09 PM
n64 would be a little more difficult - seeing as most keyboards don't have an analogue stick.

cathaldub
06-15-2009, 02:24 PM
n64 would be a little more difficult - seeing as most keyboards don't have an analogue stick.

Yeah I reckon it could be done though, possibly by building one of these into it

jhabers
06-25-2009, 08:58 PM
Great idea, I read this post last night and went to tiget direct today to get the parts, just finished building it a few minutes ago. It works great! I have hyperspin on the 1GB flash drive I have in there with mednafen. It was a tight fit, I had to do a little cutting. I cant fit all the FLV's on the 1GB stick, will use a 2GB next time.

I used a keyboard pcb from a dell usb keyboard (free),
a tiny usb hub from Tiger Direct ($4.99)
a 1GB USB key from Tiger Direct ($4.99)
I already had the NES controller.
-----------------------------
Total cost about $10.

Nucklez
06-26-2009, 04:02 AM
SophT, I may have to try something like this. That is a great idea! Running hyperspin in this. I wonder if I could use one of those USB SD card readers, and make an SD card slot on the side of an SNES controller. Hmmm. Oh, have you ever been to Ben Heckerdons website? That place is full of console hackers. Ben is the guy who has made all these portable consoles, including an Xbox 360 laptop.

Nucklez
06-30-2009, 02:18 PM
Wooo, I just got another idea! How about an Xbox controller, with an SD card reader. The xbox controller can already be used via USB, just put the drivers on the SD card, and wire in a USB hub. Not sure how well the Xbox controller works on a Mac though. I don't use Macs as a preference, and I know they work on XP, Vista and Ubuntu.

SophT
06-30-2009, 03:14 PM
How do read/write speeds compare between SD / USB? Obviously a USB SD reader will be bottlenecked by usb2.0 speeds - but can it reach that speed?

The thumbdrive in my pictures is litterally about 1/2 the side a of a standard SDHC card and is available up to 16gb capacity. A microsd card would be sweet but I think they only are commercially available up to 8gb currently.

Nucklez
06-30-2009, 06:20 PM
I haven't compared the speeds between them yet. I have a multi card reader, that seems just as fast as my two thumb drives. The Xbox controllers have huge holes in the top of them that were designed for the Xbox memory cards. I was thinking of using one of those as the slot for the SD card. Plenty of room in this controller.

TeddyKGB2208
09-08-2009, 07:56 PM
Hi SophT,
I noticed this thread and I'm interested in building a controller for myself. Don't know maybe SNES or GENESIS.
Can you explain how the controller board is connected to the keyboard controllers ? And can you explain how that works ?

Rawd
09-08-2009, 08:14 PM
I am also very interested in this. Great idea! I would like to build myself one with a SNES controller, but I would like to be able to run NES games as well. Does HyperSpin/emulators run directly from the controller? Plug n play on pretty much any system? Could mame run from it? Very neat concept if that's how it works. I would also like some more info if possible...

TeddyKGB2208
09-08-2009, 08:28 PM
I think that any system is possible, the minimum factor is the disc space of the stick, because it's even nicer to have all artwork and videos on the stick.
In what kind of controller do you want to run MAME ?

jhabers
09-08-2009, 08:39 PM
One of these is a prize for the current MAME wheel contest. Submit some wheels everyone and you could win one!

On a side note. I used a keyboard encoder from a dell keyboard (the latest stock model). Its small and fits real nice. I found that if you use this keyboard for the encoder you need to find one without the ferrite core on it (the most recent ones seem to come with the ferrite core, thus the diff encoder), that one has a diff encoder that makes it tough to solder to.

Rawd
09-08-2009, 08:40 PM
I think that any system is possible, the minimum factor is the disc space of the stick, because it's even nicer to have all artwork and videos on the stick.
In what kind of controller do you want to run MAME ?

Cool. Well I was thinking of running it on a SNES controller. Mame/NES/SNES/Sega Master system maybe, all running on Hyperpin. I would only have a few games on each emulator, so I could make room.

jhabers
09-08-2009, 08:50 PM
Cool. Well I was thinking of running it on a SNES controller. Mame/NES/SNES/Sega Master system maybe, all running on Hyperpin. I would only have a few games on each emulator, so I could make room.

a snes controller would be nice, the NES was tight on room.. I would find a single line on the encoder matrix where you can connect all the grounds to one point on the encoder, then all you have to wire is 1 wire for each button/direction (less wire). You just need to find a line on the matrix that gives you enough different keys (not all combinations produce something). Map out the matrix of the encoder before you wire. I found that putting hotglue over the solder point and wire will prevent the wire from breaking off when putting all back together (helps keep it solid)

Plan out how everything will fit before you solder

Good luck
jon

SophT
09-09-2009, 01:42 AM
yeah as to the question of how the interface works - you're basically soldering wire between the keyboard and the controller's PCB for each button +ground

so when you push the button (close circuit) it closes the circuit on the keyboard and sends a keypress.

Like jhabers said - using a single X or Y on the matrix is best because then you only need n+1 wires (+1 being ground) instead of nx2 (positive + ground for each).

That being said if you have room nx2 is actually better b/c then you can get the exact keys you want to be mapped:

For example- when i finished making mine - I was using a usb numpad instead of using a full keyboard; as a result I was able to map the numpad arrows to the dpad and the numpad 'enter' to 'start'. The benefit of this was that when 'autorun' popped up on VISTA - I could scroll through options and press 'start (i.e. Enter)' with the gamepad - no need to touch the keyboard after it was plugged it :D

TeddyKGB2208
09-09-2009, 02:13 AM
Okay, I understand... ( I've seen the pictures, too)
I understand it like this:
I have contacts on the "nes controller board" and I have to put a cable for each button to the "keyboard board" contacts. Therefore you used only a numberpad, because it's smaller and you don't need many buttons.
But how do I know on which contact I have to put the cable on the "keyboard boad" ???
And what's the "matrix" ???

;-) Maybe I have to do more wheels in order to win one ;-)

No, I'm really interested in buildin one on my own, because I think it's funny to have a couple of pads (NES,SNES,GENESIS,MEGA DRIVE, MAYBE NEO GEO) which you can plug in and then you can play. I think about a console (small computer) as a docking station, where you can plug in all kind of pads...

Rawd
09-09-2009, 07:43 AM
I am a bit confused as well. A detailed 'How-to' with pictures would be awesome!

If not, I am wondering how much one of you guys would charge to build me this:

- SNES controller
- Runs HyperSpin, NES, SNES, Atari 2600, Mame, and Sega Master System
- Plug n play to the HyperSpin menu
- Loaded with games and HS movies of my choice (if you have them)

or..

Same thing, loaded with no games (I can do it myself)

I would prefer to build it myself, as I enjoy this type of thing, but I am just not familiar with some of the hardware needed.

If the price is right, I'll send you the money via Paypal before you build/send it.


Edit: BTW, I have a SNES controller, a USB hub, about 15 old keyboards, wire, and a solder gun at the house already.

I also found one of these: http://img200.imageshack.us/img200/1153/img0436t.th.jpg (http://img200.imageshack.us/i/img0436t.jpg/)

A 4 button NES controller might work out well for the games that I have in mind.

SophT
09-10-2009, 03:35 AM
Ok I'll see if I can break it down a little better:

basically I think you understand though - you are soldering a wire from the contact on the keyboard to the contact on the gamepad - so that pressing the gamepad button closes teh circuit on the keyboard (it's like an extension of the original keyboard key)

the 'matrix' is how the majority of keyboards are created. If you have one open it up and look:

you will see 3 thin plastic sheets. The top will have traces running horizontally and the bottom will have traces running vertically. The middle sheet will have holes where all the intersections are that keyboard keys exist. When you press a key on a keyboard is pushes the top and bottom sheet together closing the circuit and sending a keypress.

so the way to figure out the keys is to map the matrix. I do it by looking at the origin of the traces. It's usually like an 11x17 grid (which is 187 combinations)

so I get some wire and run a little app called keyhook (notepad will work too) and I touch x1 to y1 and write down the keypress registered. Then x1 to y2, y3, y4, etc... through

x11 y17. There will be a lot of [NULL] and <UNK> (187 possible inputs -108 standard keys)

then I look at my chart find the x coordinate and the y coordinate and solder them to the respective button on the PCB.

what jhabers was saying was if you could use say

x1, y3
x7, y3
x6, y3
etc...

instead of

x1, y9
x2, y5
x3, y4

you'll use less wires b/c Y will act as your common ground.

Anyways I used the numpad b/c the matrix was only 5x4 (20 possible inputs) and I only had to map out 12 keys - it's just less time consuming.


and some quick pictures;

http://www.aleax.com/personal/alias/arcade/ps2_matrix.jpg

http://www.ssv-embedded.de/ssv/pc104/kbse1c.gif

you get the idea...

TeddyKGB2208
09-10-2009, 04:26 AM
I think I got it...
I think I'm going to built one this month... When there's a problem I'm gonna post. When I'm going to finish withou complication I let you know, too.

THANXXX

Rawd
09-10-2009, 04:44 AM
Ok, So you are saying that there are two seperate boards in a keyboard. One for the keyboard and one for the numpad. The numpad is easier to map the matrix because of less combinations. It is also easier to find the arrow keys and enter on the numpad matrix.

Once I have the buttons mapped out and wired to the NES pcb, the USB hub, and memory stick are pretty much a seperate thing.

I will take a good look at making this myself. Thanks.

How does HyperSpin/emulators autorun from the memory stick? I don't need to pre-configure anything on the pc? It just runs from that drive with no problem on any pc? What if it is picked up as a different drive letter?

SophT
09-10-2009, 07:02 AM
1) there's only one board in a keyboard (it inclueds the numpad). I actually bought a standalone USB numpad, so it only has 12 keys. like this:

http://www.datanet-systems.net/resources/Blue+numpad-unit.jpg

2) to make HyperSpin run from the memory-stick you'll need to write an autorun - it's really simple you create an 'inf' file (information) it's a simple driver that tells the computer what program to launch on 'autorun'. TO see an example try plugging in any cd that has an auto-run feature and open it in explorer you'll see an autorun.inf - open that with notepad and you can see how easy it is.

Just point your inf at hyperspin.exe

3) In order for it to be picked up as a different drive (F: on one computer E: on another...)
You'll need to open up HyperHQ and change to relative paths:

i.e.
.\HyperSpin\

instead of

E:\HyperSpin\

for emulator, roms, artwork, videos

and that's that.

Rawd
09-10-2009, 08:21 AM
Thank you very much. I think I can do this! :)

Rawd
09-10-2009, 09:53 AM
I just popped open the 4 button NES controller, and I am just not sure how the Turbo buttons worked. I am afraid that they may be routed to the original B and A buttons, but with some sort of pulse.

I really like the idea of the original NES controller, but I really need a 3rd and sometimes 4th button for certain MAME, and SNES games. I'd also like to have an 'esc' key on there somewhere.

BadBoyBill
09-10-2009, 11:34 AM
I just popped open the 4 button NES controller, and I am just not sure how the Turbo buttons worked. I am afraid that they may be routed to the original B and A buttons, but with some sort of pulse.

I really like the idea of the original NES controller, but I really need a 3rd and sometimes 4th button for certain MAME, and SNES games. I'd also like to have an 'esc' key on there somewhere.


Hey why dont you use a SNES controller then you'll have 6 buttons plus select/start that you can map for escape if you press both together.

Rawd
09-10-2009, 11:43 AM
Hey why dont you use a SNES controller then you'll have 6 buttons plus select/start that you can map for escape if you press both together.

I had considered that earlier, and then I found this 4 button NES controller that I thought I could make it work. I really like the retro look of the original NES controller.

For what I want to do though, I think you're right. I'll go back to the orginal plan I think. There is more room in the SNES controller as well.

Edit: If it works out well, I'll probably make two of them. A retro NES one for NES, Atari, and Sega Master System, and a SNES one for SNES, Genesis, MAME, and such...

SophT
09-10-2009, 03:52 PM
if you use nestopia with hyperlaunch you can map two keys to be 'esc'.

for example:

start: 1
select: 5

hyperlaunch:

exitemulatorkey = ~1 & ~5

pressing Start+select in that order will pause, then quit.

SophT
09-10-2009, 03:53 PM
if you use nestopia with hyperlaunch you can map two keys to be 'esc'.

for example:

start: 1
select: 5

hyperlaunch:

exitemulatorkey = ~1 & ~5

pressing Start+select in that order will pause, then quit.

Rawd
09-10-2009, 04:00 PM
I am very exited to get started on this. Thanks for the updated info.

I have been away from the emulator scene for quite sometime, and was going to ask what a good NES emulator these days was. I'll check out Nestopia.

Rawd
09-22-2009, 03:03 PM
Well, conveniently or not, I have a PS3 SiXaxis controller that just stopped taking a charge. Not sure why it is not working, but I thought it would make a good gamepad for this purpose. Do any of you know anything about the analog sticks and buttons? Would there be anyway of getting those to work?

H4CK3R
05-09-2010, 11:24 PM
I want two of these... Please PM me if your selling =) Going to give one to my nephew. And one for myself. 32 GB or bigger =)

H4CK3R

kfchow
05-10-2010, 04:42 AM
Pretty easy to make if you have basic soldering skills. Here is a tutorial from someone who did something similar.

http://edshowtos.blogspot.com/2008/06/how-to-make-your-own-nes-usb-controller.html

Great idea though.

JoeyCoz
10-30-2011, 05:58 PM
I know this thread is a little old, but I bookmarked it a while back and finally found some free time to build one of these.

I was wondering if I could use a generic USB ps2 style PC controller, and have the autolaunch open a hyperlaunch script that would start Joy2Key and Hyperspin from the card reader when plugged in. That would eliminate the need to hack a keyboard and fit the pcb into the case because I could wire the controllers original cord into the USB hub. Any thoughts?

I would also be using a card reader and plan on making a slot in the case to change sd cards, so I could add systems.