Remote Control
Overview[edit | edit source]
Separate sets were sold, either for consoles with or without integrated IR receiver. The latter always came with an IR-receiver and a DVD player update disc to add software support for the remote control. In service manuals, IR related components are referred to as SIRCS.
Compatibility[edit | edit source]
Many of the commands PS2 IR receivers can accept are the same as the ones for Sony's DVD players/recorders (such as those emitted by RMT-D105A, or RMT-D214J when in position 1). Notable exceptions to this are the power/eject related commands, as well as the PS2 controller related commands. The remote commands for PSX and BD players/recorders are distinct from the DVD players/recorders. However, remotes for BD recorders such as RMT-B006J can be programmed to emit commands for Sony's DVD players/recorders and PSX, which will then be handled by PS2 IR receivers.
Model numbers[edit | edit source]
- SCPH-10150
- Remote control for use with the SCPH-10160 IR receiver
- SCPH-10160
- IR receiver for use with the SCPH-10150 remote control. Plugs into a controller port.
- SCPH-10420
- Remote control for use only on consoles with integrated IR receiver (SCPH-5X0XX and all slim consoles). Can also remotely open/close the disc tray (not on slim consoles, since their disc doors are purely mechanical) and turn on/off the console via two additional buttons.
- RMT-P001
- For usage with PSX; bundled with DESR-5000, DESR-7000, DESR-5100, and DESR-7100
- Commands are distinct from SCPH-10150/SCPH-10420
- RMT-P002J
- For usage with PSX; bundled with DESR-5500, DESR-7500, DESR-5700, and DESR-7700
- Commands are distinct from SCPH-10150/SCPH-10420
Bundles[edit | edit source]
- SCPH-18000 (PS2 console)
- Japan-only
- Released on December 8th, 2000
- All SCPH-18000 consoles (A+ and AB-chassis) came bundled with the SCPH-10150 remote control as well as the SCPH-10160 IR receiver. These consoles also have DVD player 2.00 installed in ROM, which supports the remote control out of the box.
- Buying a SCPH-18000 PS2 console is indeed the first way the official remote control became available to end users.
- SCPH-10170
- Released on December 22nd, 2000
- Japanese bundle containing remote control (SCPH-10150), IR receiver (SCPH-10160), batteries and DVD player install/update disc 2.01, 2.10, 2.12, 2.14 or 2.16. Released in Japan in December 2000.
- Meant for use with SCPH-10000 and SCPH-15000 PS2 consoles, since SCPH-18000 consoles already included the remote control.
- SCPH-10171
- North American bundle containing remote control (SCPH-10150), IR receiver (SCPH-10160), batteries and DVD player install/update disc 2.10, 2.12 or 2.14.
- SCPH-10172
- European bundle containing remote control (SCPH-10150), IR receiver (SCPH-10160), batteries and DVD player install/update disc 2.10 or 2.14.
- SCPH-10173
- Australian bundle containing remote control (SCPH-10150), IR receiver (SCPH-10160), batteries and DVD player install/update disc 2.10 or 2.14.
- SCPH-10420 (+ region suffix, e.g. J for Japan, U for US and E for Europe)
- Released concurrently to SCPH-5X0XX
- Bundle containing the SCPH-10420 remote control (only for SCPH-5X0XX and up) with some batteries. No IR receiver and no DVD player install/update disc are included, since these are not needed for operation.
Trivia[edit | edit source]
Early third party PS2 remote controls were available months before the release of the original remote control in Japan. However, their buttons only map directly to DualShock 2 buttons with no additional features. This is because at the time, no DVD player versions supporting any extra features were available.
Remote codes[edit | edit source]
Codes in Dragon MechaCon SCMD 0x1E and lircd format that PS2 hardware or software responds to are listed below.
DESR codes for PSX are when the switch position is in "1". When the switch position is in "2" or "3", 0x00000093 is replaced with 0x0000009B or 0x000000A3 respectively.
Label | ps2sdk Definition | SCMD 0x1E | lircd | Remarks |
---|---|---|---|---|
1 | RM_DVD_ONE | 0x0000D049 | 0x00000B92 | |
2 | RM_DVD_TWO | 0x0010D049 | 0x00080B92 | |
3 | RM_DVD_THREE | 0x0020D049 | 0x00040B92 | |
4 | RM_DVD_FOUR | 0x0030D049 | 0x000C0B92 | |
5 | RM_DVD_FIVE | 0x0040D049 | 0x00020B92 | |
6 | RM_DVD_SIX | 0x0050D049 | 0x000A0B92 | |
7 | RM_DVD_SEVEN | 0x0060D049 | 0x00060B92 | |
8 | RM_DVD_EIGHT | 0x0070D049 | 0x000E0B92 | |
9 | RM_DVD_NINE | 0x0080D049 | 0x00010B92 | |
0 | RM_DVD_ZERO | 0x0090D049 | 0x00090B92 | |
ENTER | RM_DVD_ENTER | 0x00B0D049 | 0x000D0B92 | |
RETURN | RM_DVD_RETURN | 0x00E0D049 | 0x00070B92 | |
CLEAR | RM_DVD_CLEAR | 0x00F0D049 | 0x000F0B92 | |
TOP MENU | RM_DVD_TITLE | 0x00A0D149 | 0x00058B92 | |
MENU | RM_DVD_MENU | 0x00B0D149 | 0x000D8B92 | |
PROGRAM | RM_DVD_PROGRAM | 0x00F0D149 | 0x000F8B92 | |
TIME | RM_DVD_TIME | 0x0080D249 | 0x00014B92 | |
A-B | RM_DVD_ATOB | 0x00A0D249 | 0x00054B92 | |
REPEAT | RM_DVD_REPEAT | 0x00C0D249 | 0x00034B92 | |
PREV | RM_DVD_PREV | 0x0000D349 | 0x0000CB92 | |
NEXT | RM_DVD_NEXT | 0x0010D349 | 0x0008CB92 | |
PLAY | RM_DVD_PLAY | 0x0020D349 | 0x0004CB92 | |
SCAN (left) | RM_DVD_SCAN_BACK | 0x0030D349 | 0x000CCB92 | |
SCAN (right) | RM_DVD_SCAN_FORW | 0x0040D349 | 0x0002CB92 | |
SHUFFLE | RM_DVD_SHUFFLE | 0x0050D349 | 0x000ACB92 | |
STOP | RM_DVD_STOP | 0x0080D349 | 0x0001CB92 | |
PAUSE | RM_DVD_PAUSE | 0x0090D349 | 0x0009CB92 | |
DISPLAY | RM_DVD_DISPLAY | 0x0040D549 | 0x0002AB92 | |
SLOW (left) | RM_DVD_SLOW_BACK | 0x0000D649 | 0x00006B92 | |
SLOW (right) | RM_DVD_SLOW_FORW | 0x0010D649 | 0x00086B92 | |
SUBTITLE | RM_DVD_SUBTITLE | 0x0030D649 | 0x000C6B92 | |
AUDIO | RM_DVD_AUDIO | 0x0040D649 | 0x00026B92 | |
ANGLE | RM_DVD_ANGLE | 0x0050D649 | 0x000A6B92 | |
RM_DVD_UP | 0x0090D749 | 0x0009EB92 | SCPH-10420 and SCPH-10150 will alternate between this and RM_PS2_UP when held down | |
RM_DVD_DOWN | 0x00A0D749 | 0x0005EB92 | SCPH-10420 and SCPH-10150 will alternate between this and RM_PS2_DOWN when held down | |
RM_DVD_LEFT | 0x00B0D749 | 0x000DEB92 | SCPH-10420 and SCPH-10150 will alternate between this and RM_PS2_LEFT when held down | |
RM_DVD_RIGHT | 0x00C0D749 | 0x0003EB92 | SCPH-10420 and SCPH-10150 will alternate between this and RM_PS2_RIGHT when held down | |
RESET | RM_PS2_POWER | 0x0050D1DA | 0x000A8B5B | Responeded to by Dragon MechaCon: hold briefly to reset, and hold longer to power off. Only on SCPH-10420. |
OPEN/CLOSE | RM_PS2_EJECT | 0x0060D1DA | 0x00068B5B | Responeded to by Dragon MechaCon: opens and closes the tray. Only on SCPH-10420. |
RM_PS2_RESET | 0x0070D1DA | 0x000E8B5B | Responeded to by Dragon MechaCon: resets the console if powered on. Not on SCPH-10420 and SCPH-10150. | |
RM_PS2_POWERON | 0x00E0D2DA | 0x00074B5B | Responeded to by Dragon MechaCon: powers on the console if powered off. Not on SCPH-10420 and SCPH-10150. | |
RM_PS2_POWEROFF | 0x00F0D2DA | 0x000F4B5B | Responeded to by Dragon MechaCon: powers off the console if powered on. Not on SCPH-10420 and SCPH-10150. | |
RM_PS2_NOLIGHT | 0x0050D7DA | 0x000AEB5B | Responeded to by Dragon MechaCon: extinguishes the power LED while being held. Not on SCPH-10420 and SCPH-10150. | |
SELECT | RM_PS2_SELECT | 0x0000D5DA | 0x0000AB5B | |
L3 | RM_PS2_L3 | 0x0010D5DA | 0x0008AB5B | |
R3 | RM_PS2_R3 | 0x0020D5DA | 0x0004AB5B | |
START | RM_PS2_START | 0x0030D5DA | 0x000CAB5B | |
RM_PS2_UP | 0x0040D5DA | 0x0002AB5B | SCPH-10420 and SCPH-10150 will alternate between this and RM_DVD_UP when held down | |
RM_PS2_RIGHT | 0x0050D5DA | 0x000AAB5B | SCPH-10420 and SCPH-10150 will alternate between this and RM_DVD_RIGHT when held down | |
RM_PS2_DOWN | 0x0060D5DA | 0x0006AB5B | SCPH-10420 and SCPH-10150 will alternate between this and RM_DVD_DOWN when held down | |
RM_PS2_LEFT | 0x0070D5DA | 0x000EAB5B | SCPH-10420 and SCPH-10150 will alternate between this and RM_DVD_LEFT when held down | |
L2 | RM_PS2_L2 | 0x0080D5DA | 0x0001AB5B | |
R2 | RM_PS2_R2 | 0x0090D5DA | 0x0009AB5B | |
L1 | RM_PS2_L1 | 0x00A0D5DA | 0x0005AB5B | |
R1 | RM_PS2_R1 | 0x00B0D5DA | 0x000DAB5B | |
RM_PS2_TRIANGLE | 0x00C0D5DA | 0x0003AB5B | ||
RM_PS2_CIRCLE | 0x00D0D5DA | 0x000BAB5B | ||
RM_PS2_CROSS | 0x00E0D5DA | 0x0007AB5B | ||
RM_PS2_SQUARE | 0x00F0D5DA | 0x000FAB5B | ||
RM_DESR_EJECT | 0x0060D193 | 0x00068BC9 | ||
RM_DESR_G_GUIDE | 0x0050D493 | 0x000A2BC9 | Only on RMT-P001 | |
RM_DESR_QUIT_GAME | 0x0010D693 | 0x00086BC9 | ||
RM_DESR_POWER | 0x0050D193 | 0x000A8BC9 | ||
RM_DESR_1 | 0x0000D093 | 0x00000BC9 | ||
RM_DESR_2 | 0x0010D093 | 0x00080BC9 | ||
RM_DESR_3 | 0x0020D093 | 0x00040BC9 | ||
RM_DESR_4 | 0x0030D093 | 0x000C0BC9 | ||
RM_DESR_5 | 0x0040D093 | 0x00020BC9 | ||
RM_DESR_6 | 0x0050D093 | 0x000A0BC9 | ||
RM_DESR_7 | 0x0060D093 | 0x00060BC9 | ||
RM_DESR_8 | 0x0070D093 | 0x000E0BC9 | ||
RM_DESR_9 | 0x0080D093 | 0x00010BC9 | ||
RM_DESR_10 | 0x0090D093 | 0x00090BC9 | ||
RM_DESR_11 | 0x00A0D093 | 0x00050BC9 | ||
RM_DESR_12 | 0x00B0D093 | 0x000D0BC9 | ||
RM_DESR_BS_7 | 0x00D0D093 | 0x000B0BC9 | Only on RMT-P001 | |
RM_DESR_BS_11 | 0x00E0D093 | 0x00070BC9 | Only on RMT-P001 | |
RM_DESR_CLEAR | 0x00F0D093 | 0x000F0BC9 | ||
RM_DESR_TOP_MENU | 0x00C0D293 | 0x00034BC9 | ||
RM_DESR_MENU | 0x0090D293 | 0x00094BC9 | ||
RM_DESR_RETURN | 0x0030D493 | 0x000C2BC9 | ||
RM_DESR_TRIANGLE_OPTION | 0x00C0D593 | 0x0003ABC9 | ||
RM_DESR_CIRCLE | 0x00D0D593 | 0x000BABC9 | ||
RM_DESR_SQUARE_VIEW | 0x00F0D593 | 0x000FABC9 | ||
RM_DESR_CROSS_BACK | 0x00E0D593 | 0x0007ABC9 | ||
RM_DESR_UP | 0x0040D593 | 0x0002ABC9 | ||
RM_DESR_LEFT | 0x0070D593 | 0x000EABC9 | ||
RM_DESR_RIGHT | 0x0050D593 | 0x000AABC9 | ||
RM_DESR_DOWN | 0x0060D593 | 0x0006ABC9 | ||
RM_DESR_ENTER | 0x0000D693 | 0x00006BC9 | ||
RM_DESR_PROGRAM | 0x00A0D293 | 0x00054BC9 | ||
RM_DESR_HOME | 0x0020D493 | 0x00042BC9 | ||
RM_DESR_DISPLAY | 0x0050D293 | 0x000A4BC9 | ||
RM_DESR_L1_PREV | 0x00A0D593 | 0x0005ABC9 | ||
RM_DESR_L3 | 0x0010D593 | 0x0008ABC9 | ||
RM_DESR_R3 | 0x0020D593 | 0x0004ABC9 | ||
RM_DESR_R1_NEXT | 0x00B0D593 | 0x000DABC9 | ||
RM_DESR_L2_SCAN_BACK | 0x0080D593 | 0x0001ABC9 | ||
RM_DESR_SELECT | 0x0000D593 | 0x0000ABC9 | ||
RM_DESR_START | 0x0030D593 | 0x000CABC9 | ||
RM_DESR_R2_SCAN_FORW | 0x0090D593 | 0x0009ABC9 | ||
RM_DESR_PLAY | 0x00A0D193 | 0x00058BC9 | ||
RM_DESR_PAUSE | 0x0090D193 | 0x00098BC9 | ||
RM_DESR_STOP | 0x0080D193 | 0x00018BC9 | ||
RM_DESR_RECORDING_MODE | 0x0060D293 | 0x00064BC9 | ||
RM_DESR_RECORD_START | 0x00D0D193 | 0x000B8BC9 | ||
RM_DESR_RECORD_PAUSE | 0x00E0D193 | 0x00078BC9 | ||
RM_DESR_RECORD_STOP | 0x00F0D193 | 0x000F8BC9 | ||
RM_DESR_DELETE | 0x0020D693 | 0x00046BC9 | ||
RM_DESR_G_GUIDE2 | 0x0010D493 | 0x00082BC9 | Only on RMT-P002J | |
RM_DESR_FLASH_BACK | 0x0060D793 | 0x0006EBC9 | Only on RMT-P002J | |
RM_DESR_FLASH_FORW | 0x0050D793 | 0x000AEBC9 | Only on RMT-P002J |
Algorithm for SCMD 0x1E to lircd format[edit | edit source]
def bit_swap(x): return (((x & (1 << 7)) >> 7) << 0) | (((x & (1 << 6)) >> 6) << 1) | (((x & (1 << 5)) >> 5) << 2) | (((x & (1 << 4)) >> 4) << 3) | (((x & (1 << 3)) >> 3) << 4) | (((x & (1 << 2)) >> 2) << 5) | (((x & (1 << 1)) >> 1) << 6) | (((x & (1 << 0)) >> 0) << 7) def byte_swap_24(x): return (bit_swap(((x & 0xFF0000) >> 16)) << 16) | (bit_swap(((x & 0x00FF00) >> 8)) << 8) | (bit_swap(((x & 0x0000FF) >> 0)) << 0)
lircd template for specified remote codes[edit | edit source]
begin remote name PS2 bits 20 flags SPACE_ENC|CONST_LENGTH eps 30 aeps 100 header 2432 581 one 1212 581 zero 614 581 gap 44853 min_repeat 2 toggle_bit 0 begin codes RM_PS2_EJECT 0x00068B5B RM_PS2_RESET 0x000A8B5B # Add more codes here... end codes end remote