Creating a Widescreen (16:9) NES-like Music Video

A place for your artistic side. Discuss techniques and tools for pixel art on the NES, GBC, or similar platforms.

Moderator: Moderators

User avatar
Jedi QuestMaster
Posts: 603
Joined: Thu Sep 07, 2006 1:08 pm
Location: United States
Contact:

Creating a Widescreen (16:9) NES-like Music Video

Post by Jedi QuestMaster » Sun Dec 15, 2019 2:50 pm

I'm designing a music video for a VRC6 original I made exactly one year ago, and it will be NES-like (but to make everyone's lives easier, I'm not running it on real hardware [yet {maybe}]). I'm not making a rom, just an animation.

I just finished storyboarding it, and I realized I went with a 16:9 aspect ratio.

So the NES/FC has a resolution of 256x224. In order to get a 16:9 aspect ratio, one would simply letterbox it. 256x144 is 16:9... HOWEVER! I intend to put an NTSC filter on it, which will further give it a 4x3 ratio. But aren't there also blank columns at the edge of the screen? :? Can I get a little help here? :( Is there anything else I'm missing?

lidnariq
Posts: 9706
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by lidnariq » Sun Dec 15, 2019 2:58 pm

Native SDTV resolution is 4:3. The NES and SNES (and sometimes the Genesis and TG16) draw 256x224 pixels to fill a US 60Hz screen. But 256÷224 isn't 4÷3, so every pixel is a little wide.

At the NES's native pixel aspect (which is 8:7), you'd need 14:9 in source pixels, or 256x165. Or, since it's fake, you could add pixels on the sides and draw 348x224, then rescale that by 8÷7 to generate 400x224.

User avatar
nesrocks
Posts: 469
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by nesrocks » Sun Dec 15, 2019 3:00 pm

Macbee has made some demos using the full NES resolution, but made it so graphics optimized for widescreen, so it will look good on wide displays, but will appear stretched if viewed on 4:3 screens. I believe his new PC game Skatemasta Tcheco follows this rule. https://twitter.com/tchecoforevis/statu ... 28/photo/1
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!

User avatar
Jedi QuestMaster
Posts: 603
Joined: Thu Sep 07, 2006 1:08 pm
Location: United States
Contact:

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by Jedi QuestMaster » Sun Dec 15, 2019 9:14 pm

nesrocks wrote:
Sun Dec 15, 2019 3:00 pm
Macbee has made some demos using the full NES resolution, but made it so graphics optimized for widescreen, so it will look good on wide displays
Interesting! I didn't think of that approach. :o But I'm already not used to dealing with slightly wider pixels. I can't imagine working with even wider pixels. :lol:

So if I work with a 256x165 field (I'd rather work with a smaller field), then stretch it to 8:7, it will simulate what an SDTV will look like?

tepples
Posts: 22057
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by tepples » Sun Dec 15, 2019 9:40 pm

To make an NES game intended for use with a widescreen TV's "Zoom" button, or a music video suggesting such a game, display 256x176 pixels and assume a title safe area of the center 224x160 pixels. Then follow this filter chain to blow it up to 1080p:

1. Pad to 280x180 pixels.
2. Nearest neighbor scaling by 600% to 1680x1080.
3. Nice (e.g. cubic) scaling to 1920x1080.

The procedure adds an authentic amount of padding before upscaling because early adopter CRT HDTVs have overscan, and LCD HDTVs by default emulate overscan in order to remain compatible with material authored for CRT HDTVs.

This also works for Super NES aesthetic, where this resolution looks kinda-sorta reminiscent of GBA. (That is, unless you try interlace.)

lidnariq
Posts: 9706
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by lidnariq » Sun Dec 15, 2019 9:55 pm

Yes, 256x165 pixels, rescaled up to 293x165 (8/7ths), is 1.776, extremely close to 16:9.

Alternatively, everyone in 50Hz land started with even wider pixels (7:5), so you could start with 256x202, and resize it to 358x202, for 16:9 instead.

knight0fdragon
Posts: 25
Joined: Wed Sep 25, 2019 9:11 am

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by knight0fdragon » Mon Dec 16, 2019 6:17 am

lidnariq wrote:
Sun Dec 15, 2019 2:58 pm
Native SDTV resolution is 4:3. The NES and SNES (and sometimes the Genesis and TG16) draw 256x224 pixels to fill a US 60Hz screen. But 256÷224 isn't 4÷3, so every pixel is a little wide.

At the NES's native pixel aspect (which is 8:7), you'd need 14:9 in source pixels, or 256x165. Or, since it's fake, you could add pixels on the sides and draw 348x224, then rescale that by 8÷7 to generate 400x224.
NES draws 256x240, the upper and lower 8 lines are game dependent when deciding to draw black lines or not.

lidnariq
Posts: 9706
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by lidnariq » Mon Dec 16, 2019 11:35 am

knight0fdragon wrote:
Mon Dec 16, 2019 6:17 am
NES draws 256x240
lidnariq wrote:
Sun Dec 15, 2019 2:58 pm
The NES [...] draw[ s ] 256x224 pixels to fill a US 60Hz screen.
knight0fdragon wrote:the upper and lower 8 lines are game dependent when deciding to draw black lines or not.
Uh. No, the upper and lower 8 scanlines are instead concealed by the TV. It takes a lot of extra effort by the NES to fill them with black. (In contrast, all the 4th generation consoles just draw 224 scanlines instead)

knight0fdragon
Posts: 25
Joined: Wed Sep 25, 2019 9:11 am

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by knight0fdragon » Mon Dec 16, 2019 11:45 am

No, concealing would depend on your TV's overscan. The hardware still renders into a 256x240 buffer, so it was up to the developer to decide whether or not to render black tiles (or even garbage tiles) to compensate for the overscan, or to just draw the entire scene at the 240 and use a safe zone to account for overscan. This is different than having a forced buffer of 256x224 like the low res modes of the SNES

I should note "black" is not literal black because they could really be whatever you set your universal background color to, I am just calling it black bars because that is how we perceive unused areas being drawn for different aspect ratios.
Last edited by knight0fdragon on Mon Dec 16, 2019 11:56 am, edited 1 time in total.

lidnariq
Posts: 9706
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by lidnariq » Mon Dec 16, 2019 11:49 am

We're definitely talking past each other.

Assume I know exactly what you're saying, and I'm saying the exact same thing but in a different way.

knight0fdragon
Posts: 25
Joined: Wed Sep 25, 2019 9:11 am

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by knight0fdragon » Mon Dec 16, 2019 12:10 pm

All I am saying, is NES renders at 256x240, not 224, to fill a US 60hz screen. How much overscan gets applied is dependent on the TV. Some CRTs had no overscan whatsoever (Which made broadcasting television very annoying because you could see the encoded information at the bottom)


My point was really that the question the OP needs to ask himself is what game(s) is he trying to recreate/[get inspired by] with his music video.

To make a true NES-like experience, they could account for those extra 16 lines.

240 becomes a decent multiple of various 16x9 televisions

x3(720p)
x4.5(1080p)
x9(4k)

Then as a bonus, if the game(s) did throw in "garbage" tiles on the top and bottom, they could recreate the garbage effect that TVs that did not 100% overscan the 8 lines to bring home that NES feeling.

lidnariq
Posts: 9706
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by lidnariq » Mon Dec 16, 2019 12:27 pm

knight0fdragon wrote:
Mon Dec 16, 2019 12:10 pm
All I am saying, is NES renders at 256x240
Yes.
not 224, to fill a US 60hz screen.
No. You're approaching the causality backwards from what I'm saying.
How much overscan gets applied is dependent on the TV.
Shipped CRT SDTVs never reduced overscan to display more than 224 scanlines. However, later TVs did move which 224 scanlines were shown. Earlier TVs (70s? 60s?) displayed a good deal less than 224 scanlines.
Some CRTs had no overscan whatsoever (Which made broadcasting television very annoying because you could see the encoded information at the bottom)
There was no encoded information at the bottom. All the in-band data channels were at the top of the field.
To make a true NES-like experience, they could account for those extra 16 lines.
No, because no-one saw most of them. Except in PAL-land.
240 becomes a decent multiple of various 16x9 televisions
That's just retreaux, not actually a reason. You could just as well pick 360 scanlines with that kind of rationalization.

knight0fdragon
Posts: 25
Joined: Wed Sep 25, 2019 9:11 am

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by knight0fdragon » Mon Dec 16, 2019 1:03 pm

How much overscan gets applied is dependent on the TV.
Shipped CRT SDTVs never reduced overscan to more than 224 scanlines. However, later TVs did move which 224 scanlines were shown. Earlier TVs (70s? 60s?) displayed a good deal less than 224 scanlines.
Some TVs certainly did go beyond 224 scanlines, if I could recall the TV I had growing up as a child I could tell you.
Some CRTs had no overscan whatsoever (Which made broadcasting television very annoying because you could see the encoded information at the bottom)
There was no encoded information at the bottom. All the in-band data channels were at the top of the field.
There definitely was information at the bottom as well that broadcasters would use that could be seen.
To make a true NES-like experience, they could account for those extra 16 lines.
No, because no-one saw them. Except in PAL-land.
People absolute saw this because I grew up with this. One of the things we had to do as kids was mess with the VHold knob on the back of the TV when playing games to constantly hide the distractions.

lidnariq
Posts: 9706
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by lidnariq » Mon Dec 16, 2019 1:47 pm

That sure sounds to me like your TV was miscalibrated. Maybe someone had screwed around with the service menu at some point in the past, or if it was a TV that predated service menus, has something maladjusted.

Nonetheless, there was never any standard for encoding data at the bottom of a field of analog video, and anything you saw there was either wrap-around from the top of the field of video due to an extremely miscalibrated TV set, or the local TV stations were broadcasting from bad masters, or you're misremembering (perhaps top vs bottom).

Why do I say this? Because there is literally no time between the end of the active picture and the start of the serration pulses that start vertical refresh.

For contrast, a substantial portion of the top of the field - lines 10 to 20, more or less the entire upper vertical blanking period - has been used to carry in-band data like EIA-608, or insertion test signals.

Here's a complete capture of a monochrome still image, transmitted over two fields, with NTSC colorburst present (but I've checked, there's no encoded color data). Sample rate was 9.44MHz.

User avatar
Jedi QuestMaster
Posts: 603
Joined: Thu Sep 07, 2006 1:08 pm
Location: United States
Contact:

Re: Creating a Widescreen (16:9) NES-like Music Video

Post by Jedi QuestMaster » Mon Dec 16, 2019 10:37 pm

tepples wrote:
Sun Dec 15, 2019 9:40 pm
1. Pad to 280x180 pixels.
Do you mean adding 'black space?' I understand the rest.

Also, is there a video filter (hopefully that will work with VirtualDub) that can apply an NTSC effect similar to Blargg's Libraries: http://slack.net/~ant/libs/ntsc.html#nes_ntsc I was just going to add 'scanlines' and call it a day.

Here's my storyboard (obviously everything's going to be pixelated and in color):

ImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImage

Post Reply