direct Mega Drive direct connection to GPIO (eg. M30 2.4ghz)?

Discussion of keyboards, gamepads, joysticks and other input related peripherals.
dnhkng
Posts: 2
Joined: Sun Dec 20, 2020 12:13 pm

direct Mega Drive direct connection to GPIO (eg. M30 2.4ghz)?

Unread post by dnhkng »

Hi,

I just ordered a DE10-Nano, and I'm looking forward to installing MiSTer when it arrived.

I am a bit confused about something. I know a bit of VHDL, and I'm confused why all the MiSTer SNAC Controller Adapters are first converted to USB.

For example, to decrease latency, why don't we connect controllers directly from the GPIO pins? At first glance, it seems straight forward to have an IP block process Sega Mega Drive inputs https://www.raspberryfield.life/2019/03 ... ontroller/, so we could use the M30 2.4Ghz adapters on the 8Bitdo with superlow latency.
User avatar
jlancaster86
Posts: 148
Joined: Sat Jun 27, 2020 1:33 pm
Has thanked: 130 times
Been thanked: 35 times

Re: direct Mega Drive direct connection to GPIO (eg. M30 2.4ghz)?

Unread post by jlancaster86 »

The "USB" port SNAC uses is not a real USB port; it's simply using a USB 3.0 connector for convenience. It really is a serial port connected to the GPIO.
dnhkng
Posts: 2
Joined: Sun Dec 20, 2020 12:13 pm

Re: direct Mega Drive direct connection to GPIO (eg. M30 2.4ghz)?

Unread post by dnhkng »

Ahhh, that makes sense, thanks
User avatar
redsteakraw
Posts: 245
Joined: Sun May 24, 2020 11:19 pm
Has thanked: 1 time
Been thanked: 41 times

Re: direct Mega Drive direct connection to GPIO (eg. M30 2.4ghz)?

Unread post by redsteakraw »

The SNAC is connected to the core like the actual console and each pin is like a pin on the controller port. It also means it can't interact with the OSD because it isn't going through MiSTer's input system. Now if you want to use original controllers what I found is to use the USB Daemonbite adapter I made one myself with an arduino pro micro and two genesis extension cords for the ports. It has two player support and works with the OSD and is super low latency supporting 1ms USB overclocked polling. The M30 will drop it down to 3 and change to 4 ms which is still good and is some of the best you will get from a wireless controller. Mind you a frame is 16.67 ms so that still is multiple times a frame.

here is the project in case you want to make one yourself
https://github.com/MickGyver/DaemonBite ... rollersUSB

here is the store in case you want to just buy one
https://www.daemonbite.com/shop/
Fear is the mind killer!
Post Reply