Original controllers - SNAC vs. USB?

Discussion of keyboards, gamepads, joysticks and other input related peripherals.
Sefirosu789
Posts: 11
Joined: Wed May 27, 2020 11:16 pm

Original controllers - SNAC vs. USB?

Unread post by Sefirosu789 »

Is there any benefit of using SNAC over USB adapters besides from being able to use light guns?

I only want to use my original controllers (not light guns). I Don’t see any reason to use SNAC over USB Adapters aside from having the define the joypad buttons per core which I believe SNAC doesn’t require.

Am I missing something or is SNAC not really worth using if you don’t care too much about special controllers?

All opinions appreciated :)

Ps first post here!
User avatar
Newsdee
Top Contributor
Posts: 830
Joined: Mon May 25, 2020 1:07 am
Has thanked: 98 times
Been thanked: 209 times

Re: Original controllers - SNAC vs. USB?

Unread post by Newsdee »

SNAC was mostly added to allow using non-standard controllers (like a lightgun).
For regular controllers USB should work fine.
Sefirosu789
Posts: 11
Joined: Wed May 27, 2020 11:16 pm

Re: Original controllers - SNAC vs. USB?

Unread post by Sefirosu789 »

Newsdee wrote: Thu May 28, 2020 1:35 am SNAC was mostly added to allow using non-standard controllers (like a lightgun).
For regular controllers USB should work fine.
Thanks for the reply!

So I’m right in saying that there is no benefit from using the SNAC over USB adapters I.e. Raphnet, daemonbite ones, other than non-standard controller support and not having to worry about defining joypad buttons?

I think that this is the case but want to make sure I’m not missing something from not choosing SNAC.
User avatar
Crystal
Posts: 51
Joined: Sun May 24, 2020 8:52 pm
Has thanked: 8 times
Been thanked: 11 times

Re: Original controllers - SNAC vs. USB?

Unread post by Crystal »

the big advantage, at least for me, is that with the daemonbite adapter, it not only works with mister but also pc[and probably your phone too] as it just turns it inot an xinput device
Sefirosu789
Posts: 11
Joined: Wed May 27, 2020 11:16 pm

Re: Original controllers - SNAC vs. USB?

Unread post by Sefirosu789 »

Crystal wrote: Thu May 28, 2020 12:53 pm the big advantage, at least for me, is that with the daemonbite adapter, it not only works with mister but also pc[and probably your phone too] as it just turns it inot an xinput device


Although I won’t use it for PC, that is a good point!

I think I’m going to stick with USB. I don’t think it’s worth it for me personally to use SNAC.

Thanks for the replies.
XtraSmiley
Posts: 109
Joined: Wed May 27, 2020 11:33 pm
Has thanked: 101 times
Been thanked: 15 times

Re: Original controllers - SNAC vs. USB?

Unread post by XtraSmiley »

I don't now, so I'm asking not stating, but doesn't SNAC have less input lag than USB?

Also, light guns work with SNAC, is there any info about a Sega Master System 3D Glasses adapter?
User avatar
Sigismond0
Posts: 339
Joined: Mon May 25, 2020 2:21 am
Has thanked: 1 time
Been thanked: 66 times

Re: Original controllers - SNAC vs. USB?

Unread post by Sigismond0 »

SNAC will save you ~1ms compared to an optimal USB setup. The big advantage isn't the latency, it's the native accessory support like light guns and such.
User avatar
MickGyver
Posts: 13
Joined: Sun May 24, 2020 6:59 pm

Re: Original controllers - SNAC vs. USB?

Unread post by MickGyver »

Crystal wrote: Thu May 28, 2020 12:53 pm the big advantage, at least for me, is that with the daemonbite adapter, it not only works with mister but also pc[and probably your phone too] as it just turns it inot an xinput device
Small correction, the daemonbite adapters are DirectInput (DInput) devices.
User avatar
SegaSnatcher
Posts: 163
Joined: Sun May 24, 2020 9:18 pm
Has thanked: 36 times
Been thanked: 43 times

Re: Original controllers - SNAC vs. USB?

Unread post by SegaSnatcher »

Sigismond0 wrote: Wed Jun 17, 2020 3:38 pm SNAC will save you ~1ms compared to an optimal USB setup. The big advantage isn't the latency, it's the native accessory support like light guns and such.
SNAC will save you from missing the 1 frame polling rate since you'll always be on time with a wired native controller since its direct to FPGA communication and essentially works just like a native connection. Best tested USB controllers can hit about 95% on time which is really good, but some USB controllers can be much worse, at least with SNAC you know you are getting the best latency possible.

So its not just merely 1ms you gain in reality, it can be up to a frame.
pacoarcade
Posts: 72
Joined: Mon May 25, 2020 8:41 am
Has thanked: 75 times
Been thanked: 13 times
Contact:

Re: Original controllers - SNAC vs. USB?

Unread post by pacoarcade »

I'm happy with USB (Daemonbite controller) only with Fast USB polling. If you go the USB route just run fast_USB_polling_on.sh script, it makes a difference.
Nyukki
Posts: 1
Joined: Sat Jul 11, 2020 1:16 am

Re: Original controllers - SNAC vs. USB?

Unread post by Nyukki »

Anyone got a download link for the fast_USB_polling_on.sh script? I can't find it anywhere online and I can't run the update script as I'm in China and my Mister is unable to connect to Github.

Many thanks!

Edit:

Never mind, found it here:

https://raw.githubusercontent.com/MiSTe ... ling_on.sh
Gryzor
Posts: 32
Joined: Wed May 27, 2020 2:51 pm
Has thanked: 2 times
Been thanked: 6 times

Re: Original controllers - SNAC vs. USB?

Unread post by Gryzor »

Hi all,

just had a revelation in terms of gameplay/input lag after I‘ve soldered a Mega Drive controller PCB to my Namco arcade stick.

When I connected the stick to Antonio Villena‘s MiSTer via the DB9 port (User IO Joystick DB9), the difference in performance vs. USB was like night and day, with input lag completely gone and gameplay on par with the original arcade PCB.
I‘m extremely input lag sensitive and couldn‘t wipe that huge smile off my face while playing Wonderboy arcade and Contra/Adventure Island on the Famicom core.

I‘m super happy with what I‘ve got now and just wanted to encourage everyone to consider doing this, if 100% accurate gameplay is as important to you, as it is to me.
Not going back to my JPAC, despite having fast USB polling activated.
retrossauro
Posts: 9
Joined: Wed Jul 15, 2020 3:42 pm
Has thanked: 2 times

Re: Original controllers - SNAC vs. USB?

Unread post by retrossauro »

Gryzor wrote: Mon Jul 13, 2020 2:38 pm Hi all,

just had a revelation in terms of gameplay/input lag after I‘ve soldered a Mega Drive controller PCB to my Namco arcade stick.

When I connected the stick to Antonio Villena‘s MiSTer via the DB9 port (User IO Joystick DB9), the difference in performance vs. USB was like night and day, with input lag completely gone and gameplay on par with the original arcade PCB.
I‘m extremely input lag sensitive and couldn‘t wipe that huge smile off my face while playing Wonderboy arcade and Contra/Adventure Island on the Famicom core.

I‘m super happy with what I‘ve got now and just wanted to encourage everyone to consider doing this, if 100% accurate gameplay is as important to you, as it is to me.
Not going back to my JPAC, despite having fast USB polling activated.
Your USB adapter must be very bad and laggy. Im very, very, VERY sensitive to lag and I play mister with a good usb adapter and i can do 1 frame links on street fighter consistently. I also play the same game with a real cps1 pcb and a arcade stick with a supergun and native jamma controls and get exactly the same perceived latency.
Gryzor
Posts: 32
Joined: Wed May 27, 2020 2:51 pm
Has thanked: 2 times
Been thanked: 6 times

Re: Original controllers - SNAC vs. USB?

Unread post by Gryzor »

retrossauro wrote: Thu Jul 16, 2020 8:44 pm Your USB adapter must be very bad and laggy.
Oh, I can 1cc Contra or Ghouls'n Ghosts and pull off combos with a USB controller just fine too, tyvm.

But my post was about how much tighter it feels to play with DB9 input, after shaving off that last frame of lag.
I just perform NOTICEABLY better with SNAC, up to the point where most games feel entirely different.
That's just me though, so feel free to keep playing with a USB controller.
paulbnl
Core Developer
Posts: 206
Joined: Sun May 24, 2020 8:48 pm
Has thanked: 18 times
Been thanked: 196 times

Re: Original controllers - SNAC vs. USB?

Unread post by paulbnl »

DB9 is not the same as SNAC. DB9 still has latency because it has to poll the controller.

SNAC is directly connected to the core without additional polling.
Gryzor
Posts: 32
Joined: Wed May 27, 2020 2:51 pm
Has thanked: 2 times
Been thanked: 6 times

Re: Original controllers - SNAC vs. USB?

Unread post by Gryzor »

paulbnl wrote: Fri Jul 17, 2020 12:44 pm DB9 is not the same as SNAC. SNAC is directly connected to the core without additional polling.
Check out Antonio Villena's MiSTer devices. He builds them with a SNAC8 interface, implemented through a DB9 connector.
Apparently SNAC8 has one additional pin compared to the offical SNAC7, but it's lagfree all the same.
I'm running the ENCC/UserIO joystick fork of the MiSTer cores for that.
retrossauro
Posts: 9
Joined: Wed Jul 15, 2020 3:42 pm
Has thanked: 2 times

Re: Original controllers - SNAC vs. USB?

Unread post by retrossauro »

Gryzor wrote: Fri Jul 17, 2020 10:44 am
retrossauro wrote: Thu Jul 16, 2020 8:44 pm Your USB adapter must be very bad and laggy.
Oh, I can 1cc Contra or Ghouls'n Ghosts and pull off combos with a USB controller just fine too, tyvm.

But my post was about how much tighter it feels to play with DB9 input, after shaving off that last frame of lag.
I just perform NOTICEABLY better with SNAC, up to the point where most games feel entirely different.
That's just me though, so feel free to keep playing with a USB controller.
Well if thats the case im sorry, i feel bad for you. Must suck to not be able to enjoy a game because of microseconds of lag.
paulbnl
Core Developer
Posts: 206
Joined: Sun May 24, 2020 8:48 pm
Has thanked: 18 times
Been thanked: 196 times

Re: Original controllers - SNAC vs. USB?

Unread post by paulbnl »

Gryzor wrote: Fri Jul 17, 2020 5:07 pm Check out Antonio Villena's MiSTer devices. He builds them with a SNAC8 interface, implemented through a DB9 connector.
Apparently SNAC8 has one additional pin compared to the offical SNAC7, but it's lagfree all the same.
I'm running the ENCC/UserIO joystick fork of the MiSTer cores for that.
DB9 connects to the same IO lines as SNAC but it is not a native controller because DB9 supports various controllers like Genesis, SNES, TurboGrafx etc. on all cores. So that means it has to convert the different types of controller to a standard type which in this case is Genesis. That means it has to poll the controllers (lag).

If you connect a SNES controller then it has to poll the controller and convert it to Genesis type. Then the DB9 module in the cores polls the DB9 adapter every 1.31 milliseconds. So it has at least 1.31ms lag + the time it takes to poll the SNES controller and convert it to Genesis type.

The lag may be lower than some USB devices but certainly not lag free.
Gryzor
Posts: 32
Joined: Wed May 27, 2020 2:51 pm
Has thanked: 2 times
Been thanked: 6 times

Re: Original controllers - SNAC vs. USB?

Unread post by Gryzor »

retrossauro wrote: Sat Jul 18, 2020 2:16 am i feel bad for you. Must suck to not be able to enjoy a game because of microseconds of lag.
You feel bad for me being "super happy with what I've got now"?
I guess if I regularly 1cc Ghouls, Contra and others, I'm somehow "not able to enjoy those games"? O_o


@paulbnl
The Genesis has DB9 ports and the PCB I'm using is a native controller, so that core has no lag whatsoever.
It leads to the same perceptible difference in all cores that support it, from what I can tell gameplay wise.
Ask Antonio regarding polling of the other cores for details.
User avatar
mdd45
Posts: 24
Joined: Mon May 25, 2020 3:12 pm
Has thanked: 2 times
Been thanked: 3 times

Re: Original controllers - SNAC vs. USB?

Unread post by mdd45 »

I think SNAC8 is used only when two gamepads are connected and when only one is used then snac7 is enough. When using snes adapter on db9 for example you just enable serial snac from the snes core menu...

maybe Antonio could give more details
antoniovillena
Posts: 137
Joined: Sun May 24, 2020 8:11 pm
Has thanked: 2 times
Been thanked: 48 times

Re: Original controllers - SNAC vs. USB?

Unread post by antoniovillena »

SNAC8 is an extension of SNAC6 (IO <= 6.0) and SNAC7 (IO >= 6.1). So it has same zero lag. It also works with official cores (but without OSD control and one player only).
antoniovillena
Posts: 137
Joined: Sun May 24, 2020 8:11 pm
Has thanked: 2 times
Been thanked: 48 times

Re: Original controllers - SNAC vs. USB?

Unread post by antoniovillena »

paulbnl wrote: Sat Jul 18, 2020 9:25 am The lag may be lower than some USB devices but certainly not lag free.
This is absolutely incorrect. Can you explain for example where are these 1.31ms lag if I have not use any circuitery on most of splitters.
antoniovillena
Posts: 137
Joined: Sun May 24, 2020 8:11 pm
Has thanked: 2 times
Been thanked: 48 times

Re: Original controllers - SNAC vs. USB?

Unread post by antoniovillena »

The only splitter has some minimal lag is NeoGeo, but can be about 40ns lag. Nanoseconds, not micro second and never miliseconds as USB
paulbnl
Core Developer
Posts: 206
Joined: Sun May 24, 2020 8:48 pm
Has thanked: 18 times
Been thanked: 196 times

Re: Original controllers - SNAC vs. USB?

Unread post by paulbnl »

antoniovillena wrote: Sat Jul 18, 2020 3:13 pm This is absolutely incorrect. Can you explain for example where are these 1.31ms lag if I have not use any circuitery on most of splitters.
I got it from DB9 module https://github.com/Miguel-T80c/Genesis_ ... joydb9md.v.

This module is clocked at 50Mhz and it divides the clock by 256 for the joystick state counter which results in 195.3Khz (0.00512ms per state).

The joystick state counter counts from 0-255 and it saves the joystick buttons at state 0-6: 256 x 0.00512ms = 1.31ms.
antoniovillena
Posts: 137
Joined: Sun May 24, 2020 8:11 pm
Has thanked: 2 times
Been thanked: 48 times

Re: Original controllers - SNAC vs. USB?

Unread post by antoniovillena »

paulbnl wrote: Sat Jul 18, 2020 3:43 pm I got it from DB9 module https://github.com/Miguel-T80c/Genesis_ ... joydb9md.v.

This module is clocked at 50Mhz and it divides the clock by 256 for the joystick state counter which results in 195.3Khz (0.00512ms per state).

The joystick state counter counts from 0-255 and it saves the joystick buttons at state 0-6: 256 x 0.00512ms = 1.31ms.
I will talk with the person who wrote that code. But even if you have that lag it's only on the extension part of the core. You can select the SNAC option on the menu and have same speed than with SNAC+blue adapters. And of course doesn't affect to NES, SNES, PCEngine and NeoGeo splitters.
paulbnl
Core Developer
Posts: 206
Joined: Sun May 24, 2020 8:48 pm
Has thanked: 18 times
Been thanked: 196 times

Re: Original controllers - SNAC vs. USB?

Unread post by paulbnl »

Does that mean only the Genesis controller works on all cores and for NES, SNES, PC Engine and NeoGeo controllers they only work on their own cores with SNAC enabled?
antoniovillena
Posts: 137
Joined: Sun May 24, 2020 8:11 pm
Has thanked: 2 times
Been thanked: 48 times

Re: Original controllers - SNAC vs. USB?

Unread post by antoniovillena »

paulbnl wrote: Sat Jul 18, 2020 3:43 pm This module is clocked at 50Mhz and it divides the clock by 256 for the joystick state counter which results in 195.3Khz (0.00512ms per state).

The joystick state counter counts from 0-255 and it saves the joystick buttons at state 0-6: 256 x 0.00512ms = 1.31ms.
I have talked with the coders and basically they did that way because basically is legacy code. So I have suggested a simpler way to read in 2 cycles (with SELECT signal as continuous clock) and the code works. So it's only 2 cycle lag (8 cycle lag on buttons X,Y,Z,MODE). We will study to use a faster clock than 195.3Khz to reduce the lag even more. Now the lag is 10us.

Thanks for reporting this problem.
antoniovillena
Posts: 137
Joined: Sun May 24, 2020 8:11 pm
Has thanked: 2 times
Been thanked: 48 times

Re: Original controllers - SNAC vs. USB?

Unread post by antoniovillena »

paulbnl wrote: Sat Jul 18, 2020 4:15 pm Does that mean only the Genesis controller works on all cores and for NES, SNES, PC Engine and NeoGeo controllers they only work on their own cores with SNAC enabled?
Yes. To guarantee zero lag you need to use native controller. For example if you want zero lag with the NES core you need to use NES controller with SNAC. But in our fork we have implemented 2 universal controllers: Genesis and NeoGeo. With these controllers you can manage the OSD and the rest of the cores. But of course in this mode you have some minimal lag. Not as minimal with Genesis as you pointed but we will improve soon
antoniovillena
Posts: 137
Joined: Sun May 24, 2020 8:11 pm
Has thanked: 2 times
Been thanked: 48 times

Re: Original controllers - SNAC vs. USB?

Unread post by antoniovillena »

The main problem with official SNAC is there are not level shifters on IO board, so you need an extra board to do level shifting and another one to change USB3 connector to native one
dshadoff
Core Developer
Posts: 534
Joined: Sun May 24, 2020 9:30 pm
Has thanked: 19 times
Been thanked: 143 times

Re: Original controllers - SNAC vs. USB?

Unread post by dshadoff »

antoniovillena wrote: Sat Jul 18, 2020 10:07 pm The main problem with official SNAC is there are not level shifters on IO board, so you need an extra board to do level shifting and another one to change USB3 connector to native one
Or one converter board (per machine) to do all of the above.
Post Reply