Jump to content
IGNORED

NTSC v. PAL detection?


brpocock

Recommended Posts

Seems like this must have come up before, but I didn't find it on Stella lists or the forums here...

 

The basic difference between NTSC and PAL is the refresh rate and VBLANK interval. If game timing based on "real time clock" rather than "number of screen draws," one cart should be able to work for both consoles, with the requisite colour variations, right?

 

That said, is there a way to determine at runtime the system being used? For example by comparing INTIM against WSYNC or similar?

 

For my current [and first real] project, I'd like to support PAL hardware on the same cartridge as NTSC, but at the moment my only idea is to scan the COLOR/BW switch and treat it as COLOR=NTSC/BW=PAL,SECAM...

Link to comment
Share on other sites

Seems like this must have come up before, but I didn't find it on Stella lists or the forums here...

 

The basic difference between NTSC and PAL is the refresh rate and VBLANK interval. If game timing based on "real time clock" rather than "number of screen draws," one cart should be able to work for both consoles, with the requisite colour variations, right?

 

That said, is there a way to determine at runtime the system being used? For example by comparing INTIM against WSYNC or similar?

 

For my current [and first real] project, I'd like to support PAL hardware on the same cartridge as NTSC, but at the moment my only idea is to scan the COLOR/BW switch and treat it as COLOR=NTSC/BW=PAL,SECAM...

1005403[/snapback]

It has come up on the Stella list a number of times, and after much debate, the general consensus now for software-only detection seems to be no.

 

You can't measure INTIM vs. WSYNC because they both measure time in clocks, not the actual time. If there ever will be a detection scheme, it will be helped along by hardware. The PAL 2600's clock runs around 1% slower than NTSC, so an accurate crystal on the board with some logic and some very precise software help might make this possible.

 

It wouldn't be particularly easy, so I'd stick with the COLOR/BW switch thing for now.

Link to comment
Share on other sites

You can't measure INTIM vs. WSYNC because they both measure time in clocks, not the actual time.  If there ever will be a detection scheme, it will be helped along by hardware.  The PAL 2600's clock runs around 1% slower than NTSC, so an accurate crystal on the board with some logic and some very precise software help might make this possible.

1005417[/snapback]

 

Ah, that's what I was afraid of.

 

It's that 1% I was hoping to somehow detect, that there might be some slight drift, but bah.

 

The "good thing" is that SECAM seems to have the switch permanently in BW position (wired shut) so it's only an inconvenience to PAL users. Assuming that NTSC users all have colour TV's in 2006...

 

Thanks, though :-)

Link to comment
Share on other sites

It's that 1% I was hoping to somehow detect, that there might be some slight drift, but bah.

1005429[/snapback]

 

If the Atarivox (Speakjet) can be relied upon to run at absolutely consistent speed, it would be possible to send a delay command followed by a bunch of garbage data and then time exactly how long the delay takes before the "ready" line stops showing busy. I suspect, however, that the tolerance on the Atarivox speed is probably comparable to the frequency variation to be measured.

 

Another possibility, at least for 7800's, should be to recognize the data put into RAM by the different versions of the 7800 BIOS when running NTSC or PAL. Not sure exactly how to go about that, though.

Link to comment
Share on other sites

Seems like this must have come up before, but I didn't find it on Stella lists or the forums here...

 

The basic difference between NTSC and PAL is the refresh rate and VBLANK interval. If game timing based on "real time clock" rather than "number of screen draws," one cart should be able to work for both consoles, with the requisite colour variations, right?

 

That said, is there a way to determine at runtime the system being used? For example by comparing INTIM against WSYNC or similar?

 

For my current [and first real] project, I'd like to support PAL hardware on the same cartridge as NTSC, but at the moment my only idea is to scan the COLOR/BW switch and treat it as COLOR=NTSC/BW=PAL,SECAM...

1005403[/snapback]

 

I've also been planning a game (shelved for about a year now) that will be NTSC, PAL, and SECAM compatible. But I plan to use the difficulty switches for this. The left difficulty switch would control the number of scan lines (262 or 312), and the right difficulty switch would control the color palette (PAL vs. SECAM when there are 312 scan lines, and possibly NTSC color vs. black-and-white when there are 262 scan lines). The reason I chose the difficulty switches is because some 2600 models put them on the back of the unit, in which case they aren't easy to change in a hurry during a game-- and once they're set a certain way, the player wouldn't need or want to change them mid-game.

 

I plan to use the color/black-and-white switch for pausing/unpausing the game. It's really the only reasonable choice for a pause switch, since the other switches are either potentially on the back of the unit (i.e., difficulty switches), aren't designed to be flipped one way or the other (i.e., select and reset), or are hardwired for a specific purpose (i.e., power on/off).

 

The "good thing" is that SECAM seems to have the switch permanently in BW position (wired shut) so it's only an inconvenience to PAL users. Assuming that NTSC users all have colour TV's in 2006...

1005429[/snapback]

 

SECAM 2600s have the color/black-and-white switch permanently "wired shut" in the black-and-white position? Bummer, that means anyone playing my game on a SECAM 2600 wouldn't be able to pause it. :(

 

Michael Rideout

Link to comment
Share on other sites

I've also been planning a game (shelved for about a year now) that will be NTSC, PAL, and SECAM compatible. But I plan to use the difficulty switches for this.

1005578[/snapback]

 

Yeah, unfortunately, I'm actually using them for Difficulty :-)

 

I also probably lack ROM space to have three palettes :-/ but I might ... we'll see. Might have to resort to a menu option for palette corrections. (NTSC, PAL, SECAM = B&W)

 

I started to say, "four palettes," but note that each SECAM colour has a fixed luminance and they're all different, so SECAM screens are "usable" as B&W screens, theoretically.

Edited by brpocock
Link to comment
Share on other sites

And doesn't Brazil (or...?) use a PAL60 TV standard; PAL colors but 262 scanlines?

1005888[/snapback]

 

Sort of, but the PAL-M 2600 takes NTSC carts and converts them to PAL-M. So there's no need for special programming.

 

Mitch

Link to comment
Share on other sites

And doesn't Brazil (or...?) use a PAL60 TV standard; PAL colors but 262 scanlines?

1005888[/snapback]

 

Sort of, but the PAL-M 2600 takes NTSC carts and converts them to PAL-M. So there's no need for special programming.

 

Mitch

1006039[/snapback]

Really? Wow, that's weird. Thanks.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...