2 NES/SNES to USB



Introduction

This is a two player variation of my 4nes4snes project. The firmware is modified to expose only two controllers to the PC, preventing two extra controllers from needlessly appearing if an two player adapter is built.

Speciications:

goto top Up


The AnodeNES project

I designed and had manufactured a CNC machined aluminium enclosure, anodized black. Designing the PCB and enclosure simultaneously permitted a mutual influence of the mechanical and electrical aspects, to the benefit of the end result, a compact adapter which I named AnodeNES, by reference to the black finish and to the controller's console of origin.

The board

The board

Machined part

Machined part

A small touch-up

A small touch-up

Installing the connectors

Installing the connectors

Installing the PCB

Installing the PCB

Mini USB connector

Mini USB connector

Soft base

Soft base

Finished product

Finished product




goto top Up


Source code

File(s)DateDescription
2nes2usb-1.4.tar.gz (94.3 KB)
2nes2usb-m8-1.4.hex (9.6 KB)
2nes2usb-m168-1.4.hex (9.9 KB)
June 5, 2016 (Sunday)
  • Changed NES to USB button mapping to match SNES buttons (eg: NES A = SNES A).
  • Changed product name string. (version added)
2nes2usb-1.3.tar.gz (94.1 KB)
2nes2usb-m8-1.3.hex (9.3 KB)
2nes2usb-m168-1.3.hex (9.6 KB)
June 15, 2014 (Sunday)
  • Update for compilation using modern GCC versions
  • Updated V-USB
2nes2usb-1.2.tar.gz (70.7 KB)
2nes2usb-m8-1.2.hex (9.9 KB)
2nes2usb-m168-1.2.hex (10.2 KB)
April 27, 2013 (Saturday)
  • Support for the Atmega168 (and compatibles). Use Makefile.atmega168
  • Various code cleanups.
  • Simplified main loop by remving setIdle/getIdle implementation. Optional for joysticks according to HID specification appendix G.
2nes2usb-1.1.tar.gz (69.8 KB)
2nes2usb-1.1.hex (10.5 KB)
April 21, 2013 (Sunday) Initial release. Based on 4nes4snes v1.3
This project is also available on GitHub!
To request features, report issues or contribute, you may send me an email or use the GitHub repository:
https://github.com/raphnet/2nes2usb

Using .hex files

For informations about how to program an AVR MCU, visit my AVR programming page.

Source code (.tar.gz files):
Unless otherwise noted, the source code is released under the terms of the GPLv2 License. See License.txt more information. The project compiles with avr-gcc under linux.
4nes4snes-1.2.tar.gz

Note: If you are using the source code release under Linux, look at the Makefile. It has a flash and a fuse target which uses uisp to program the flash and fuses.

goto top Up


Buttons

Staring with version 1.4, the NES buttons have been reassigned to match SNES buttons. This makes it possible to switch controller type without reconfiguring anything. Works great for RetroPie...

USBSNES ButtonNES Button
(before v1.4)
NES Button
(since v1.4)
0 B B
1 Y
2 SELECT SELECT
3 START START
4 A START A
5 X SELECT
6 L A
7 R B

Note: USB buttons are numbered from zero. If you are under Windows, you will have to add 1 to the numbers in the above table.

goto top Up


3D Printed version

If you have access to an 3D printer, here are .STL files you may use to build the following casing. With a bit of care, you will certainly obtain a better result than me...


The PCB board is installed using eight #2x0.25" screws. The cover uses four #4x0.25" screws.

The files: anodenes_3dprint_stl.zip

goto top Up


User pictures

I enjoy seeing how others build my projects. It also makes good assembly examples. Please send me your pictures and I'll add them here.

February 14, 2015 (Saturday)
Brandon built this adapter for two NES controllers. He did what he could with the tools he had available (a dremel and a razor knife) to cut the openings for the connectors. Despite the slightly rough result has he admits, the finished product is nevertherless a perfectly working adapter.



January 6, 2015 (Tuesday)
Roman Sysoev from Russia built an adapter for two SNES controllers using the ARCAdaptor PCB - http://adapto.rs (Russian)



December 24, 2013 (Tuesday)
Slawomir Krysztowiak from Poland sent me the following pictures of his 2-player adapter. The DB15 connectors are wired for a NES clone called Pegasus that was extremely popular in Poland in the 90'. More details on his website (In Polish).


goto top Up


References

The original 4nes4snes project.
Super Nintendo Entertainment System: pinouts & protocol

goto top Up


Disclaimer

I cannot be held responsible for any damages that could occur to you or your equipment while following the procedures present on this page. Also, I GIVE ABSOLUTELY NO WARRANTY on the correctness and usability of the informations on this page. Please note, however, that the procedures above have worked in my case without any damages or problems.

Now you cannot say that I did not warn you :)

goto top Up


Trademarks used in this site are the property of their respectives owners.
Copyright © 2002-2017, Raphaël Assénat
Website coded withWebsite coded with vimLast update: October 15, 2016 (Saturday)