Two Ship mode 5 hires + interlaced comparison

Discussion of hardware and software development for Super NES and Super Famicom. See the SNESdev wiki for more information.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
Post Reply
User avatar
rainwarrior
Posts: 8734
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Two Ship mode 5 hires + interlaced comparison

Post by rainwarrior »

This thread was moved from this original thread (2022-05-03) in order to get away from irrelevant and unproductive discussion. There is a little bit of relevant commentary there, but please reply here if you have questions or comments on this demo.


Kulor posted a really interesting GIF in that other thread, and I wanted something I could play around with for myself, test out on my various hardware, tweak the source, etc.

So, I put together a quick demo ROM heavily inspired by the composition of Kulor's GIF, with some art I gathered from OpenGameArt.Org.
twoship.png

So, I tried to make two versions of a scene, as equivalent as I could to try and make the comparison fair. Pressing B or A switches between "normal" Mode 1 (256x240p) and interlaced Mode 5 (512x480i).

A few notes based on my tests:
  • The high resolution contrast really does come through well, even through composite on my CRT which is hardly well focused. I was surprised how good it looks. In some ways it's hard to make a fair comparison, since the low resolution art is necessarily a downscaled version of the high resolution. I feel like some hand work to make cleaner pixel art would improve its showing and make it more fair, but I didn't want to spend too much time on this.
  • The effects works best with high contrast. Maybe that's unsurprising, but the nature of the are makes a big difference in that respect. This ship, which doesn't really have a lot of colour variation, but does have a lot of detailed luminance variation, I think gets a much stronger benefit than, e.g. the very colourful and saturated Wind Waker art used in dougeff's test a few days ago.
  • I think the 4x memory footprint for the high resolution is a really huge compromise to make. Maybe it's worth it, maybe not... it kinda feels like being knocked back a console generation in terms of environmental variability... but at the same time you can still do a lot with less.
  • This demo doesn't do anything to account for odd/even frames, and you definitely get that "windowshade" rippling whenever the vertical scroll shifts against the grain of the fields. If you're going to use this you might want to account for that.
  • Interlacing in general has always been mildly irritating to me. I don't know if I just have an overly sensitive persistance-of-vision, but I could always see interlacing jitter on video games. Movies are fine, because they're organic and in motion, but with video games where things are clean and move in straight lines, the feel of the jitter has always been very present for me on interlacing CRTs. For me there's an overall discomfort tradeoff here, maybe equivalent to putting on a pair of 3D glasses.
  • Switching between interlaced and not causes all of my modern television devices to lose picture and have to resync over a few seconds. That includes my Framemeister upscaler. Care should probably be taken not to switch interlacing often, and especially not do something important and missable just after a transition. Probably want a very hard pause to wait for user input after any switch like this.
  • Of course, interlacing is not a requirement for horizontal high-resolution, and not using it also scales back the memory compromise by half too. I wanted to compare extremes so I didn't include this variation in my test. My Framemeister seems to do fine with 512-pixel rows, though I have seen people streaming with other upscaler hardware that does a very poor job with it.
Full source code is included in the zip, for anybody that wants it.

Edit 1: replaced $33 byte in header with $00 to avoid indicating v3 header.
Edit 2: added a proper checksum to the header.
Edit 3: moved to github
Last edited by rainwarrior on Wed Jun 01, 2022 8:26 pm, edited 1 time in total.
User avatar
rainwarrior
Posts: 8734
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Two Ship mode 5 hires + interlaced comparison

Post by rainwarrior »

A few discussion points cherry-picked from the original thread, apologies if it pings those quoted.

1. On the artifacts of interlacing vs. vertical scrolling or sharp horizontal lines:
rainwarrior wrote: Tue May 03, 2022 11:08 am
rainwarrior wrote: Tue May 03, 2022 2:34 am This demo doesn't do anything to account for odd/even frames, and you definitely get that "windowshade" rippling whenever the vertical scroll shifts against the grain of the fields. If you're going to use this you might want to account for that.
Prominent horizontal edges make the problem more apparent, though it happens with all horizontal detail. Never moving directly up and down could also make it less obvious.

Scrolling 2 pixels at a time can also hide the problem, but this cuts the vertical smoothness in half. Though the horizontal of hires can only scroll 2 pixels at a time, so maybe they might as well match.

You can also pay attention to the even/odd field state of the PPU, but I'm not sure how to put it to good use. Maybe for modern TVs that weave the two fields into a 30hz picture, only moving on the even frames could reduce the "mice teeth". Again this compromise halves the smoothness of motion, though mostly only for CRT. A 30hz weave display has already cut the smoothness in half without your help. Not all modern TVs do this, though, and there's a lot of variation in deinterlace methods.
2. On picture fidelity and how interlacing might be improved:
lidnariq wrote: Sat May 07, 2022 12:37 pm
Señor Ventura wrote: Sat May 07, 2022 11:15 am I will never undertand how games with static screen doesen't used 512x224 or 512x448...
Interlacing looks really bad unless the input is blurred sufficiently vertically. Spending enough palette entries on the SNES to do that much blurring is a very bitter pill - it effectively reduces your 4bpp palette to 2bpp.

The PS1 library is full of examples of how long it took us to learn how to correctly blur things to make it not flicker objectionably on a real CRT.
at least games like push over, lemmings, super off road, or goof troop, could have been used this mode, but also didn't.
Lots of TVs from the contemporary era were not capable of showing the resolution improvement of the 512px mode. It's easy to look back down with our modern HDTVs even with old consoles and wonder, but between the first model of the SNES blurring everything horizontally, and many 80s and 90s era CRT TVs blurring things on both axes, losing the parallax layer for maybe-not-even-seen extra horizontal resolution was again a very bitter pill.
3. On the limits of unique tile coverage:
rainwarrior wrote: Sun May 08, 2022 11:08 am If you want to partition your tiles vertically, I think you could do an HDMA split to switch tilesets and double the 32k of tiles normally accessible to Mode 5 BG1. That should give you full-screen coverage in 512x240, and half-screen in 512x480.

Harder to do something like that in, e.g. a scrolling town map, and the allocation impinges on sprites or BG2, but I do think it's an option?
Señor Ventura wrote: Sun May 08, 2022 12:33 pmThe way to go is to repeat a certain number of tiles to draw the whole scene without lacking graphic data, but it was very common then, rigt?.
Yes, it's more unusual for a whole screen to have to be unique.
regiscaelus
Posts: 32
Joined: Thu Jan 24, 2019 1:35 am

Re: Two Ship mode 5 hires + interlaced comparison

Post by regiscaelus »

I've been meaning to ask this for a while. Would it be possible for someone to provide pictures (in fairly hi-res) or even a video footage showing Two Ship displayed on a CRT monitor and switching between the various modes? Low/high res, interlaced mode on/off in the 4 possible resolutions.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Two Ship mode 5 hires + interlaced comparison

Post by lidnariq »

Unfortunately, the effects of interlacing can't be seen reproduced in video - it's one of those things you really have to see in person, because it's an artifact of the CRT itself, not anything else.
regiscaelus
Posts: 32
Joined: Thu Jan 24, 2019 1:35 am

Re: Two Ship mode 5 hires + interlaced comparison

Post by regiscaelus »

Thank you @linariq. It looks like I need to find a CRT monitor, then.
User avatar
rainwarrior
Posts: 8734
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Two Ship mode 5 hires + interlaced comparison

Post by rainwarrior »

A subsequent discussion of CRT TVs, monitors, NTSC vs PAL and SNES region modding was split off here: thread
Post Reply