Difference between revisions of "APT:SendCaptureBufferInfo"

From 3dbrew
Jump to navigation Jump to search
Line 39: Line 39:
 
|-
 
|-
 
| 0
 
| 0
| ?
+
| Pixel bytesize * 0x7000 + base0. (main-screen. base0 = Pixel bytesize * 0x19000 + base1, base1 = indexword3 value)
 
|-
 
|-
 
| 1
 
| 1
Line 45: Line 45:
 
|-
 
|-
 
| 2
 
| 2
| ?
+
| Pixel bytesize * 0x14000 + base. (base = 0, sub-screen)
 
|-
 
|-
 
| 3
 
| 3
| Same as wordindex 2(different when the above u8 flag is non-zero).
+
| Same as wordindex 2. When the above u8 flag!=0, this is: Pixel bytesize * 0x19000 + base. (base = indexword2 value, main-screen)
 
|-
 
|-
 
| 4
 
| 4
Line 63: Line 63:
 
|}
 
|}
  
The user process initializes this structure using data from [[GSPGPU:ImportDisplayCaptureInfo]].
+
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.

Revision as of 04:26, 14 May 2014

Request

Index Word Description
0 Header code [0x00400042]
1 Size
2 (Size<<14) | 2
3 Input buffer ptr

Response

Index Word Description
0 Header code
1 Result code


Capture info structure

Index Word Description
0 Pixel bytesize * 0x7000 + base0. (main-screen. base0 = Pixel bytesize * 0x19000 + base1, base1 = indexword3 value)
1 u8: 0 = framebuffer addresses from 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 0x1EF00X70 value.
5 Normally zero.
6 Normally zero.
7 Sub-screen 0x1EF00X70 value.

The user process initializes this structure using data from GSPGPU:ImportDisplayCaptureInfo. The pixel bytesize is determined by the 0x1EF00X70 color format for that screen. When the color-format is RGBA, the pixel bytesize used is value 3.

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.