At least one new post has been made to this topic. You may wish to review your post in light of this.
At least one new post has been made to this topic. You may wish to review your post in light of this.
At least one new post has been made to this topic. You may wish to review your post in light of this.
Dang, this blew up while I was out shopping, and I got ninja'd a few times while composing this reply.
lidnariq wrote:Other options that occur to me:
* 300fps (300 = LCM(50,60)) and run 5 high-resolution ticks per NTSC refresh and 6 per PAL refresh
* 10fps (GCF) or 12/12.5fps and run one low-resolution tick every 4/5/6 NTSC or PAL refreshes.
I chose the latter approach for
Thwaite and
RHDE. They both animate certain things on a 10 Hz timer.
DRW wrote:I cannot believe that people seriously suggest a way that basically makes the PAL version the original master version while the NTSC version would be the inferior hackjob.
More countries used PAL 50 Hz or SECAM than NTSC or PAL-M.
Oziphantom's previous post mentioned
this diagram, which I admit is slightly misleading because it groups Brazil's PAL-M with PAL rather than with NTSC, whose timings it more closely resembles. But 50 Hz (green plus orange minus Brazil) still covers a lot more of the world than 60 Hz (blue plus Brazil). And even if you consider area misleading, I
counted countries by population, and PAL 50 Hz and SECAM outnumbered NTSC and PAL-M there as well.
GradualGames wrote:Oh wait, I understand the 10fps approach...interesting. That'd be super slow animations though wouldn't it?
Not necessarily. Traditional cel animation is "on twos", which is 12 fps at the North American 24 fps rate or 12.5 fps at the European 25 fps rate. If all the actors have velocities 20% bigger on PAL than on NTSC, and they change cel once every 5 frames on NTSC or once every 4 frames on PAL, you'll end up with the same smoothness as "on twos".
DRW wrote:Since the NES is a Japanese console and had a much wider release in NTSC regions than for PAL
Are there more PAL famiclones than authentic PAL NES consoles? PAL famiclones such as the Dendy generate 312 lines every 50 Hz, like a PAL NES. But they NMI 21 lines before picture start like an NTSC NES, and the CPU:PPU ratio is 3:1 like an NTSC NES. So my games that compensate for PAL (
Thwaite and
RHDE) make the same compensations on Dendy as on PAL NES (actor velocities, skipping sixth frame of 10 Hz timer, music speed) except one: music pitch.
Hojo_Norem wrote:On a more conversational note, does anybody know of any PAL exclusive titles that made use of the PAL NES's greater vertical screen resolution and increased vblank time to a point where they couldn't be converted to NTSC? Perhaps some extreme edge cases?
Asterix and
The Smurfs are the best known cases.
Bregalad wrote:My approach is to simply store a global value saying whether the clock speed is NTSC or PAL/Dendy
Basically you're wasting a lot of RAM and ROM in your cart to accomodate for PAL and NTSC systems.
I don't see one byte of RAM as "a lot". As for ROM, it doesn't take a lot of bytes to wrap (say) the tempo upcounter at 3000 instead of 3606. In any case, it'd "waste" a lot less ROM than storing both a complete NTSC version and a complete PAL version of the game in each cartridge.
DRW wrote:To me, adjusting the speed for PAL makes only sense in one specific case: When you have PAL players who desire to play the game at the correct speed, but on their unmodded PAL console. Everybody else doesn't care anyway.
Or when you want to deter someone from cheating his way to a high score by playing the NTSC ROM at PAL speed.
Just my opinion:
Here's how I'd make a dual NTSC/PAL game, based largely on my experience with
Thwaite:
- Run much of the game engine at 10 Hz, such as advancing sprites to the next cel of animation. This can help with enemy AI as well, as spreading the enemies' think cycles over five frames can seriously ease processing.
- Increase actors' velocities by 20% and accelerations by 44%. This will cause slight changes to trajectories, as rainwarrior mentioned and as top-level Quake series players exploit. Be sure to play-test your game in emulators at both speeds.
- Increase music tempo. Pently expresses tempo in rows per minute, allowing it to use a Bresenham algorithm to accumulate rows in a variable until it crosses the platform's frames per minute value. Decreasing frames per minute from 3606 to 3000 keeps everything the same tempo, but I'll admit it gets on the nerve of hardcore 0CC-FamiTracker composers (who prefer to control tempo using a looping sequence of frames per row values, which 0CC-FT calls a "groove").
- On PAL NES (but not Dendy), transpose everything up one semitone. This should keep everything reasonably in tune unless you're using Sunsoft bass, and if you're using that, you should have enough PRG ROM for two period tables.