Difference between revisions of "APT:SendCaptureBufferInfo"

From 3dbrew
Jump to navigation Jump to search
m
 
(2 intermediate revisions by 2 users not shown)
Line 12: Line 12:
 
|-
 
|-
 
| 2
 
| 2
| <nowiki>(Size<<14) | 2</nowiki>
+
| <nowiki>(Size << 14) | 2</nowiki>
 
|-
 
|-
 
| 3
 
| 3
| Input buffer ptr
+
| void*, [[NS_and_APT_Services#CaptureBufferInfo|CaptureBufferInfo]]
 
|}
 
|}
  
Line 30: Line 30:
 
| Result code
 
| Result code
 
|}
 
|}
 
 
=Capture info structure=
 
{| class="wikitable" border="1"
 
|-
 
!  Index Word
 
!  Description
 
|-
 
| 0
 
| Pixel bytesize * 0x7000 + base0. (main-screen. base0 = Pixel bytesize * 0x19000 + base1, base1 = indexword3 value)
 
|-
 
| 1
 
| u8: 0 = framebuffer addresses from [[GSPGPU:ImportDisplayCaptureInfo|GSP]] captureinfo+0 / captureinfo+4 match, otherwise this is value 1 when those addresses don't match.
 
|-
 
| 2
 
| Pixel bytesize * 0x14000 + base. (base = 0, sub-screen)
 
|-
 
| 3
 
| Same as wordindex 2. When the above u8 flag!=0, this is: Pixel bytesize * 0x19000 + base. (base = indexword2 value, main-screen)
 
|-
 
| 4
 
| Main-screen [[LCD|0x1EF00X70]] value.
 
|-
 
| 5
 
| Normally zero.
 
|-
 
| 6
 
| Normally zero.
 
|-
 
| 7
 
| Sub-screen [[LCD|0x1EF00X70]] value.
 
|}
 
 
The user process initializes this structure using data from [[GSPGPU:ImportDisplayCaptureInfo]]. The pixel bytesize is determined by the [[LCD|0x1EF00X70]] color format for that screen. When the color-format is RGBA, the pixel bytesize used is value 3.
 
  
 
=Description=
 
=Description=
 
The input size is clamped to 0x20-bytes by NS. The input buffer with the clamped size is then copied to a NS state buffer. The size field for this state buffer is also set to this clamped size.
 
The input size is clamped to 0x20-bytes by NS. The input buffer with the clamped size is then copied to a NS state buffer. The size field for this state buffer is also set to this clamped size.

Latest revision as of 08:20, 22 November 2015

Request[edit]

Index Word Description
0 Header code [0x00400042]
1 Size
2 (Size << 14) | 2
3 void*, CaptureBufferInfo

Response[edit]

Index Word Description
0 Header code
1 Result code

Description[edit]

The input size is clamped to 0x20-bytes by NS. The input buffer with the clamped size is then copied to a NS state buffer. The size field for this state buffer is also set to this clamped size.