Changes

52 bytes added ,  19:25, 20 March 2014
m
no edit summary
Line 24: Line 24:  
=== Parameter masking ===
 
=== Parameter masking ===
   −
It appears that bits 16-19 in the command header may not be part of the command ID but in fact a parameter mask : bit 16 would indicate that the LSB of the parameter will be written, bit17 that the parameter's second LSB will be written etc. This would mean that for instance commands 0x00020107 and 0x00010107 refer to the same thing but write different parts of the parameter.
+
Bits 16-19 in the command header are not part of the command ID but in fact a parameter mask : bit 16 indicates that the LSB of the parameter will be written, bit17 that the parameter's second LSB will be written etc. This means that for instance commands 0x00020107 and 0x00010107 refer to the same thing but write different parts of the parameter.
    
=== Command grouping ===
 
=== Command grouping ===
   −
It appears that in certain circumstances it is possible to group multiple command calls into a single one, given that those commands' IDs are contiguous. For example, a call with command header 0x802F011C (3 parameters total) seems to be equivalent to a call to commands 0xF011C with parameter 0, 0xF011D with parameter 1 and 0xF011E with parameter 2.
+
In certain circumstances it is possible to group multiple command calls into a single one, given that those commands' IDs are contiguous. For example, a call with command header 0x802F011C (3 parameters total) is equivalent to a call to commands 0xF011C with parameter 0, 0xF011D with parameter 1 and 0xF011E with parameter 2.
 +
It is unknown how this feature behaves when used with commands that have a variable number of parameters.
    
=== Commands ===
 
=== Commands ===
373

edits