[Kernel] Added option to use PAL-50 mode
This commit is contained in:
parent
c01c06d19b
commit
6ebb522270
|
@ -42,6 +42,13 @@ DEFINE_int32(internal_display_resolution, 8,
|
|||
" 16=1920x1080\n",
|
||||
"Display");
|
||||
|
||||
DEFINE_int32(
|
||||
video_standard, 1,
|
||||
"Enables switching between different video signals.\n 1=NTSC\n "
|
||||
"2=NTSC-J\n 3=PAL\n",
|
||||
"Video");
|
||||
|
||||
DEFINE_bool(use_50Hz_mode, false, "Enables usage of PAL-50 mode.", "Video");
|
||||
// BT.709 on modern monitors and TVs looks the closest to the Xbox 360 connected
|
||||
// to an HDTV.
|
||||
DEFINE_uint32(kernel_display_gamma_type, 2,
|
||||
|
@ -69,6 +76,18 @@ std::pair<uint16_t, uint16_t> GetInternalDisplayResolution() {
|
|||
[cvars::internal_display_resolution];
|
||||
}
|
||||
|
||||
inline constexpr static uint32_t GetVideoStandard() {
|
||||
if (cvars::video_standard < 1 || cvars::video_standard > 3) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return cvars::video_standard;
|
||||
}
|
||||
|
||||
inline constexpr static float GetVideoRefreshRate() {
|
||||
return cvars::use_50Hz_mode ? 50.0f : 60.0f;
|
||||
}
|
||||
|
||||
namespace xe {
|
||||
namespace kernel {
|
||||
namespace xboxkrnl {
|
||||
|
@ -181,8 +200,8 @@ void VdQueryVideoMode(X_VIDEO_MODE* video_mode) {
|
|||
video_mode->is_widescreen =
|
||||
((video_mode->display_width / 4) > (video_mode->display_height / 3));
|
||||
video_mode->is_hi_def = video_mode->display_width >= 0x400;
|
||||
video_mode->refresh_rate = 60.0f;
|
||||
video_mode->video_standard = 1; // NTSC
|
||||
video_mode->refresh_rate = GetVideoRefreshRate();
|
||||
video_mode->video_standard = GetVideoStandard();
|
||||
video_mode->unknown_0x8a = 0x4A;
|
||||
video_mode->unknown_0x01 = 0x01;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue