brpocock Posted January 23, 2006 Share Posted January 23, 2006 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... Quote Link to comment Share on other sites More sharing options...
+batari Posted January 23, 2006 Share Posted January 23, 2006 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. Quote Link to comment Share on other sites More sharing options...
brpocock Posted January 23, 2006 Author Share Posted January 23, 2006 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 :-) Quote Link to comment Share on other sites More sharing options...
supercat Posted January 23, 2006 Share Posted January 23, 2006 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. Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted January 24, 2006 Share Posted January 24, 2006 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 Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted January 24, 2006 Share Posted January 24, 2006 Are there any SECAM 2600s out there? Is it really worth coding for one? And doesn't Brazil (or...?) use a PAL60 TV standard; PAL colors but 262 scanlines? Quote Link to comment Share on other sites More sharing options...
brpocock Posted January 24, 2006 Author Share Posted January 24, 2006 (edited) 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 January 24, 2006 by brpocock Quote Link to comment Share on other sites More sharing options...
+Mitch Posted January 24, 2006 Share Posted January 24, 2006 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 Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted January 25, 2006 Share Posted January 25, 2006 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.