Changes

64 bytes added ,  22:35, 13 October 2023
Removed FBInfo
Line 9: Line 9:  
|-
 
|-
 
| 1
 
| 1
| Screen ID: 0=main, 1=sub
+
| Screen ID (0 = top, 1 = bottom)
 
|-
 
|-
| 2
+
| 2-8
| Active framebuffer: 0=first, 1=second
+
| [[GSP_Shared_Memory#Framebuffer_info_structure|Framebuffer info structure]]
|-
  −
| 3
  −
| [[LCD#Framebuffers|Framebuffer]] virtual address, for the main screen this is the 3D left framebuffer
  −
|-
  −
| 4
  −
| For the main screen: 3D right framebuffer address
  −
|-
  −
| 5
  −
| Value for [[LCD|0x1EF00X90]], controls framebuffer width
  −
|-
  −
| 6
  −
| ?
  −
|-
  −
| 7
  −
| Value for [[LCD|0x1EF00X78]], controls which framebuffer is displayed
   
|}
 
|}
   Line 44: Line 29:     
=Description=
 
=Description=
This sets GSP state for the LCD framebuffers, and other state as well. When the value of [[LCD]] register 0x1EF00X54 is >0x54, the GSP state for the specified screenID is immediately written to the LCD registers.
+
This sets GSP state for the LCD framebuffers. When the value of [[GPU/External_Registers#LCD_Source_Framebuffer_Setup|VCount]] (offset 0x54) is greater than a certain constant, the GSP state for the specified screen is immediately written to the LCD registers. This constant is 0x52 on GSP for [[11.16.0-48|11.16.0-48]], though it used to be 0x54.
 +
 
 +
This command should only be used when directly writing to the framebuffers; when using the GPU the framebuffer info stored in [[GSP_Shared_Memory#Framebuffer_info|GSP shared memory]] should be used instead.
51

edits