Controller
Decoding the IR signal's would have been much more difficult without the effort put in by robosapienpet in decoding the RoboSapien V2's IR coding scheme (which is the same as used here). I suggest you check out his website.
The IR signal is a 39.2kHz carrier wave, data is modulated using a space coded signal. Each signal is 12 bits long, and is preceeded by a start pulse that is ~6.66ms (8/1200 of a second). A one is encoded by pausing for ~3.33ms (4/1200 of a second), a zero is encoded by pausing for ~0.833ms (1/1200 of a second). Each pause is followed by a pulse that is ~0.833ms, to seperate the bits.
| RS Media IR Codes | ||||
| Button | Mode | |||
| Norm | L | R | L+R | |
| A | $583 | $555 | $55C | $5f1 |
| B | $580 | $556 | $55d | $5f0 |
| C | $581 | $557 | $55e | $5f5 |
| Stop | $5AA $5A9 $571 | $553 | $586 | $5f4 |
| Select | $510 | $511 | $540 | $541 |
| X | $552 | $558 | $55F | $5F6 |
| Y | $590 | $559 | $560 | $5F2 |
| Z | $582 | $55A | $561 | $5F3 |
| Play | $550 | $554 | $551 | $569 |
| Photo | $515 | $516 | $545 | $546 |
| M | $517 | $514 | $547 | $544 |
| D | $513 | $512 | $543 | $542 |
| LPU | $500 | $508 | $5C0 | $5D0 |
| LPD | $501 | $509 | $5C1 | $5D1 |
| LPL | $502 | $50A | $5C2 | $5D2 |
| LPR | $503 | $50B | $5C3 | $5D3 |
| LPUL | $504 | $50C | $5C4 | $5D4 |
| LPUR | $505 | $50D | $5C5 | $5D5 |
| LPDL | $506 | $50E | $5C6 | $5D6 |
| LPDR | $507 | $50F | $5C7 | $5D7 |
| RPU | $520 | $528 | $530 | $538 |
| RPD | $521 | $529 | $531 | $539 |
| RPL | $522 | $52A | $532 | $53A |
| RPR | $523 | $52B | $533 | $53B |
| RPUL | $524 | $52C | $534 | $53C |
| RPUR | $525 | $52D | $535 | $53D |
| RPDL | $526 | $52E | $536 | $53E |
| RPDR | $527 | $52F | $537 | $53F |
There are two special cases, the stop button when pressed will immediately transmit 0x5AA followed by 0x5A9. When held it will continue to transmit 0x5A9. If held for more than a second, it will start transmitting 0x571
The direction pads, when held repeat, and when released, transmit 0x570
Photos of the RS Media's Controller