NTSC pattern torture test ROM

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

Sour
Posts: 890
Joined: Sun Feb 07, 2016 6:16 pm

Re: NTSC pattern torture test ROM

Post by Sour »

Zepper wrote:Does not work here.
Are you trying to run Eugene's build?
It's probably dynamically linked against MSVC's standard library. "Official" builds are statically linked, so that shouldn't happen.
You can grab Mesen 0.7.0, it has the filter & should work.
Otherwise, you can also install the VC++ 2015 x86/x64 runtime on your PC and it should fix the problem, too.
User avatar
Zepper
Formerly Fx3
Posts: 3262
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Re: NTSC pattern torture test ROM

Post by Zepper »

Got the official version, worked fine. Btw, blargg's NTSC version looks better.
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: NTSC pattern torture test ROM

Post by dougeff »

I did some tests of my own on an NTSC TV with some dither patterns...kind of interesting, I think.
DitherB.jpg
Original, much larger picture...

http://dl.dropboxusercontent.com/s/y0ty ... Dither.jpg
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: NTSC pattern torture test ROM

Post by tokumaru »

dougeff wrote:I did some tests of my own on an NTSC TV with some dither patterns...kind of interesting, I think.
It would be interesting if you posted the pixel-perfect image for comparison.
Today's lesson: Don't ever use dither patterms on the NES. :wink:

In all seriousness, I guess there are a few legitimate reasons to use dithering, but the basic notion that you can create uniform colors definitely doesn't apply here, specially if the image is supposed to scroll. The only time I absolutely needed to use dithering was on my raycaster, but the big software pixels and lack of scrolling really helped.
Revenant
Posts: 462
Joined: Sat Apr 25, 2015 1:47 pm
Location: FL

Re: NTSC pattern torture test ROM

Post by Revenant »

User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: NTSC pattern torture test ROM

Post by dougeff »

This is what it looks like in FCEUX...
dither.png
dither.png (2.51 KiB) Viewed 8939 times
Here is the ROM. I added scroll left and right function. You can see it pretty good in Nestopia with the NTSC filter on. (didn't test any others)
dither.nes
(24.02 KiB) Downloaded 400 times
I think the clear winner is the horizontal striped bars. They don't change or flicker or get weird diagonal patterns when scrolling. (in the picture, not the top left, but just to the right of that).

Further investigation...
I did some tests with very similar colors, and I find that dithering with a slightly lighter shade of the exact same hue (15 with 25) produces smoother look, even on NTSC. Still getting diagonal lines on most of the patterns though.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: NTSC pattern torture test ROM

Post by tokumaru »

Interesting how the worst offender (i.e. the one that results in diagonals with the highest contrast) is the basic checkerboard pattern that many inexperienced artists would try.
User avatar
feos
Posts: 108
Joined: Tue Apr 19, 2011 11:26 am
Location: RU

Re: NTSC pattern torture test ROM

Post by feos »

dougeff wrote:I did some tests with very similar colors, and I find that dithering with a slightly lighter shade of the exact same hue (15 with 25) produces smoother look, even on NTSC. Still getting diagonal lines on most of the patterns though.
Pictures?
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: NTSC pattern torture test ROM

Post by dougeff »

Here's a picture. NTSC CRT TV. Colors 15 25, 1a 2a, 11 21, 05 15

I'm going to try to make a video.
dither2.jpg
dither2.png
dither2.png (2.52 KiB) Viewed 8850 times
Last edited by dougeff on Wed Feb 15, 2017 11:05 am, edited 1 time in total.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
feos
Posts: 108
Joined: Tue Apr 19, 2011 11:26 am
Location: RU

Re: NTSC pattern torture test ROM

Post by feos »

Right, and the source (aka plain emulator output)?
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: NTSC pattern torture test ROM

Post by tepples »

Stripes in dither patterns are caused by chroma spilling over into frequencies associated with luma (0-3.0 MHz). This happens when the signal is high or low for significantly longer or shorter than half a cycle of the color subcarrier, particularly when switching between different hues. But when the hue is the same (e.g. $15 vs. $25), that just changes the luma level, and the TV successfully separates out the changes in luma from the (lack of) changes in chroma. You see some faint stripes in the checkerboard pattern with $05 and $15 (row 7, column 3) because the chroma is stronger (more saturation) in $15 and $25 than in $05 and $35.

feos: In each case, the plain emulator output resembles the white portion of the original attachment.
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: NTSC pattern torture test ROM

Post by dougeff »

Video

https://youtu.be/bD7mNw5McBs

Also, edited above post to include 'emulator output'.

I probably need to adjust mt TV's color. $15 is coming out purple.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
Eugene.S
Posts: 317
Joined: Sat Apr 18, 2009 4:36 am
Location: UTC+3
Contact:

Re: NTSC pattern torture test ROM

Post by Eugene.S »

Here is hi-quality capture via Canon 700D
on Famicom AV and Philips 20GX8552/59R CRT
(*ntsc_torture2 = dither.nes)

http://hwm.us.to/famimusic/CAPTURE/
(warning: HUGE SIZE)
Post Reply