240p test suite

A place where you can keep others updated about your NES-related projects through screenshots, videos or information in general.

Moderator: Moderators

User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: 240p test suite

Post by tokumaru »

Lack of time/tools to prepare a cartridge and make sure the program works correctly even without a Flash cart's boot ROM initializing the system?
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: 240p test suite

Post by tepples »

That, and I expect some people who haven't made repros before or bought a flash cart to want to learn to make repros just for this test suite, unless perhaps I get it included as a "toy" in the third volume of Action 53. Here's what I have in the current README:
You can also burn it to an NES cartridge with an UNROM board.
  1. Chop off the first 16 bytes, which contain the iNES header.
  2. Write the remaining 65536 bytes to a 27C512, 29F512, or equivalent 64Kx8-bit EPROM or flash memory.
  3. Open the Game Pak's case with a GameBit screwdriver.
  4. Desolder the existing PRG ROM from the board. Don't desolder the short skinny chips (mapper and CIC) or the CHR RAM.
  5. Make sure the UNROM board's H pad has a solder blob and the V pad is not covered. The suite uses horizontal nametable arrangement, called "vertical mirroring" by the emulation community.
  6. Compare the memory's pinout to the pinout for the mask ROM on the UNROM board to see which pins need to be lifted and connected through patch wires to a different hole.
  7. Solder the memory in place, and add necessary patch wires.
I gave a pre-0.05 build to thefox, and it turns out PAL NES blanks the top scanline, the one that never has sprites on it. He also confirmed with his capture card the (known) blanking of the 2 leftmost and rightmost columns of pixels.
Ice Man
Posts: 547
Joined: Fri Jul 04, 2014 2:34 pm

Re: 240p test suite

Post by Ice Man »

tepples wrote:
  • Testing on PAL NES
  • Testing on Dendy
  • Putting 27C512 onto an UNROM-compatible board
I could do those if I get my hands on an UNROM board again. I have both, a PAL NES and a NES modded with Dendy Clone CPU/PPU/XTAL.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: 240p test suite

Post by tepples »

Thanks. It'd be good to have another pair of eyeballs and another pair of thumbs banging on it, trying to make it break.

240p test suite 0.05 is out

0.05 (2015-11-18)
  • Menu: Displays TV system name (NTSC, PAL, or Dendy) in corner
  • Made some tests' help pages more concise
  • Color bleed, Stopwatch, Full screen stripes: Frame counter wraps at 50 instead of 60 on PAL NES and Dendy
  • Linearity: Added a dot at dead center
  • Linearity: Reduced the large circle to 224 pixels tall on NTSC and 239 pixels tall on PAL
  • Linearity: Moved small circles 2 pixels away from the sides on PAL
  • IRE: Incorporates signal measurements by lidnariq
  • Overscan: Explained PAL border in help page
  • Overscan: Redraws borders after returning from help page (reported by thefox)
  • Hill zone scroll test: Corrected parallax strip height on PAL NES
  • Sound test, SMPTE color bars, 601 color bars: Corrected frequency on PAL NES
  • Sound test: Corrected emphasis color on PAL NES and Dendy
Attachments
240pee-0.05.zip
(129.75 KiB) Downloaded 834 times
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: 240p test suite

Post by thefox »

I wonder if it would be better to change the overscan test so that you have to make one pixel visible, instead of having to push it back? I'm just thinking about this scenario, where somebody might want to take a screenshot to demonstrate the amount of overscan; it would be nice if the numbers of screen are valid while the pixel column/row is visible to show that the test was done correctly.
ntsc-capture.png
As for the screenshot itself, it's interesting that this capture card actually grabs the bottom 240 scanlines from the 242 produced by NES, so in the bottom border area you can see effects of the palette changes that the test ROM happens to do right after NMI (which happens at start of the bottom scanline). (Just to be clear, this is not new info: viewtopic.php?p=137511#p137511)
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: 240p test suite

Post by tepples »

I was implementing the behavior described in the existing overscan test's instructions, where the displayed number is the number of white pixels. Here's the wording I came up with for 0.06, which I tried to word more concisely to fit into the help engine's limit of 20 lines per page:
Move each edge inward until
you see the white border,
then go back one pixel. Or
leave one white pixel visible
and subtract 1. The result
is the amount of overscan
in pixels in each direction.
And for this test, I guess it'd be a good idea to move the palette upload after the OAM upload. I'll do that for 0.06.
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: 240p test suite

Post by thefox »

In "SMPTE color bars" you're using $0D, was that intentional?
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: 240p test suite

Post by tepples »

thefox wrote:In "SMPTE color bars" you're using $0D, was that intentional?
Yes. It represents the mini-PLUGE described in the Wikipedia article:
The pluge (short for "Picture Line-Up Generation Equipment") pulse is positioned within the black rectangle, below the red bar (it is present in the illustration but may be hard to see). It comprises three small vertical bars, a rightmost one with intensity just above the saturated black level, a middle one with intensity exactly equal to saturated black, and a leftmost one with intensity just below saturated black (or "blacker than black")
Ice Man
Posts: 547
Joined: Fri Jul 04, 2014 2:34 pm

Re: 240p test suite

Post by Ice Man »

Tested it on my EDN8 for now.
PAL NES with NESRGB gets detected as Dendy.
Dendy NES (NTSC) with NESRGB gets detected as NTSC only.

Other than that I couldn't find anything else other than the top 8 pixels being a different color (brown) in the menu on a PAL console.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: 240p test suite

Post by tepples »

Ice Man wrote:Tested it on my EDN8 for now.
PAL NES with NESRGB gets detected as Dendy.
This surprises me. Is it using original 2A07/2C07, or is it modded with 6527P/6538 (and CIC bypass) for compatibility with NTSC games? In Hill zone scroll test, are the scroll splits in the right places?
Dendy NES (NTSC) with NESRGB gets detected as NTSC only.
If Steepler made Dendy systems with UMC's NTSC chipset (6527/6528), this would be correct.
Other than that I couldn't find anything else other than the top 8 pixels being a different color (brown) in the menu on a PAL console.
Yeah, I'll have to make it clearer that that's the ceiling.
Ice Man
Posts: 547
Joined: Fri Jul 04, 2014 2:34 pm

Re: 240p test suite

Post by Ice Man »

It's original PPU/CPU. Probably my Everdrive acting up, since it's super laggy on the PAL console. I assume it's the cartridge connector since it's not an original when I bought the NES. I ordered some originals and can give more infos on that once they arrive in 2 weeks or so.
Let me test the hill scroll test again.


Alright, then it is correct since I'm using 6527/6528 for the NTSC console.

EDIT: Hill scroll works fine.

EDIT2: I just disabled the PAL CIC on that console. Probably that's the cause for showing Dendy, I guess.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: 240p test suite

Post by tepples »

The TV system detection code uses NMI-to-NMI timing, which has nothing to do with the CIC. It counts cycles from one NMI to the next and divides by 2817 to give 10.572 for NTSC, 11.802 for PAL NES, or 12.589 for Dendy. Then it rounds down and subtracts 10 to give 0 for NTSC, 1 for PAL NES, or 2 for Dendy.
  • "NTSC" means it detected something close to 113.667 cycles per line and 262 lines per frame.
  • "PAL" means it detected something close to 106.5625 cycles per line and 312 lines per frame.
  • "Dendy" means it detected something close to 113.667 cycles per line and 312 lines per frame.
What does the overclock test ROM do on your PAL NES?
Ice Man
Posts: 547
Joined: Fri Jul 04, 2014 2:34 pm

Re: 240p test suite

Post by Ice Man »

Eh, I forgot my PAL NES was overclocked to match NTSC speed. I removed the XTAL now and going to test again. It should display PAL now.

EDIT: Displays PAL now and EDN8 works fine again. Didn't know a 28MHz XTAL to overclock the PAL NES would cause such problems.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: 240p test suite

Post by tepples »

If you were running your PAL NES's CPU off a 6.4*cb = 28.37516 MHz crystal (and its PPU off the normal 6*cb crystal), that would explain why it was working in Dendy mode. Hill zone scroll test is timed from sprite 0, which is hidden behind one of the clouds in the top (still) strip.
  • PAL NES with 28.37516: NMI at 241; OAM writable only during 241-260
    NTSC games with raster effects timed from sprite 0 work
  • PAL Dendy: NMI at 291; OAM writable during forced blanking
    NTSC games with raster effects timed from NMI or sprite 0 work
On the one hand, I wonder whether including the overclock test would fall within project scope, as the 240p test suite is to test the TV, but the overclock test is to test the test itself. On the other hand, I expect a lot of people to be using this with kev's Hi-Def NES mod, which includes CPU overclocking as a feature.
JRoatch
Formerly 43110
Posts: 422
Joined: Wed Feb 05, 2014 7:01 am
Contact:

Re: 240p test suite

Post by JRoatch »

Finally got around to try this out. Just some small possible bug reports. The sound tone in both color bar tests does not turn off when exiting, persisting into all other tests. And the menu cursor resets when ever something else uses the menu screen temporarily (like the helps for each test, or the about and credits menu entries).
Post Reply