Better support for SNAC?
Better support for SNAC?
Currently snac is one player only but I believe it should be two player.
I think people recommended just buy a low latency controller USB like the 8bitdo.
However the issue is now that latency on modern controller's is not a priority the 8bitdo controllers are
good but they seem to be having low print runs and starting to get scalped now
So I believe there should be better official support for snac.
What does everyone else think?
I think people recommended just buy a low latency controller USB like the 8bitdo.
However the issue is now that latency on modern controller's is not a priority the 8bitdo controllers are
good but they seem to be having low print runs and starting to get scalped now
So I believe there should be better official support for snac.
What does everyone else think?
-
- Core Developer
- Posts: 534
- Joined: Sun May 24, 2020 9:30 pm
- Has thanked: 19 times
- Been thanked: 143 times
Re: Better support for SNAC?
I think you may not understand what SNAC is; it is a series of actual I/Os from the core to what would be a controller port.
For any additional ports, you would need additional I/Os to be allocated, and they are all already accounted for.
Further - and Sorgelig says this very frequently - it isn't intended to be used for regular controllers, as there is already the low-latency USB path for that. What it is intended for, is to accommodate 'weird' devices which have a special communication protocol or perform a function that was unique to that time period. For example a fishing controller, pachinko controller, the SNES controller with the numeric pad, etc.
For any additional ports, you would need additional I/Os to be allocated, and they are all already accounted for.
Further - and Sorgelig says this very frequently - it isn't intended to be used for regular controllers, as there is already the low-latency USB path for that. What it is intended for, is to accommodate 'weird' devices which have a special communication protocol or perform a function that was unique to that time period. For example a fishing controller, pachinko controller, the SNES controller with the numeric pad, etc.
Re: Better support for SNAC?
Thank you but it has been done unofficially already and quite well too
There is a path however modern day controllers are not being made with latency in mind for the purpose of being low latency for use with MiSTer we are are the mercy of low print runs of whatever happens to be low latency. Such as 8bitdo controllers right now.Further - and Sorgelig says this very frequently - it isn't intended to be used for regular controllers, as there is already the low-latency USB path for that. What it is intended for, is to accommodate 'weird' devices which have a special communication protocol or perform a function that was unique to that time period. For example a fishing controller, pachinko controller, the SNES controller with the numeric pad, etc.
-
- Core Developer
- Posts: 534
- Joined: Sun May 24, 2020 9:30 pm
- Has thanked: 19 times
- Been thanked: 143 times
Re: Better support for SNAC?
I am not aware of this unofficial implementation you are referring to - what did they sacrifice in order to salvage the missing pins ?
...or are you referring to one of the protocol-converter implementations which is actually NOT SNAC, as it only confirms to basic controllers, and breaks support for complex types (such as mouse, pachinko, etc.) ?
...or are you referring to one of the protocol-converter implementations which is actually NOT SNAC, as it only confirms to basic controllers, and breaks support for complex types (such as mouse, pachinko, etc.) ?
Re: Better support for SNAC?
Not sure but its this one here using a DB9 Port
https://www.antoniovillena.es/store/pro ... ster-mini/
https://www.antoniovillena.es/store/product/decapod/
I'll be purchasing one soon but I do believe this should be a part of the official project
-
- Core Developer
- Posts: 534
- Joined: Sun May 24, 2020 9:30 pm
- Has thanked: 19 times
- Been thanked: 143 times
Re: Better support for SNAC?
That's protocol conversion. It performs polling of standard joypads only, and would not work for mouse/etc. special-protocol devices.
In other words, it's the opposite of what SNAC is designed for (and may even require special versions of the cores).
This is doing effectively the same job as daemonbite converters, except that:
- it polls the original converter using its original protocol, and as such may introduce a small amount of lag while this is processed
- it isn't sending the data out via USB, but rather alternate interfaces
Being that it is the opposite of what SNAC is intended for, there is virtually no chance of it being supported by the project in a larger way.
If it were to be supported somehow, this would go through the HPS side of the device, and end up being the same as USB - which, it's not clear to me why you feel this is deficient in any way.
In other words, it's the opposite of what SNAC is designed for (and may even require special versions of the cores).
This is doing effectively the same job as daemonbite converters, except that:
- it polls the original converter using its original protocol, and as such may introduce a small amount of lag while this is processed
- it isn't sending the data out via USB, but rather alternate interfaces
Being that it is the opposite of what SNAC is intended for, there is virtually no chance of it being supported by the project in a larger way.
If it were to be supported somehow, this would go through the HPS side of the device, and end up being the same as USB - which, it's not clear to me why you feel this is deficient in any way.
Re: Better support for SNAC?
I think it does require special version I think the creator is on the forums.dshadoff wrote: ↑Fri Apr 30, 2021 2:15 pm That's protocol conversion. It performs polling of standard joypads only, and would not work for mouse/etc. special-protocol devices.
In other words, it's the opposite of what SNAC is designed for (and may even require special versions of the cores).
This is doing effectively the same job as daemonbite converters, except that:
- it polls the original converter using its original protocol, and as such may introduce a small amount of lag while this is processed
- it isn't sending the data out via USB, but rather alternate interfaces
Being that it is the opposite of what SNAC is intended for, there is virtually no chance of it being supported by the project in a larger way.
If it were to be supported somehow, this would go through the HPS side of the device, and end up being the same as USB - which, it's not clear to me why you feel this is deficient in any way.
That aside 2 player support in snac would be good.
The othet solution I am thinking of is if official MiSTer controllers designed to be low latency are a part of the project.
I am just proposing this solution because acquiring good low latency usb controllers is a problem.
-
- Posts: 137
- Joined: Sun May 24, 2020 8:11 pm
- Has thanked: 2 times
- Been thanked: 48 times
Re: Better support for SNAC?
There is an open source / open hardware extension for SNAC here:
https://github.com/MiSTer-DB9
It's backwards compatible. That's official cores with SNAC support works with the adapters (only one player and without OSD control). Of course that means also gun support. There are improvements on NES (on US controllers) and PCE (full support 6 button gamepads) over the official SNAC.
https://github.com/MiSTer-DB9
It's backwards compatible. That's official cores with SNAC support works with the adapters (only one player and without OSD control). Of course that means also gun support. There are improvements on NES (on US controllers) and PCE (full support 6 button gamepads) over the official SNAC.
Re: Better support for SNAC?
i understand the need for the lowest latency for controllers.
specifically when referring to games for the atari, SHMUPs, arcade fighting games, NES titles, and super mario world ROM hacks.
those particular systems and games benefit the most from having the lowest input lag as possible.
that said, and after testing both USB controllers and SNAC with those cores on the mister, it is largely subjective as to how much you would notice the latency of a USB controller or a SNAC converter/controller. the fast polling option for USB on the MiSTer works.
https://docs.google.com/spreadsheets/d/ ... 1214855193
my advice would be to use that chart for wired controllers, and pick one from the top 10-15. anything in that 4ms or lower range is going to be perfectly playable for every single core, and anything from that list under 1ms will be imperceptible to a human (comparing to native SNAC).
if arcade games are your main systems you play on the mister, then getting a proper arcade stick and a UFB would be my recommendation.
referencing the above chart by MiSTeraddons, the UniversalFightingBoard by Brooks has sub 1ms input lag.
there is also a DIY version of a UFB, for PC/MiSTer/Pi only, which uses a ~$10 arduino board with incredible input lag stats as well
https://github.com/MickGyver/DaemonBite-Arcade-Encoder
specifically when referring to games for the atari, SHMUPs, arcade fighting games, NES titles, and super mario world ROM hacks.
those particular systems and games benefit the most from having the lowest input lag as possible.
that said, and after testing both USB controllers and SNAC with those cores on the mister, it is largely subjective as to how much you would notice the latency of a USB controller or a SNAC converter/controller. the fast polling option for USB on the MiSTer works.
https://docs.google.com/spreadsheets/d/ ... 1214855193
my advice would be to use that chart for wired controllers, and pick one from the top 10-15. anything in that 4ms or lower range is going to be perfectly playable for every single core, and anything from that list under 1ms will be imperceptible to a human (comparing to native SNAC).
if arcade games are your main systems you play on the mister, then getting a proper arcade stick and a UFB would be my recommendation.
referencing the above chart by MiSTeraddons, the UniversalFightingBoard by Brooks has sub 1ms input lag.
there is also a DIY version of a UFB, for PC/MiSTer/Pi only, which uses a ~$10 arduino board with incredible input lag stats as well
https://github.com/MickGyver/DaemonBite-Arcade-Encoder
Re: Better support for SNAC?
I feel like I am more sensitive to input latency than most and I still stand by using a USB controller. I have been singing the praises of the iBuffalo SNES USB controller for years. Was pumped to see it on the MisterAddons guy's latency tests as one of the best controllers. I use that particular controller for most things. 6 button fighters I use a wired RetroBit USB 6 button Genesis controller. That feels just as "crispy" to me.
Disclaimer, I am using fast usb polling and I am playing on a freesync monitor and have my ini set to take advantage. I have zero interest in using SNAC for a regular controller, especially given the fact that I play many cores and getting 4 adapters would be quite annoying.
I was close to building a 2 player SNES daemonbite adapter, but I heard that those might not work as well due to how they are assigned in MiSTer.
Disclaimer, I am using fast usb polling and I am playing on a freesync monitor and have my ini set to take advantage. I have zero interest in using SNAC for a regular controller, especially given the fact that I play many cores and getting 4 adapters would be quite annoying.
I was close to building a 2 player SNES daemonbite adapter, but I heard that those might not work as well due to how they are assigned in MiSTer.
Re: Better support for SNAC?
Yes that's all correct but as I said usb controllers have low print runs see that iBuffalo controller I have one but at the time it was £22.95 which was worth it because it's low latency but now it has risen to £38.95 in just a few months.Jim Mack wrote: ↑Fri Apr 30, 2021 10:35 pm I feel like I am more sensitive to input latency than most and I still stand by using a USB controller. I have been singing the praises of the iBuffalo SNES USB controller for years. Was pumped to see it on the MisterAddons guy's latency tests as one of the best controllers. I use that particular controller for most things. 6 button fighters I use a wired RetroBit USB 6 button Genesis controller. That feels just as "crispy" to me.
Disclaimer, I am using fast usb polling and I am playing on a freesync monitor and have my ini set to take advantage. I have zero interest in using SNAC for a regular controller, especially given the fact that I play many cores and getting 4 adapters would be quite annoying.
I was close to building a 2 player SNES daemonbite adapter, but I heard that those might not work as well due to how they are assigned in MiSTer.
Re: Better support for SNAC?
Yes I will be buying your version but it would be good if they added it officiallyantoniovillena wrote: ↑Fri Apr 30, 2021 4:08 pm There is an open source / open hardware extension for SNAC here:
https://github.com/MiSTer-DB9
It's backwards compatible. That's official cores with SNAC support works with the adapters (only one player and without OSD control). Of course that means also gun support. There are improvements on NES (on US controllers) and PCE (full support 6 button gamepads) over the official SNAC.
Re: Better support for SNAC?
I have the original hardware setup on a CRT so that's what I am comparing to and you notice straight away when the controls feel sticky due to latency.PikWik wrote: ↑Fri Apr 30, 2021 7:25 pm i understand the need for the lowest latency for controllers.
specifically when referring to games for the atari, SHMUPs, arcade fighting games, NES titles, and super mario world ROM hacks.
those particular systems and games benefit the most from having the lowest input lag as possible.
that said, and after testing both USB controllers and SNAC with those cores on the mister, it is largely subjective as to how much you would notice the latency of a USB controller or a SNAC converter/controller. the fast polling option for USB on the MiSTer works.
https://docs.google.com/spreadsheets/d/ ... 1214855193
my advice would be to use that chart for wired controllers, and pick one from the top 10-15. anything in that 4ms or lower range is going to be perfectly playable for every single core, and anything from that list under 1ms will be imperceptible to a human (comparing to native SNAC).
if arcade games are your main systems you play on the mister, then getting a proper arcade stick and a UFB would be my recommendation.
referencing the above chart by MiSTeraddons, the UniversalFightingBoard by Brooks has sub 1ms input lag.
there is also a DIY version of a UFB, for PC/MiSTer/Pi only, which uses a ~$10 arduino board with incredible input lag stats as well
https://github.com/MickGyver/DaemonBite-Arcade-Encoder
zkeEDR6.png
I would like the MiSTer to be a solution where I can pack up the older consoles and save some space but it's not quite that yet.
I get that but just because a controller is low latency doesn't mean it feels right.
For example I have 8Bitdo SN30 Pro USB which feels perfectly fine however on Turrican NES press down and it also simultaneously presses right on the controller at the same time.
Then you have the iBuffalo controller it has the lowest latency but it feels cheap in the hand in comparison to original controllers.
Then you have low print runs iBuffalo controller has risen in price recently probably for it's low latency but it's kinda cheap feeling and isn't worth the now 38.95 it goes for not to mention the ones you want have sold out quite often.
Also I have heard newer versions of some controllers don't have the same latency as the older versions of said controllers.
There are a large amount of original controllers available and they aren't going for insane prices just yet.
USB alternatives to original controllers just don't feel quite right in my opinion that's why I advocate for better snac in the official builds
I will be going the DB9 Adapter route myself https://www.antoniovillena.es/store/product/decapod/
Re: Better support for SNAC?
I'm not put off by usb for everything as such but SNAC is clearly a better choice because it's the same as the original and does support light gun controllers I have some buying damonbite adapters gets pricey if you buying for every controller.0x15e wrote: ↑Fri Apr 30, 2021 4:18 pmIt isn't, though. If you buy / build Daemonbite adapters, you can use original controllers over USB with very little latency (avg 0.75ms). That's one of the lowest latency input methods there is. They're not particularly expensive to buy pre-built but if for some reason you can't do that (export / shipping restrictions, etc.), they're also very easy to build using an Arduino Pro Micro.
Trust me. Before I got into MiSTer, I was a little put off about having to use USB for everything, but once I actually tried building and playing with those adapters using original controllers, all my fears were put to rest. There really isn't any reason to favor SNAC over USB unless you're using a nonstandard controller or a light gun.
https://www.antoniovillena.es/store/product/decapod/ << This looks the best solution but isn't official
-
- Posts: 137
- Joined: Sun May 24, 2020 8:11 pm
- Has thanked: 2 times
- Been thanked: 48 times
Re: Better support for SNAC?
The 1 player SNAC is official. That's the decapod will work with official cores. But for 2 player working or OSD manage need our fork. The schematics for the SNAC extension are available and can be added on the official IOmsimplay wrote: ↑Mon May 03, 2021 6:34 am
https://www.antoniovillena.es/store/product/decapod/ << This looks the best solution but isn't official
Re: Better support for SNAC?
i have noticed varying degrees of what you described for years, with different controllers/manufacturers.msimplay wrote: ↑Mon May 03, 2021 6:29 am
I get that but just because a controller is low latency doesn't mean it feels right.
For example I have 8Bitdo SN30 Pro USB which feels perfectly fine however on Turrican NES press down and it also simultaneously presses right on the controller at the same time.
there is a simple fix for this, and is something ive done to the majority of my controllers - a Tape Mod
that is an extreme example of a tape mod, but doing something similar to my controllers has relieved those combination inputs i would get when holding a direction and the neighboring contacts being activated, from my button mashing.
also, a more relaxed playstyle and not mashing the d-pad past the point of contact will correct this naturally, but im guilty of holding directions/tilting my controller "to turn more" as anyone else
![Smile :)](./images/smilies/icon_e_smile.gif)
Re: Better support for SNAC?
You are absolutely right, snac should be for two players and also the code is already done and it is functional even for the osd.msimplay wrote: ↑Fri Apr 30, 2021 11:08 am Currently snac is one player only but I believe it should be two player.
I think people recommended just buy a low latency controller USB like the 8bitdo.
However the issue is now that latency on modern controller's is not a priority the 8bitdo controllers are
good but they seem to be having low print runs and starting to get scalped now
So I believe there should be better official support for snac.
What does everyone else think?
In addition, it is the purest way to play, the controllers commands go directly to the core, I don't want polling, I don't want linux, I don't want low-lag intermediaries, I want direct connection like the original systems and with the original controls.
That could be the spirit of the project, but it is not officially and never will be.
Re: Better support for SNAC?
I am wondering why its not the spirit of the project though?oskarzer0 wrote: ↑Tue May 04, 2021 10:33 pmYou are absolutely right, snac should be for two players and also the code is already done and it is functional even for the osd.msimplay wrote: ↑Fri Apr 30, 2021 11:08 am Currently snac is one player only but I believe it should be two player.
I think people recommended just buy a low latency controller USB like the 8bitdo.
However the issue is now that latency on modern controller's is not a priority the 8bitdo controllers are
good but they seem to be having low print runs and starting to get scalped now
So I believe there should be better official support for snac.
What does everyone else think?
In addition, it is the purest way to play, the controllers commands go directly to the core, I don't want polling, I don't want linux, I don't want low-lag intermediaries, I want direct connection like the original systems and with the original controls.
That could be the spirit of the project, but it is not officially and never will be.
I thought the project is about preservation?
- Sorgelig
- Site Admin
- Posts: 879
- Joined: Thu May 21, 2020 9:49 pm
- Has thanked: 2 times
- Been thanked: 212 times
Re: Better support for SNAC?
There is no input lag using generic USB gamepad.
https://www.youtube.com/watch?v=5ZTS04rVOn0
All these direct connections have no benefits. It only wastes GPIOs and requires 30-years old gamepad.
Purists use original systems, not emulators, not FPGA.
https://www.youtube.com/watch?v=5ZTS04rVOn0
All these direct connections have no benefits. It only wastes GPIOs and requires 30-years old gamepad.
Purists use original systems, not emulators, not FPGA.
Re: Better support for SNAC?
I do use but I want to save spaceSorgelig wrote: ↑Wed May 05, 2021 1:13 pm There is no input lag using generic USB gamepad.
https://www.youtube.com/watch?v=5ZTS04rVOn0
All these direct connections have no benefits. It only wastes GPIOs and requires 30-years old gamepad.
Purists use original systems, not emulators, not FPGA.
![Razz :P](./images/smilies/icon_razz.gif)
Re: Better support for SNAC?
First of all, some people like playing with their original controllers, the experience just isn't the same unless the controller is an exact replica of the OEM one, then there is also the fact that using serial protocols such as LLAPI or SNAC the controller polling rate is synced to the core, making it more accurate than just spamming polling faster than the original hardware can handle, whether or not this is noticeable in real life is another argument however.Sorgelig wrote: ↑Wed May 05, 2021 1:13 pm There is no input lag using generic USB gamepad.
https://www.youtube.com/watch?v=5ZTS04rVOn0
All these direct connections have no benefits. It only wastes GPIOs and requires 30-years old gamepad.
Purists use original systems, not emulators, not FPGA.
I am playing with original SNES and Saturn controllers and I wouldn't change for anything else, most 3rd party controllers don't come close to the original ergonmics and controller build quality in my opinion.
Re: Better support for SNAC?
8bitdo has very close controllers to the NES and SNES OG controllers, i would dare to say even better because you can buy a new one.mathieulh wrote: ↑Thu May 06, 2021 7:40 amFirst of all, some people like playing with their original controllers, the experience just isn't the same unless the controller is an exact replica of the OEM one, then there is also the fact that using serial protocols such as LLAPI or SNAC the controller polling rate is synced to the core, making it more accurate than just spamming polling faster than the original hardware can handle, whether or not this is noticeable in real life is another argument however.Sorgelig wrote: ↑Wed May 05, 2021 1:13 pm There is no input lag using generic USB gamepad.
https://www.youtube.com/watch?v=5ZTS04rVOn0
All these direct connections have no benefits. It only wastes GPIOs and requires 30-years old gamepad.
Purists use original systems, not emulators, not FPGA.
I am playing with original SNES and Saturn controllers and I wouldn't change for anything else, most 3rd party controllers don't come close to the original ergonmics and controller build quality in my opinion.
Retro-Bit also has very close Genesis and Saturn Controllers as they use the OG molds to produce them.
Re: Better support for SNAC?
Retrobit Sega 8 button controllers are terrible in my experience and 8bitdo controllers have low print run.
Also there have been reports that newer versions of controllers have worse latency the older versions that were tested for latency
Re: Better support for SNAC?
From my objective view i cant feel any latency problem.
Re: Better support for SNAC?
It depends which controller you have my issue with that controller isn't latency its the switching from d-input to x-input and alsoneogeo81 wrote: ↑Fri May 07, 2021 8:27 amFrom my objective view i cant feel any latency problem.
The issue I have with the controller is that when I press right on the controller a facebutton also presses.
I have Retro-Bit Official Sega Genesis USB Controller 8-Button Arcade Pad wired
- Attachments
-
- Screenshot_2021-05-07 Doesn't work on Windows 10 latest updates properly.png (55.24 KiB) Viewed 14518 times
Re: Better support for SNAC?
You kinda proven my point of why I would prefer snac support because its a mine field buying a usb controller.
I bought my wired version in good faith but I am having serious problems with the wired version.
There's actually no point to using it with the problem that I have.
Re: Better support for SNAC?
no, sure. for me there is no point in buying a old controller, a SNAC adapter and the USB Adapter for the Controller just to have not noticable less latency of 5ms less.
Re: Better support for SNAC?
With the very fastest usb controllers, USB is going to have about a millisecond extra latency over SNAC on average, resulting in one extra frame of input lag about 5% of the time. (Source: https://docs.google.com/spreadsheets/d/ ... edit#gid=0)
Is anyone ever going to notice this? Nope.
Nevertheless, I personally still very much wish it was PERFECT, and that 5% extra frame makes it not perfect.
Is anyone ever going to notice this? Nope.
Nevertheless, I personally still very much wish it was PERFECT, and that 5% extra frame makes it not perfect.