RMC Protocol - RainMz/NintendoClients GitHub Wiki
This is a simple remote method call protocol that lies on top of the PRUDP protocol.
Request Format
| Type | Description |
|---|---|
| Uint32 | Size, excluding this field |
| Uint8 | Protocol id, ORed with 0x80 |
| Uint16 | Extended protocol id. Only present if the protocol id is 0x7F. |
| Uint32 | Call id, an incrementing number used to match a response to the right request |
| Uint32 | Method id |
| ... | Method parameters |
Response Format
| Type | Description |
|---|---|
| Uint32 | Size, excluding this field |
| Uint8 | Protocol id |
| Uint16 | Extended protocol id. Only present if the protocol id is 0x7F. |
| Uint8 | 0=Error 1=Success |
On success:
| Type | Description |
|---|---|
| Uint32 | Call id |
| Uint32 | Method id, ORed with 0x8000 |
| ... | Response data |
On error:
| Type | Description |
|---|---|
| Uint32 | Error code, see errors.py |
| Uint32 | Call id |
Remarks
The following services never send an RMC response, even if an error occurred:
Other services always send an RMC response.