Changes

Jump to navigation Jump to search
1,021 bytes added ,  18:45, 22 September 2017
m
Undo revision 20337 by Jason0597 (talk) -- who would have guessed?
Line 5: Line 5:  
!  Command Header
 
!  Command Header
 
!  Available since system version
 
!  Available since system version
 +
!  GSP rights required
 
!  Description
 
!  Description
 
|-
 
|-
 
| 0x00010082
 
| 0x00010082
 +
|
 
|  
 
|  
 
| [[GSPGPU:WriteHWRegs|WriteHWRegs]]
 
| [[GSPGPU:WriteHWRegs|WriteHWRegs]]
 
|-
 
|-
 
| 0x00020084
 
| 0x00020084
 +
|
 
|  
 
|  
 
| [[GSPGPU:WriteHWRegsWithMask|WriteHWRegsWithMask]]
 
| [[GSPGPU:WriteHWRegsWithMask|WriteHWRegsWithMask]]
 
|-
 
|-
 
| 0x00030082
 
| 0x00030082
 +
|
 
|  
 
|  
 
| [[GSPGPU:WriteHWRegRepeat|WriteHWRegRepeat]]
 
| [[GSPGPU:WriteHWRegRepeat|WriteHWRegRepeat]]
 
|-
 
|-
 
| 0x00040080
 
| 0x00040080
 +
|
 
|  
 
|  
 
| [[GSPGPU:ReadHWRegs|ReadHWRegs]]
 
| [[GSPGPU:ReadHWRegs|ReadHWRegs]]
 
|-
 
|-
 
| 0x00050200
 
| 0x00050200
 +
|
 
|  
 
|  
 
| [[GSPGPU:SetBufferSwap|SetBufferSwap]]
 
| [[GSPGPU:SetBufferSwap|SetBufferSwap]]
 
|-
 
|-
 
| 0x00060082
 
| 0x00060082
 +
|
 
|  
 
|  
 
| SetCommandList (Stubbed)
 
| SetCommandList (Stubbed)
 
|-
 
|-
 
| 0x000700C2
 
| 0x000700C2
 +
|
 
|  
 
|  
 
| RequestDma (Stubbed)
 
| RequestDma (Stubbed)
Line 37: Line 45:  
| 0x00080082
 
| 0x00080082
 
|  
 
|  
 +
| No
 
| [[GSPGPU:FlushDataCache|FlushDataCache]]
 
| [[GSPGPU:FlushDataCache|FlushDataCache]]
 
|-
 
|-
 
| 0x00090082
 
| 0x00090082
 
|  
 
|  
 +
| No
 
| [[GSPGPU:InvalidateDataCache|InvalidateDataCache]]
 
| [[GSPGPU:InvalidateDataCache|InvalidateDataCache]]
 
|-
 
|-
 
| 0x000A0044
 
| 0x000A0044
 +
|
 
|  
 
|  
 
| RegisterInterruptEvents
 
| RegisterInterruptEvents
 
|-
 
|-
 
| 0x000B0040
 
| 0x000B0040
 +
|
 
|  
 
|  
 
| [[GSPGPU:SetLcdForceBlack|SetLcdForceBlack]]
 
| [[GSPGPU:SetLcdForceBlack|SetLcdForceBlack]]
 
|-
 
|-
 
| 0x000C0000
 
| 0x000C0000
 +
|
 
|  
 
|  
 
| [[GSPGPU:TriggerCmdReqQueue|TriggerCmdReqQueue]]
 
| [[GSPGPU:TriggerCmdReqQueue|TriggerCmdReqQueue]]
 
|-
 
|-
 
| 0x000D0140
 
| 0x000D0140
 +
|
 
|  
 
|  
 
| SetDisplayTransfer (Stubbed)
 
| SetDisplayTransfer (Stubbed)
 
|-
 
|-
 
| 0x000E0180
 
| 0x000E0180
 +
|
 
|  
 
|  
 
| SetTextureCopy (Stubbed)
 
| SetTextureCopy (Stubbed)
 
|-
 
|-
 
| 0x000F0200
 
| 0x000F0200
 +
|
 
|  
 
|  
 
| SetMemoryFill (Stubbed)
 
| SetMemoryFill (Stubbed)
 
|-
 
|-
 
| 0x00100040
 
| 0x00100040
 +
|
 
|  
 
|  
 
| SetAxiConfigQoSMode
 
| SetAxiConfigQoSMode
 
|-
 
|-
 
| 0x00110040
 
| 0x00110040
 +
|
 
|  
 
|  
 
| SetPerfLogMode
 
| SetPerfLogMode
 
|-
 
|-
 
| 0x00120000
 
| 0x00120000
 +
|
 
|  
 
|  
 
| GetPerfLog
 
| GetPerfLog
 
|-
 
|-
 
| 0x00130042
 
| 0x00130042
 +
|
 
|  
 
|  
 
| [[GSPGPU:RegisterInterruptRelayQueue|RegisterInterruptRelayQueue]]
 
| [[GSPGPU:RegisterInterruptRelayQueue|RegisterInterruptRelayQueue]]
Line 85: Line 105:  
| 0x00140000
 
| 0x00140000
 
|  
 
|  
| UnregisterInterruptRelayQueue
+
|  
 +
| [[GSPGPU:UnregisterInterruptRelayQueue|UnregisterInterruptRelayQueue]]
 
|-
 
|-
 
| 0x00150002
 
| 0x00150002
 
|  
 
|  
| TryAcquireRight
+
|  
 +
| [[GSPGPU:TryAcquireRight|TryAcquireRight]]
 
|-
 
|-
 
| 0x00160042
 
| 0x00160042
 +
|
 
|  
 
|  
 
| [[GSPGPU:AcquireRight|AcquireRight]]
 
| [[GSPGPU:AcquireRight|AcquireRight]]
Line 97: Line 120:  
| 0x00170000
 
| 0x00170000
 
|  
 
|  
| ReleaseRight
+
|  
 +
| [[GSPGPU:ReleaseRight|ReleaseRight]]
 
|-
 
|-
 
| 0x00180000
 
| 0x00180000
 +
|
 
|  
 
|  
 
| [[GSPGPU:ImportDisplayCaptureInfo|ImportDisplayCaptureInfo]]
 
| [[GSPGPU:ImportDisplayCaptureInfo|ImportDisplayCaptureInfo]]
 
|-
 
|-
 
| 0x00190000
 
| 0x00190000
 +
|
 
|  
 
|  
 
| [[GSPGPU:SaveVramSysArea|SaveVramSysArea]]
 
| [[GSPGPU:SaveVramSysArea|SaveVramSysArea]]
 
|-
 
|-
 
| 0x001A0000
 
| 0x001A0000
 +
|
 
|  
 
|  
 
| [[GSPGPU:RestoreVramSysArea|RestoreVramSysArea]]
 
| [[GSPGPU:RestoreVramSysArea|RestoreVramSysArea]]
Line 113: Line 140:  
| 0x001B0000
 
| 0x001B0000
 
|  
 
|  
| ResetGpuCore
+
|  
 +
| [[GSPGPU:ResetGpuCore|ResetGpuCore]]
 
|-
 
|-
 
| 0x001C0040
 
| 0x001C0040
 +
|
 
|  
 
|  
 
| [[GSPGPU:SetLedForceOff|SetLedForceOff]]
 
| [[GSPGPU:SetLedForceOff|SetLedForceOff]]
 
|-
 
|-
 
| 0x001D0040
 
| 0x001D0040
 +
|
 
|  
 
|  
 
| SetTestCommand (Stubbed)
 
| SetTestCommand (Stubbed)
 
|-
 
|-
 
| 0x001E0080
 
| 0x001E0080
 +
|
 
|  
 
|  
 
| SetInternalPriorities
 
| SetInternalPriorities
Line 129: Line 160:  
| 0x001F0082
 
| 0x001F0082
 
| [[8.0.0-18]]
 
| [[8.0.0-18]]
 +
|
 
| [[GSPGPU:StoreDataCache|StoreDataCache]]
 
| [[GSPGPU:StoreDataCache|StoreDataCache]]
 
|}
 
|}
Line 141: Line 173:  
!  Description
 
!  Description
 
|-
 
|-
| 0x0001....
+
| 0x00010040
 
|  
 
|  
 
| ?
 
| ?
 
|-
 
|-
| 0x0002....
+
| 0x00020040
 
|  
 
|  
 
| ?
 
| ?
 
|-
 
|-
| 0x0003....
+
| 0x00030080
 
|  
 
|  
 
| ?
 
| ?
 
|-
 
|-
| 0x0004....
+
| 0x000400C0
 
|  
 
|  
 
| ?
 
| ?
 
|-
 
|-
| 0x0005....
+
| 0x00050140
 
|  
 
|  
 
| ?
 
| ?
 
|-
 
|-
| 0x0006....
+
| 0x00060140
 
|  
 
|  
 
| ?
 
| ?
 
|-
 
|-
| 0x0007....
+
| 0x00070080
 
|  
 
|  
 
| ?
 
| ?
 
|-
 
|-
| 0x0008....
+
| 0x000800C0
 
|  
 
|  
 
| ?
 
| ?
 
|-
 
|-
| 0x0009....
+
| 0x00090140
 
|  
 
|  
 
| ?
 
| ?
 
|-
 
|-
| 0x000A....
+
| 0x000A0080
 
|  
 
|  
| ?
+
| [[GSPLCD:SetBrightnessRaw|SetBrightnessRaw]]
 
|-
 
|-
| 0x000B....
+
| 0x000B0080
 
|  
 
|  
| ?
+
| [[GSPLCD:SetBrightness|SetBrightness]]
 
|-
 
|-
| 0x000C....
+
| 0x000C0040
 
|  
 
|  
 
| ?
 
| ?
 
|-
 
|-
| 0x000D....
+
| 0x000D0040
 
|  
 
|  
 
| ?
 
| ?
 
|-
 
|-
| 0x000E....
+
| 0x000E0000
 
|  
 
|  
 
| ?
 
| ?
 
|-
 
|-
| 0x000F....
+
| 0x000F0000
 
|  
 
|  
| ?
+
| [[GSPLCD:PowerOnAllBacklights|PowerOnAllBacklights]]
 
|-
 
|-
| 0x0010....
+
| 0x00100000
 
|  
 
|  
| ?
+
| [[GSPLCD:PowerOffAllBacklights|PowerOffAllBacklights]]
 
|-
 
|-
| 0x0011....
+
| 0x00110040
 
|  
 
|  
| ?
+
| [[GSPLCD:PowerOnBacklight|PowerOnBacklight]]
 
|-
 
|-
| 0x0012....
+
| 0x00120040
 
|  
 
|  
| ?
+
| [[GSPLCD:PowerOffBacklight|PowerOffBacklight]]
 
|-
 
|-
| 0x0013....
+
| 0x00130040
 
|  
 
|  
| ?
+
| [[GSPLCD:SetLedForceOff|SetLedForceOff]]
 
|-
 
|-
| 0x0014....
+
| 0x00140000
 
| [[8.0.0-18]]
 
| [[8.0.0-18]]
| This only returns an error. Uninitialized data(not set by this command itself) is also written to u8 cmdreply_word[2].
+
| [[GSPLCD:GetVendor|GetVendor]] New3DS-only, stubbed on Old3DS: This only returns an error. Uninitialized data(not set by this command itself) is also written to u8 cmdreply_word[2].
 
|-
 
|-
| 0x0015....
+
| 0x00150040
 
| [[8.0.0-18]]
 
| [[8.0.0-18]]
| This only returns an error. Uninitialized data(not set by this command itself) is also written to u32 cmdreply_word[2].
+
| [[GSPLCD:GetBrightness|GetBrightness]] New3DS-only, stubbed on Old3DS: This only returns an error. Uninitialized data(not set by this command itself) is also written to u32 cmdreply_word[2].
 
|}
 
|}
   Line 235: Line 267:  
|-
 
|-
 
| [[8.0.0-18|v8196]]
 
| [[8.0.0-18|v8196]]
| Support for the new LINEAR memory region was implemented(for cache commands and vaddr->physaddr conversion). Support for the new process-mem 0x1E800000 region(however the GPU can't actually access this memory) was added for vaddr->physaddr conversion. Originally GSP module ignored vaddr->physaddr conversion errors(like with vaddrs outside of the handled ranges) and just wrote physaddr value0 to the GPU registers, however now GSP module returns an error for that instead(bitmask 0x80 gets set in GSP shared memory somewhere for that now). New services commands were added too, see above.
+
| Support for the new LINEAR memory region was implemented(for cache commands and vaddr->physaddr conversion). Support for the new process-mem 0x1E800000 region(however the GPU can't actually access this memory) was added for vaddr->physaddr conversion. Originally GSP module ignored vaddr->physaddr conversion errors(like with vaddrs outside of the handled ranges) and just wrote physaddr value0 to the GPU registers, however now GSP module returns an error for that instead(see [[GSP_Shared_Memory#Command_Buffer_Header|here]] regarding errors being written to GSP shared-mem). New services commands were added too, see above.
 
|}
 
|}
 +
 +
=New3DS=
 +
There's separate GSP-module titles for Old3DS and New3DS. PTM CheckNew3DS is only used by the New3DS title, for copying that flag into a state field. Elsewhere that field is checked for running additional code only on New3DS, for processing various state / using [[QTM_Services|QTM]] commands.
516

edits

Navigation menu