I2C:MultiReplaceRegisterBits16: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
TimmSkiller (talk | contribs)
Created page with "=Request= {{IPC/Request}} {{IPC/RequestHeader|0x0004|4|2}} {{IPC/RequestEntry|u16, register}} {{IPC/RequestEntry|u16, value}} {{IPC/RequestEntry|u16, mask}} {{IPC/RequestEntry|u32, number of device IDs}} {{IPC/TranslateStaticBuffer|Input device IDs pointer|0}} {{IPC/RequestEnd}} =Response= {{IPC/Request}} {{#vardefine:ipc_offset|0}} {{IPC/RequestHeader|0x0004|1|0}} {{IPC/RequestEntry|Result code}} {{IPC/RequestEnd}} =Description= Replaces bits in the same register ac..."
 
TimmSkiller (talk | contribs)
No edit summary
 
Line 20: Line 20:
=Description=
=Description=
Replaces bits in the same register across multiple devices according to the given mask and value. This is similar to [[I2C:ReplaceRegisterBits8]], except this version uses 16 bit registers/masks/values.
Replaces bits in the same register across multiple devices according to the given mask and value. This is similar to [[I2C:ReplaceRegisterBits8]], except this version uses 16 bit registers/masks/values.
The maximum input buffer size is 0x200 for the New3DS i2c-sysmodule, and 0x10 for the Old3DS version.

Latest revision as of 16:40, 28 May 2026

Request

Index Word Description
0
Header 0x00040102 Cmd 0x0004 Param 4 Xlat 2
1 u16, register
2 u16, value
3 u16, mask
4 u32, number of device IDs
5 Descriptor for static buffer (id 0)
6 Input device IDs pointer

Response

Index Word Description
0
Header 0x00040040 Cmd 0x0004 Param 1 Xlat 0
1 Result code

Description

Replaces bits in the same register across multiple devices according to the given mask and value. This is similar to I2C:ReplaceRegisterBits8, except this version uses 16 bit registers/masks/values.

The maximum input buffer size is 0x200 for the New3DS i2c-sysmodule, and 0x10 for the Old3DS version.