add PAL A2600 framerate to movie check code

This commit is contained in:
goyuken 2014-05-31 16:28:31 +00:00
parent 58efa286df
commit 37d0510444
2 changed files with 12 additions and 3 deletions

View File

@ -31,8 +31,14 @@ namespace BizHawk.Client.Common
{ "WSWAN", (3072000.0 / (159 * 256)) }, //75.4716981132
{ "GB", 262144.0 / 4389.0 }, //59.7275005696
{ "GBC", 262144.0 / 4389.0 }, //59.7275005696
{ "GBA", 262144.0 / 4389.0 }, //59.7275005696
{ "A26", 59.9227510135505 },
{ "GBA", 262144.0 / 4389.0 }, //59.7275005696
// while the number of scanlines per frame is software controlled and variable, we
// enforce exactly 262 (NTSC) 312 (PAL) per reference time frame
{ "A26", 315000000.0 / 88.0 / 262.0 / 228.0 }, // 59.922751013550531429197560173856
// this pal clock ref is exact
{ "A26_PAL", 3546895.0 / 312.0 / 228.0 }, // 49.860759671614934772829509671615
{ "A78", 59.9227510135505 },
{ "Coleco", 59.9227510135505 }
};

View File

@ -243,7 +243,10 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
public void GetFrameRate(out int num, out int den)
{
int clockrate = _pal ? 3546894 : 3579575;
// TODO when sound timing is made exact:
// NTSC refclock is actually 315 / 88 mhz
int clockrate = _pal ? 3546895 : 3579545;
int clocksperframe = 228 * NominalNumScanlines;
int gcd = (int)BigInteger.GreatestCommonDivisor(clockrate, clocksperframe);
num = clockrate / gcd;