Page 1 of 2

Original controllers - SNAC vs. USB?

Posted: Wed May 27, 2020 11:23 pm
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!

Re: Original controllers - SNAC vs. USB?

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

Re: Original controllers - SNAC vs. USB?

Posted: Thu May 28, 2020 9:51 am
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.

Re: Original controllers - SNAC vs. USB?

Posted: Thu May 28, 2020 12:53 pm
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

Re: Original controllers - SNAC vs. USB?

Posted: Thu May 28, 2020 1:49 pm
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.

Re: Original controllers - SNAC vs. USB?

Posted: Wed Jun 17, 2020 11:31 am
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?

Re: Original controllers - SNAC vs. USB?

Posted: Wed Jun 17, 2020 3:38 pm
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.

Re: Original controllers - SNAC vs. USB?

Posted: Mon Jun 22, 2020 10:55 am
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.

Re: Original controllers - SNAC vs. USB?

Posted: Tue Jun 23, 2020 1:16 pm
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.

Re: Original controllers - SNAC vs. USB?

Posted: Tue Jun 23, 2020 1:38 pm
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.

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 11, 2020 1:30 am
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

Re: Original controllers - SNAC vs. USB?

Posted: Mon Jul 13, 2020 2:38 pm
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.

Re: Original controllers - SNAC vs. USB?

Posted: Thu Jul 16, 2020 8:44 pm
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.

Re: Original controllers - SNAC vs. USB?

Posted: Fri Jul 17, 2020 10:44 am
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.

Re: Original controllers - SNAC vs. USB?

Posted: Fri Jul 17, 2020 12:44 pm
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.

Re: Original controllers - SNAC vs. USB?

Posted: Fri Jul 17, 2020 5:07 pm
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.

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 2:16 am
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.

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 9:25 am
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.

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 1:02 pm
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.

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 3:00 pm
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

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 3:06 pm
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).

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 3:13 pm
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.

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 3:19 pm
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

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 3:43 pm
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.

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 4:05 pm
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.

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 4:15 pm
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?

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 9:02 pm
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.

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 10:01 pm
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

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 10:07 pm
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

Re: Original controllers - SNAC vs. USB?

Posted: Sat Jul 18, 2020 10:08 pm
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.