Fix HandleServiceEnumerateScreenModes returning mostly nonsense modes
Jeffrey Lee authored
A mistake in the interlace handling changes that were made in Kernel
6.21 meant that when HandleServiceEnumerateScreenModes populates the
buffer that's returned to the caller, all of the modes were getting
treated as interlaced, resulting in most of them reporting a Y
resolution that's twice what it should be. Attempting to use those mode
entries (e.g. constructing a mode selector block and calling
OS_ScreenMode 0 or OS_CheckModeValid) would then most likely fail.

Fix the code to look at the correct VIDC list member when checking for
interlace. This fixes things so that (when using legacy monitor types)
the mode lists reported by Service_EnumerateScreenModes and the display
manager are once again valid.

Version 6.65. Tagged as 'Kernel-6_65'
acbb6106
Name Last commit Last update
..
AMBControl [498] Fix memory corruption when shrinking appspace too far
PMF Support runtime selection of pagetable format
vdu Fix HandleServiceEnumerateScreenModes returning mostly nonsense modes
ARM600 Log -> phys conversion improvements
ARMops Support runtime selection of pagetable format
Arthur2 [549] Fix untranslated OS_SetVarVal error message
Arthur3 Fix OS_EvaluateExpression
ArthurSWIs Increase number of vectors supported by the kernel to 96.
CPUFeatures Add safety checks to s.CPUFeatures
ChangeDyn Add AP 1 emulation for long descriptor page tables
Convrsions Fix abort after translating error
Exceptions AbortTrap prefetch abort support
ExtraSWIs Remove some obsolete definitions for clarity
GetAll Implement OS_TaskControl 0
HAL Align HAL workspace to doubleword boundary
HeapMan Add support for HeapReason_GetSkewAligned
HeapSort Avoid unnecesssary remainder calculations
Kernel Change OS_Exit to use TaskControl_ResetStacks
LibKern Improve LibKern
LongDesc Add AP 1 emulation for long descriptor page tables
MOSDict Import from cleaned 360 CD
MemInfo Fix a couple of comment typos
MemMap2 Support runtime selection of pagetable format
Middle Preserve R4 in DumpyTheRegisters
ModHand Change OS_Module 0 to use TaskControl_ResetStacks
MoreComms
MoreSWIs
MsgCode
NewIRQs
NewReset
Oscli
SWINaming
ShortDesc
Super1
SysComms
TaskControl
TickEvents
UnSqueeze
Utility
VMSAv6
VMSAv6Long
VMSAv6Short