DaemonBite-Retro-Controller.../README.md

36 lines
1.7 KiB
Markdown
Raw Normal View History

2020-01-22 06:33:38 -05:00
# DaemonBite Sega Controller To USB Adapter
## Introduction
2020-01-22 06:41:01 -05:00
This is a simple to build adapter for connecting Mega Drive (Genesis), Master System (+ Atari and C= controllers) to USB. It supports 3 and 6-button Mega Drive controllers and 1 and 2-button SMS/Atari/C= controllers.
The input lag for this adapter is minimal. Here is the result from a test with a 1ms polling rate on a MiSTer:
| Controller | Samples | Average | Max | Min | Std Dev |
| ------ | ------ | ------ | ------ | ------ | ------ |
2020-01-22 06:48:27 -05:00
| Original 3-Button Mega Drive Controller | 2342 | 0.75ms | 1.28ms | 0.24ms | 0.29ms |
2020-01-22 06:41:01 -05:00
| 8bitdo M30 Wireless 2.4G | 2348 | 4.54ms | 8.05ms | 2.22ms | 1.31ms |
2020-01-22 06:33:38 -05:00
The Mega Drive gamepad interface is based on this repository : https://github.com/jonthysell/SegaController but almost entirely rewritten and a lot of optimisations have been made.
## Parts you need
- Arduino Pro Micro (ATMega32U4)
- Male end of Mega Drive controller extension (or DSUB 9Pin Male connector and some wires)
- SPDT Switch (2.54mm/0.1" pitch)
- Heat shrink tube (Ø ~20mm)
- Micro USB cable
## Wiring
![Assemble1](images/sega-usb-adapter-wiring.png)
## How to assemble
![Assemble1](images/sega-usb-adapter-1.png)
![Assemble1](images/sega-usb-adapter-2.png)
(The switch goes to pins GND-GND-2 even if the picture above shows it connected to GND-2-3)
![Assemble1](images/sega-usb-adapter-3.png)
![Assemble1](images/sega-usb-adapter-4.png)
## The Switch
When the switch is in the position closer to the USB port of the Arduino Pro Micro, the adapter will be in SMS/Atari mode. When it is in the other position, it will be in Mega Drive/Genesis mode.
## License
This project is licensed under the GNU General Public License v3.0.