Display services: Difference between revisions
(8 intermediate revisions by 2 users not shown) | |||
Line 20: | Line 20: | ||
| 210 || [6.0.0+] | | 210 || [6.0.0+] | ||
|- | |- | ||
| [2.0.0-4.1.0] | | 1001 || [2.0.0-4.1.0] [[#RequestTakingScreenShot]] | ||
|- | |- | ||
| [2.0.0-4.1.0] | | 1002 || [2.0.0-4.1.0] [[#RequestTakingScreenShotWithTimeout]] | ||
|- | |- | ||
| [3.0.0-4.1.0] | | 1003 || [3.0.0-4.1.0] [[#RequestTakingScreenShotEx]] | ||
|- | |- | ||
| 1004 || [5.0.0+] [[#RequestTakingScreenShotEx1]] | | 1004 || [5.0.0+] [[#RequestTakingScreenShotEx1]] | ||
Line 35: | Line 35: | ||
|- | |- | ||
| 1012 || [[#NotifyTakingScreenShotFailed]] | | 1012 || [[#NotifyTakingScreenShotFailed]] | ||
|- | |||
| 1100 || [18.0.0+] | |||
|- | |- | ||
| 1101 || [4.0.0+] [[#SetupOverlayMovieThumbnail]] | | 1101 || [4.0.0+] [[#SetupOverlayMovieThumbnail]] | ||
Line 41: | Line 43: | ||
|- | |- | ||
| 1107 || [4.0.0+] | | 1107 || [4.0.0+] | ||
|- | |||
| 1108 || [18.0.0+] | |||
|- | |- | ||
| 1201 || [3.0.0+] [[#OpenRawScreenShotReadStream]] | | 1201 || [3.0.0+] [[#OpenRawScreenShotReadStream]] | ||
Line 226: | Line 230: | ||
== GetHdcpServiceObject == | == GetHdcpServiceObject == | ||
No input | No input. Returns a [[#IHdcpController]]. | ||
= IHdcpController = | = IHdcpController = | ||
Line 253: | Line 257: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || InitializeOld | | 0 || [[#InitializeOld]] | ||
|- | |- | ||
| 1 || FinalizeOld | | 1 || [[#FinalizeOld]] | ||
|- | |- | ||
| 2 || SetAndWaitOld | | 2 || [[#SetAndWaitOld]] | ||
|- | |- | ||
| 3 || GetOld | | 3 || [[#GetOld]] | ||
|- | |- | ||
| 4 || Initialize | | 4 || [[#Initialize]] | ||
|- | |- | ||
| 5 || Finalize | | 5 || [[#Finalize]] | ||
|- | |- | ||
| 6 || SetAndWait | | 6 || [[#SetAndWait]] | ||
|- | |- | ||
| 7 || Get | | 7 || [[#Get]] | ||
|} | |} | ||
== InitializeOld == | |||
Takes an input [[#Module]], an input [[#Priority]] and an input u32 '''EventClearMode'''. No output. | |||
== FinalizeOld == | |||
Takes an input [[#Module]]. No output. | |||
== SetAndWaitOld == | |||
Takes an input [[#Module]] and two input [[#Setting]] '''Min''' and '''Max'''. No output. | |||
== GetOld == | |||
Takes an input [[#Module]]. Returns an output [[#Setting]] '''Current'''. | |||
== Initialize == | |||
Same as [[#InitializeOld]], but returns an output u32 '''RequestId'''. | |||
== Finalize == | |||
Same as [[#FinalizeOld]], but takes an input u32 '''RequestId''' instead of an input [[#Module]]. | |||
== SetAndWait == | |||
Same as [[#SetAndWaitOld]], but takes an input u32 '''RequestId''' instead of an input [[#Module]]. | |||
== Get == | |||
Same as [[#GetOld]], but takes an input u32 '''RequestId''' instead of an input [[#Module]]. | |||
= vi:u = | = vi:u = | ||
Line 316: | Line 344: | ||
|- | |- | ||
| 3 || [[#vi:m|GetDisplayServiceWithProxyNameExchange]] | | 3 || [[#vi:m|GetDisplayServiceWithProxyNameExchange]] | ||
|- | |||
| 100 || [16.0.0+] PrepareFatal | |||
|- | |||
| 101 || [16.0.0+] ShowFatal | |||
|- | |||
| 102 || [16.0.0+] DrawFatalRectangle | |||
|- | |||
| 103 || [16.0.0+] DrawFatalText32 | |||
|} | |} | ||
Line 586: | Line 622: | ||
| 4 || StartFirmwareUpdateWithSpecifiedImage | | 4 || StartFirmwareUpdateWithSpecifiedImage | ||
|- | |- | ||
| 5 || [11.0.0-11.0.1] OverwriteFirmware | | 5 || GetFirmwareUpdateState ([11.0.0-11.0.1] OverwriteFirmware) | ||
|- | |- | ||
| 6 || [11.0.0-11.0.1] OverwriteFirmwareWithSpecifiedImage | | 6 || ResetDevice ([11.0.0-11.0.1] OverwriteFirmwareWithSpecifiedImage) | ||
|- | |- | ||
| | | 7 || [16.0.0+] StartBootFirmwareUpdate ([11.0.0-11.0.1] GetFirmwareUpdateState) | ||
|- | |- | ||
| | | 8 || [16.0.0+] StartBootFirmwareUpdateWithSpecifiedImage ([11.0.0-11.0.1] ResetDevice) | ||
|- | |||
| 9 || [17.0.0+] GetBootFirmwareVersion | |||
|} | |} | ||
Line 625: | Line 663: | ||
|- | |- | ||
| 2055 || DestroyIndirectConsumerEndPoint | | 2055 || DestroyIndirectConsumerEndPoint | ||
|- | |||
| 2060 || [16.0.0+] CreateWatermarkCompositor | |||
|- | |||
| 2062 || [16.0.0+] SetWatermarkText | |||
|- | |||
| 2063 || [16.0.0+] SetWatermarkLayerStacks | |||
|- | |- | ||
| 2300 || AcquireLayerTexturePresentingEvent | | 2300 || AcquireLayerTexturePresentingEvent | ||
Line 685: | Line 729: | ||
|- | |- | ||
| 6013 || [13.0.0+] SetLayerOpacity | | 6013 || [13.0.0+] SetLayerOpacity | ||
|- | |||
| 6014 || [16.0.0+] AttachLayerWatermarkCompositor | |||
|- | |||
| 6015 || [16.0.0+] DetachLayerWatermarkCompositor | |||
|- | |- | ||
| 7000 || SetContentVisibility | | 7000 || SetContentVisibility | ||
Line 742: | Line 790: | ||
| 8292 || [4.0.0+] FillDetachedSharedFrameBufferColor | | 8292 || [4.0.0+] FillDetachedSharedFrameBufferColor | ||
|- | |- | ||
| 8293 || [4.0.0+] GetDetachedSharedFrameBufferImage | | 8293 || [4.0.0+] [[#GetDetachedSharedFrameBufferImage]] | ||
|- | |- | ||
| 8294 || [4.0.0+] SetDetachedSharedFrameBufferImage | | 8294 || [4.0.0+] SetDetachedSharedFrameBufferImage | ||
Line 758: | Line 806: | ||
[5.0.0+] SetDetachedSharedFrameBufferImage now takes an additional 0x10-bytes of input. CopyDetachedSharedFrameBufferImage now takes an additional 0x18-bytes of input. SetDetachedSharedFrameBufferSubImage now takes an additional 0x10-bytes of input, and the buffer type was changed from 0x5 to 0x45. | [5.0.0+] SetDetachedSharedFrameBufferImage now takes an additional 0x10-bytes of input. CopyDetachedSharedFrameBufferImage now takes an additional 0x18-bytes of input. SetDetachedSharedFrameBufferSubImage now takes an additional 0x10-bytes of input, and the buffer type was changed from 0x5 to 0x45. | ||
=== GetDetachedSharedFrameBufferImage === | |||
Takes a total of 0x10-bytes of input and a type-0x6 output buffer, returns a total of 8-bytes of output. | |||
[15.0.0+] Now takes a total of 0x28-bytes of input and a type-0x6 output buffer, returns a total of 8-bytes of output. | |||
== SetDisplayFatalErrorEnabled == | == SetDisplayFatalErrorEnabled == | ||
Line 860: | Line 913: | ||
== IsVrModeEnabled == | == IsVrModeEnabled == | ||
No input. Returns an output u8 bool set by the above commands. | No input. Returns an output u8 bool set by the above commands. | ||
= Module = | |||
This is "nn::mmnv::Module". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value || Name | |||
|- | |||
| 0 || Cpu | |||
|- | |||
| 1 || Gpu | |||
|- | |||
| 2 || Emc | |||
|- | |||
| 3 || SysBus | |||
|- | |||
| 4 || Mselect | |||
|- | |||
| 5 || Nvdec | |||
|- | |||
| 6 || Nvenc | |||
|- | |||
| 7 || Nvjpg | |||
|- | |||
| 8 || Test | |||
|} | |||
= Priority = | |||
This is "nn::mmnv::Priority". This is an u32. | |||
= Setting = | |||
This is "nn::mmnv::Setting". This is an u32. | |||
= DisplayInfo = | = DisplayInfo = | ||
Line 945: | Line 1,030: | ||
Note: if bOverLimit=1 and the default ALS configuration is used, the measurement of fLux should not be considered and the actual max value depends on the type of light. Ranges from 12.5K - 17.5K. | Note: if bOverLimit=1 and the default ALS configuration is used, the measurement of fLux should not be considered and the actual max value depends on the type of light. Ranges from 12.5K - 17.5K. | ||
= Resolution Handling = | = Notes = | ||
== Resolution Handling == | |||
There doesn't seem to be a way to get the actual TV resolution while using the "Default" Display. Official apps just hard-code what resolution to use depending on the current [[AM_services|OperationMode]]. | There doesn't seem to be a way to get the actual TV resolution while using the "Default" Display. Official apps just hard-code what resolution to use depending on the current [[AM_services|OperationMode]]. | ||
= Ambient Light Sensor | == Ambient Light Sensor == | ||
The BH1730 outputs 2 values. Visible light and IR light. This is then calculated through an algorithm that checks for Gain, Measurement time, filter qualities and ouputs lux (max correct measurement of 100K lux). | The BH1730 outputs 2 values. Visible light and IR light. This is then calculated through an algorithm that checks for Gain, Measurement time, filter qualities and ouputs lux (max correct measurement of 100K lux). | ||
The default values are Gain 64x and ITIME of 38 (256 - 218). This allows for a max lux value of 17972 lux when visible light value is maximum and IR light is 0. When both of them are on their limit, the output is 1192 lux. | The default values are Gain 64x and ITIME of 38 (256 - 218). This allows for a max lux value of 17972 lux when visible light value is maximum and IR light is 0. When both of them are on their limit, the output is 1192 lux. |