mirror of https://github.com/PCSX2/pcsx2.git
Counters: Update videomode enum with proper prefix
Thanks to @colepcsx2 (https://github.com/PCSX2/pcsx2/pull/1896#commitcomment-21858717) for pointing it out! I also updated the prefix in the inferior video mode detection of GSdx, I'm not even sure why we need the videomode info on the plugin side, might be useful someday.
This commit is contained in:
parent
7a2cbfd6bf
commit
984fcfda2e
|
@ -258,8 +258,8 @@ static const char* ReportVideoMode()
|
||||||
case GS_VideoMode::DVD_NTSC: return "DVD NTSC";
|
case GS_VideoMode::DVD_NTSC: return "DVD NTSC";
|
||||||
case GS_VideoMode::DVD_PAL: return "DVD PAL";
|
case GS_VideoMode::DVD_PAL: return "DVD PAL";
|
||||||
case GS_VideoMode::VESA: return "VESA";
|
case GS_VideoMode::VESA: return "VESA";
|
||||||
case GS_VideoMode::HDTV_480P: return "HDTV 480p";
|
case GS_VideoMode::SDTV_480P: return "SDTV 480p";
|
||||||
case GS_VideoMode::HDTV_576P: return "HDTV 576p";
|
case GS_VideoMode::SDTV_576P: return "SDTV 576p";
|
||||||
case GS_VideoMode::HDTV_720P: return "HDTV 720p";
|
case GS_VideoMode::HDTV_720P: return "HDTV 720p";
|
||||||
case GS_VideoMode::HDTV_1080I: return "HDTV 1080i";
|
case GS_VideoMode::HDTV_1080I: return "HDTV 1080i";
|
||||||
case GS_VideoMode::HDTV_1080P: return "HDTV 1080p";
|
case GS_VideoMode::HDTV_1080P: return "HDTV 1080p";
|
||||||
|
@ -271,7 +271,7 @@ Fixed100 GetVerticalFrequency()
|
||||||
{
|
{
|
||||||
switch (gsVideoMode)
|
switch (gsVideoMode)
|
||||||
{
|
{
|
||||||
case GS_VideoMode::Uninitialized: // SYSCALL instruction hasn't executed yet, give some temporary values.
|
case GS_VideoMode::Uninitialized: // SetGsCrt hasn't executed yet, give some temporary values.
|
||||||
return 60;
|
return 60;
|
||||||
case GS_VideoMode::PAL:
|
case GS_VideoMode::PAL:
|
||||||
case GS_VideoMode::DVD_PAL:
|
case GS_VideoMode::DVD_PAL:
|
||||||
|
@ -279,12 +279,12 @@ Fixed100 GetVerticalFrequency()
|
||||||
case GS_VideoMode::NTSC:
|
case GS_VideoMode::NTSC:
|
||||||
case GS_VideoMode::DVD_NTSC:
|
case GS_VideoMode::DVD_NTSC:
|
||||||
return EmuConfig.GS.FramerateNTSC;
|
return EmuConfig.GS.FramerateNTSC;
|
||||||
case GS_VideoMode::HDTV_480P:
|
case GS_VideoMode::SDTV_480P:
|
||||||
return 59.94;
|
return 59.94;
|
||||||
case GS_VideoMode::HDTV_1080P:
|
case GS_VideoMode::HDTV_1080P:
|
||||||
case GS_VideoMode::HDTV_1080I:
|
case GS_VideoMode::HDTV_1080I:
|
||||||
case GS_VideoMode::HDTV_576P:
|
|
||||||
case GS_VideoMode::HDTV_720P:
|
case GS_VideoMode::HDTV_720P:
|
||||||
|
case GS_VideoMode::SDTV_576P:
|
||||||
case GS_VideoMode::VESA:
|
case GS_VideoMode::VESA:
|
||||||
return 60;
|
return 60;
|
||||||
default:
|
default:
|
||||||
|
@ -326,10 +326,10 @@ u32 UpdateVSyncRate()
|
||||||
if (!gsIsInterlaced) scanlines += 1;
|
if (!gsIsInterlaced) scanlines += 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GS_VideoMode::HDTV_480P:
|
case GS_VideoMode::SDTV_480P:
|
||||||
|
case GS_VideoMode::SDTV_576P:
|
||||||
case GS_VideoMode::HDTV_1080P:
|
case GS_VideoMode::HDTV_1080P:
|
||||||
case GS_VideoMode::HDTV_1080I:
|
case GS_VideoMode::HDTV_1080I:
|
||||||
case GS_VideoMode::HDTV_576P:
|
|
||||||
case GS_VideoMode::HDTV_720P:
|
case GS_VideoMode::HDTV_720P:
|
||||||
case GS_VideoMode::VESA:
|
case GS_VideoMode::VESA:
|
||||||
scanlines = SCANLINES_TOTAL_NTSC;
|
scanlines = SCANLINES_TOTAL_NTSC;
|
||||||
|
|
|
@ -260,8 +260,8 @@ enum class GS_VideoMode : int
|
||||||
NTSC,
|
NTSC,
|
||||||
PAL,
|
PAL,
|
||||||
VESA,
|
VESA,
|
||||||
HDTV_480P,
|
SDTV_480P,
|
||||||
HDTV_576P,
|
SDTV_576P,
|
||||||
HDTV_720P,
|
HDTV_720P,
|
||||||
HDTV_1080I,
|
HDTV_1080I,
|
||||||
HDTV_1080P,
|
HDTV_1080P,
|
||||||
|
|
|
@ -926,10 +926,10 @@ void SYSCALL()
|
||||||
case 0x4A: mode = "VESA 1280x1024 @ 63.981"; gsSetVideoMode(GS_VideoMode::VESA); break;
|
case 0x4A: mode = "VESA 1280x1024 @ 63.981"; gsSetVideoMode(GS_VideoMode::VESA); break;
|
||||||
case 0x4B: mode = "VESA 1280x1024 @ 79.976"; gsSetVideoMode(GS_VideoMode::VESA); break;
|
case 0x4B: mode = "VESA 1280x1024 @ 79.976"; gsSetVideoMode(GS_VideoMode::VESA); break;
|
||||||
|
|
||||||
case 0x50: mode = "HDTV 720x480 @ 59.94"; gsSetVideoMode(GS_VideoMode::HDTV_480P); break;
|
case 0x50: mode = "SDTV 720x480 @ 59.94"; gsSetVideoMode(GS_VideoMode::SDTV_480P); break;
|
||||||
case 0x51: mode = "HDTV 1920x1080 @ 60.00"; gsSetVideoMode(GS_VideoMode::HDTV_1080I); break;
|
case 0x51: mode = "HDTV 1920x1080 @ 60.00"; gsSetVideoMode(GS_VideoMode::HDTV_1080I); break;
|
||||||
case 0x52: mode = "HDTV 1280x720 @ ??.???"; gsSetVideoMode(GS_VideoMode::HDTV_720P); break;
|
case 0x52: mode = "HDTV 1280x720 @ ??.???"; gsSetVideoMode(GS_VideoMode::HDTV_720P); break;
|
||||||
case 0x53: mode = "HDTV 768x576 @ ??.???"; gsSetVideoMode(GS_VideoMode::HDTV_576P); break;
|
case 0x53: mode = "SDTV 768x576 @ ??.???"; gsSetVideoMode(GS_VideoMode::SDTV_576P); break;
|
||||||
case 0x54: mode = "HDTV 1920x1080 @ ??.???"; gsSetVideoMode(GS_VideoMode::HDTV_1080P); break;
|
case 0x54: mode = "HDTV 1920x1080 @ ??.???"; gsSetVideoMode(GS_VideoMode::HDTV_1080P); break;
|
||||||
|
|
||||||
case 0x72: mode = "DVD NTSC 640x448 @ ??.???"; gsSetVideoMode(GS_VideoMode::DVD_NTSC); break;
|
case 0x72: mode = "DVD NTSC 640x448 @ ??.???"; gsSetVideoMode(GS_VideoMode::DVD_NTSC); break;
|
||||||
|
|
|
@ -1411,9 +1411,9 @@ enum class GSVideoMode : uint8
|
||||||
NTSC,
|
NTSC,
|
||||||
PAL,
|
PAL,
|
||||||
VESA,
|
VESA,
|
||||||
DTV_480P,
|
SDTV_480P,
|
||||||
DTV_720P,
|
HDTV_720P,
|
||||||
DTV_1080I
|
HDTV_1080I
|
||||||
};
|
};
|
||||||
|
|
||||||
// Ordering was done to keep compatibility with older ini file.
|
// Ordering was done to keep compatibility with older ini file.
|
||||||
|
|
|
@ -375,6 +375,8 @@ bool GSState::isinterlaced()
|
||||||
GSVideoMode GSState::GetVideoMode()
|
GSVideoMode GSState::GetVideoMode()
|
||||||
{
|
{
|
||||||
// TODO: Get confirmation of videomode from SYSCALL ? not necessary but would be nice.
|
// TODO: Get confirmation of videomode from SYSCALL ? not necessary but would be nice.
|
||||||
|
// Other videomodes can't be detected on the plugin side without the help of the data from core
|
||||||
|
// You can only identify a limited number of video modes based on the info from CRTC registers.
|
||||||
|
|
||||||
GSVideoMode videomode = GSVideoMode::Unknown;
|
GSVideoMode videomode = GSVideoMode::Unknown;
|
||||||
uint8 Colorburst = m_regs->SMODE1.CMOD; // Subcarrier frequency
|
uint8 Colorburst = m_regs->SMODE1.CMOD; // Subcarrier frequency
|
||||||
|
@ -384,13 +386,13 @@ GSVideoMode GSState::GetVideoMode()
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
if (isinterlaced() && PLL_Divider == 22)
|
if (isinterlaced() && PLL_Divider == 22)
|
||||||
videomode = GSVideoMode::DTV_1080I;
|
videomode = GSVideoMode::HDTV_1080I;
|
||||||
|
|
||||||
else if (!isinterlaced() && PLL_Divider == 22)
|
else if (!isinterlaced() && PLL_Divider == 22)
|
||||||
videomode = GSVideoMode::DTV_720P;
|
videomode = GSVideoMode::HDTV_720P;
|
||||||
|
|
||||||
else if (!isinterlaced() && PLL_Divider == 32)
|
else if (!isinterlaced() && PLL_Divider == 32)
|
||||||
videomode = GSVideoMode::DTV_480P; // TODO: 576P will also be reported as 480P, find some way to differeniate.
|
videomode = GSVideoMode::SDTV_480P; // TODO: 576P will also be reported as 480P, find some way to differeniate.
|
||||||
|
|
||||||
else
|
else
|
||||||
videomode = GSVideoMode::VESA;
|
videomode = GSVideoMode::VESA;
|
||||||
|
@ -531,13 +533,13 @@ float GSState::GetTvRefreshRate()
|
||||||
|
|
||||||
switch (videomode)
|
switch (videomode)
|
||||||
{
|
{
|
||||||
case GSVideoMode::NTSC: case GSVideoMode::DTV_480P:
|
case GSVideoMode::NTSC: case GSVideoMode::SDTV_480P:
|
||||||
vertical_frequency = (60 / 1.001f); break;
|
vertical_frequency = (60 / 1.001f); break;
|
||||||
|
|
||||||
case GSVideoMode::PAL:
|
case GSVideoMode::PAL:
|
||||||
vertical_frequency = 50; break;
|
vertical_frequency = 50; break;
|
||||||
|
|
||||||
case GSVideoMode::DTV_720P: case GSVideoMode::DTV_1080I:
|
case GSVideoMode::HDTV_720P: case GSVideoMode::HDTV_1080I:
|
||||||
vertical_frequency = 60; break;
|
vertical_frequency = 60; break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue