Line 89: |
Line 89: |
| | 0x00010182 | | | 0x00010182 |
| | [[2.0.0-2]] | | | [[2.0.0-2]] |
− | | InitializeIrnop(cmd[5]=[[IRU:SetBitRate|bitrate]] value, cmd[7]=0, cmd[8]=handle, the rest unknown) | + | | [[IRUSER:InitializeIrnop|InitializeIrnop]] |
| |- | | |- |
| | 0x00020000 | | | 0x00020000 |
Line 103: |
Line 103: |
| | ClearSendBuffer | | | ClearSendBuffer |
| |- | | |- |
− | | 0x0005.... | + | | 0x000500C0 |
| | [[2.0.0-2]] | | | [[2.0.0-2]] |
| | WaitConnection | | | WaitConnection |
Line 111: |
Line 111: |
| | RequireConnection (u8 input) | | | RequireConnection (u8 input) |
| |- | | |- |
− | | 0x0007.... | + | | 0x000702C0 |
| | [[2.0.0-2]] | | | [[2.0.0-2]] |
| | AutoConnection | | | AutoConnection |
| |- | | |- |
− | | 0x0008.... | + | | 0x00080000 |
| | [[2.0.0-2]] | | | [[2.0.0-2]] |
| | AnyConnection | | | AnyConnection |
Line 143: |
Line 143: |
| | SendIrnopLarge (u32 size, ((Size<<8) <nowiki>|</nowiki> 10), inbufptr) | | | SendIrnopLarge (u32 size, ((Size<<8) <nowiki>|</nowiki> 10), inbufptr) |
| |- | | |- |
− | | 0x000F.... | + | | 0x000F0040 |
| | [[2.0.0-2]] | | | [[2.0.0-2]] |
| | ReceiveIrnop | | | ReceiveIrnop |
| |- | | |- |
− | | 0x0010.... | + | | 0x00100042 |
| | [[2.0.0-2]] | | | [[2.0.0-2]] |
| | ReceiveIrnopLarge | | | ReceiveIrnopLarge |
Line 181: |
Line 181: |
| | 0x00180182 | | | 0x00180182 |
| | [[2.2.0-X]] | | | [[2.2.0-X]] |
− | | InitializeIrnopShared (u32, u32, u32, u32, u32, cmd[6] = u8 [[IRU:SetBitRate|bitrate]] value, 0, handle) | + | | [[IRUSER:InitializeIrnopShared|InitializeIrnopShared]] |
| |- | | |- |
| | 0x00190040 | | | 0x00190040 |
Line 247: |
Line 247: |
| IRU is for regular IR comms. IRUSER uses a custom IR protocol(above the physical layer). Both of these services use IrDA-SIR. The IR hardware seems to only support IrDA-SIR, other physical protocols such as the one for TV-remotes are not supported(going by the datasheet linked [[Hardware|here]] for a different IC at least). | | IRU is for regular IR comms. IRUSER uses a custom IR protocol(above the physical layer). Both of these services use IrDA-SIR. The IR hardware seems to only support IrDA-SIR, other physical protocols such as the one for TV-remotes are not supported(going by the datasheet linked [[Hardware|here]] for a different IC at least). |
| | | |
− | The protocol used with IRUSER involves encryption(?) implemented in software. IRUSER is used for the [[Circle Pad Pro]]. This same IRUSER service uses the New3DS HID hardware when running on New3DS(note that the main service for New3DS HID is ir:rst). | + | The protocol used with IRUSER involves encryption(?) implemented in software. IRUSER is used for the [[Circle Pad Pro]]. This same IRUSER service uses the New3DS HID hardware when running on New3DS. Note that the main service for New3DS HID is ir:rst, and these two service are mutually exclusive: when one is initialized and reading data from New3DS HID, the other cannot access it. |