Remote Control: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
(Add information on remote codes) |
||
Line 36: | Line 36: | ||
== Trivia == | == Trivia == | ||
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. | 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 == | |||
Codes in Dragon [[MechaCon]] SCMD 0x1E and lircd format that PS2 hardware or software responds to are listed below. | |||
{| class="wikitable" style="font-size:small;" | |||
|- | |||
! 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 || | |||
|} | |||
=== Algorithm for SCMD 0x1E to lircd format === | |||
<pre> | |||
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) | |||
</pre> | |||
=== lircd template for specified remote codes === | |||
<pre> | |||
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 | |||
</pre> |
Revision as of 16:25, 1 February 2025
Overview
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.
Model numbers
- 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.
Bundles
- 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
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
Codes in Dragon MechaCon SCMD 0x1E and lircd format that PS2 hardware or software responds to are listed below.
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 |
Algorithm for SCMD 0x1E to lircd format
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
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