Sunday, February 25, 2018

Super Nt - Testing and Capturing

I had not planned on publishing a second blog entry on the Super Nt, but there were one or two issues I wished to address and the first blog entry was becoming very long.  So here is another blog entry discussing testing and capturing games on this increasingly wonderful device.




Testing Games on the Super Nt

Ideally, the hardware you should have to test the Super Nt is a 3-chip SNES console with a CPU/PPU1/PPU2 revisions of 2/1/3.  This is the system Kevtris is targeting.  There are early consoles with revisions of 1/1/1, 2/1/1 and 2/1/2, but they almost all have an SHVC-CPU-01 PCB with the separate SHVC-SOUND module.  Boards SNS-CPU-GPM-01, SNS-CPU-GPM-02, SNS-CPU-RGB-01, SNS-CPU-RGB-02 & SNS-CPU-APU-01 are good boards.  Avoid the 1-chip consoles, while they output sharper graphics they also bring their own set of glitches to the table.  Do not test on any clone console, only use official Nintendo hardware.  Test PAL games on PAL consoles and NTSC games on NTSC consoles.

While it is ideal to have genuine cartridges, the sd2snes is exceptionally compatible with games and works harmoniously with the Super Nt.  The Super PowerPak and official Super EverDrive are almost as compatible.  Make sure you update to the latest firmware on your card (that includes the Ramsis firmware for the Super PowerPak).  Also, make sure your Super Nt is updated to the latest firmware.  Avoid Super Nt fimrware v4.1, it had a nasty regression that could cause random crashes in games.  Flash carts can tell you the versions of your CPU/PPU1/PPU2, as can some games.

When it comes to ROMs, use ROMs from the No-Intro set, preferably a recent compilation of the No-Intro set.  You can find a fairly recent compilation on archive.org.  In order to ensure that your ROM is good, check this site : http://datomatic.no-intro.org/  Select Nintendo - Super Nintendo Entertainment System from the drop down menu and then click on Search to search for the game in question.  If you want to see the recent updates, choose Selected on the drop down menu Set.

When using an emulator to test games, there is only one choice.  You must use the latest version of Higan, the only SNES emulator that focuses on accuracy over playability.  Do not use SNES9x or ZSNES or a Retron 5 or a jailbroken SNES Classic.  Higan is admitted a bit more of a pain to use than other emulators because it is closer to the each-game-has-its-own-manifest system of MAME than the drag-and-drop-your-ROM system of Nestopia.  Simply Import the ROM file and then test it out.  Higan is nearly 100% accurate, but a regression can slip in from time to time with obscure behavior and edge cases.

Here is a checklist of things to do when you think you have found a bug :

  • Make sure you have updated to the latest Super Nt and flash cart firmware
  • Make sure your ROM is a good dump
  • Try all official versions and revisions, including Japanese and PAL if they exist.
  • Try the game on an original SNES, preferably with a 2/1/3 CPU/PPU1/PPU2 revision
  • Try the game in higan
  • Power down your console and do not run another game beforehand.
  • Try the game a few times in the Super Nt, pressing reset a couple of times (reset to game, not reset to flash menu)
While a 3-chip 2/1/3 console is the most compatible known console, some games can crash due to poor programming.  See my previous blog entry for more details.  

Capturing Super Nt Video

While I can only speak for my own device, the StarTech USB3HDCAP, I believe my advice will be helpful for others.  The StarTech's processing chip is also used in the Elgato HD60 and the Micomsoft XCAPTURE-1.

The dirty secret of the StarTech's chip is its inability to capture full range (0-255) RGB losslessly.  It seems to either capture using YUV 4:2:2 or 4:2:0 or limited range (15-235) RGB.  When the Super Nt was first released, it only output full range RGB (and it converted the RGB from YUV, scalers or no scalers).  Now as of v4.3, it has the option to output limited range RGB in the Scalers menu.  For the StarTech, you need to set the Limited RGB option introduced in v4.3 to get the most accurate colors from the Super Nt.

Another issue that I encountered with the StarTech is its ability to capture perfectly sharp pixels.  With the default Super Nt settings, the pixels may not be as sharp and even as they can be from a PC emulator.  But this can be fixed.  In the 1080p mode, for 5x/4x set the horizontal resolution to 1024 and the vertical resolution to 960.  For the 6x/5x, set it to 1536 and 1200, respectively.  You may need to adjust your horizontal position setting to 40.  Disable all scalers and interpolation.  In OBS set the YUV Color Space to 709 and the Color Range to Full.  I also boosted the contrast from 128 to 130.  With that, let's compare a frame from the StarTech capture to a screenshot from higan v1.06 :

higan

Super Nt
Compared to the captures I took in my first blog entry on the Super Nt, the differences between higan and the Super Nt as captured are no longer easy to spot.  In fact, the two screenshots are nearly identical.  Some people were disappointed because the Super Nt's color reproduction did not match higan's, but kevtris' fixes (eliminating RGB to YUV to RGB conversion and linearizing the brightness levels) have squarely addressed that issue.  While you may not get perfect reference screenshots from the StarTech USB3HDCAP, you can come very close.  It is certainly good enough for Youtube and Twitch.

If you are unsure if your display supports full range RGB, run Super Metroid.  If the Limited Range RGB option is off on the Super Nt and you see a dark gray background, then your monitor is limited range.  Turn the option on to give a proper black.

The scanlines may appear misaligned in 1080p mode with the default vertical position setting, 42.  Adjust it to 40 and you will have much more nicely aligned scaline to pixel boundaries.  When using the new gamma sliders in v4.3, 1.25 is the equivalent of the old gamma boost turned on when the scanlines were off or when the scanlines were turned on and the gamma boost was off.  1.40 is the equivalent when the gamma boost and scanlines are both on.

No comments: