NES Controller / GameBoy Button Translation


#21

Yep, SNES controller would work, just wouldn’t clock out all of the extra buttons, without tweaking the code some more.

Tried taking a closer look at that photo, few things:

  • doesn’t look like 5V is connected to the VCC pin of the Pro Micro (guessing that you have USB connected for power when testing?)
  • can’t tell if the two orange leads going into Pro Micro pins 4 & 5 are going to the same pin?
  • can’t tell if pull-up resistors on shift register pins 1 & 4 are plugged into pin 1 & 4?
  • not sure it will change anything, but try grounding shift register pin 11 (schematics show it grounded):

(from https://gamesx.com/wiki/doku.php?id=controls:nes_snes_controller)


(Elliot Goofe) #22

Blockquote uXe* doesn’t look like 5V is connected to the VCC pin of the Pro Micro (guessing that you have USB connected for power when testing?) YES* can’t tell if the two orange leads going into Pro Micro pins 4 & 5 are going to the same pin?NO* can’t tell if pull-up resistors on shift register pins 1 & 4 are plugged into pin 1 & 4? YES* not sure it will change anything, but try grounding shift register pin 11 (schematics show it grounded): Tried, no differences.

I am attempting to use a SNES controller, still having issues. Can you post a picture of how you wired on the gameboy side? Idk if it will help, but it can’t hurt. I also notice the pro micro being powered on is cause 5v interference with the gameboy, constantly keeping it on after you turn it off, sometimes freezing it.


#23

Have added a couple of lines to the code just to test that at least the (S)NES side of it works… open the Arduino IDE serial monitor and you should see eight ones (11111111) being printed repeatedly, and when you press a button the corresponding 1 should change to a 0.

Worth verifying that much works for you at least?

Later, you could power the Pro Micro’s VCC pin from the GameBoy’s 5V to avoid the issue you mention… I don’t have anything soldered directly to the GameBoy to show, am using a little breakout board for the ribbon cable instead.


(Elliot Goofe) #24

Yup that works, Goes to zeros on button presses.

OMG. Figured it out. I was touching the wrong side of the resistor to ground…

I was just shorting the system. I feel a bit restless about not realizing that… Anyways, thanks so much for your help! It’s working great now. :sweat_smile:


#25

Ha! Murphy’s Law in action there! :smile:

Glad that it’s working - you can comment out / delete that Serial.println now then, they tend to slow things down…


(Elliot Goofe) #26

Perfect, so is it exactly the same as the last code revision? Because I saved that in a separate folder in case it worked.

I’m going to redesign my 3D casing to house the pro micro and NES port. :grimacing:


#27

Yep!

Nice! :+1: :joystick:


(Elliot Goofe) #28

I’ve spent the good part of a day measuring the DMG pcb and designing in Fusion360.

This is the design I’ve come up with so far. Pretty similar to a gameboy casing. :wink:

I’ll work on the lid after checking this next test print.


(Elliot Goofe) #29

All done! I call it the Gamebox. I even made a mini NES controller that uses DMG buttons to match!

More info on Element14


(Pharap) #30

I hope TTC LLC isn’t watching.


(Elliot Goofe) #31

Probably if you do something like that, they will see the smoke signals. :thinking:


#32

…not sure there is anything here they would object to? Playing a physical copy of “that which must not be named” on a physical GameBoy, and taking a photo of it - where’s the problem? :face_with_raised_eyebrow:

If the issue is hypothetically around using a ROM on a GameBoy flash cart, then a couple of dollars on eBay will buy you the right to play Tetris in your own home:

https://www.ebay.com/b/Tetris-Nintendo-Game-Boy-Video-Games/139973/bn_7205562?rt=nc&_sop=15

EDIT: Also - https://www.nintendo.co.jp/networkservice_guideline/en/


(Boti Kis) #33

I’m a simple man. I see trip world and I press like.


(Pharap) #34

Oh right, I didn’t realise it was a physical copy.

Disregard my earlier comment.