wyatt8740

BKM-10R Protocol

Jun 17th, 2016
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. copied from http://pastebin.com/aTUWf33J
  2.  
  3. BKM-10R Protocol
  4. Version 1 - May 16, 2016
  5. License: CC0
  6.  
  7. The BKM-10R is a remote control used for Sony BVM CRT televisions. It is
  8. required to control some CRTs without built in control, such as the BVM-20F1U.
  9.  
  10. The protocol is vaguely similar to the one used to control Sony VCRs:
  11. ftp://ftp.sgi.com/sgi/video/rld/vidpage/s9pin.html
  12.  
  13. This document currently only applies to the CONTROL connection, not to the
  14. REMOTE 1 input/output, though it's expected that they are similar.
  15.  
  16. == Pinout ==
  17.  
  18. The remote control and CRT are connected with straight through male-male DE9
  19. cable.
  20.  
  21. Female DB-9, BKM-10R side:
  22. 1. GND
  23. 2. /TXD
  24. 3. RXD
  25. 4. GND
  26. 5. +5V
  27. 6. GND
  28. 7. TXD
  29. 8. /RXD
  30. 9. GND
  31.  
  32. Since a straight through cable is used, TXD on the remote side is RXD on the
  33. CRT side. +5V is supplied from the CRT to power the remote.
  34.  
  35. == Protocol ==
  36.  
  37. Full duplex RS-422, 38400 baud, 8N1 (the Sony VCR protocol uses odd parity, but
  38. that seems not to be the case here). If you only want to control the CRT,
  39. half duplex RS-485 is electrically compatible.
  40.  
  41. == Bank ==
  42.  
  43. There are multiple "banks" that can be switched via 3 byte commands:
  44. 0x49 0x45 0x4E - "IEN" - encoders
  45. 0x49 0x53 0x57 - "ISW" - switches
  46. 0x49 0x4C 0x45 - "ILE" - leds
  47. 0x49 0x43 0x43 - "ICC" - ??
  48. 0x49 0x4d 0x54 - "IMT" - ??
  49.  
  50. The remote lazily switches banks when needed.
  51.  
  52. == Keypresses ==
  53.  
  54. Each keydown sends 0x44, then group, then mask.
  55. 0x44 <group> <mask>
  56.  
  57. The SHIFT key is "just another key" - state is kept on the CRT. Shifted labels
  58. are listed after non-shifted labels.
  59.  
  60. You must be in the "ISW" bank first.
  61.  
  62. <group> <mask> - label
  63. 0x03 0x01 - SHIFT
  64. 0x03 0x02 - OVERSCAN / 16:9
  65. 0x03 0x04 - HORIZ SYNC VIEW / SYNC
  66. 0x03 0x08 - VERT SYNC VIEW / BLUE ONLY
  67. 0x03 0x10 - MONO / R
  68. 0x04 0x01 - APT / G
  69. 0x04 0x02 - COMB / B
  70. 0x04 0x04 - F1 / F3
  71. 0x04 0x08 - F2 / F4
  72. 0x04 0x10 - SAFE AREA / ADDRESS
  73. 0x02 0x40 - UP
  74. 0x02 0x80 - DOWN
  75. 0x02 0x10 - MENU
  76. 0x02 0x20 - ENTER
  77. 0x02 0x08 - PHASE MANUAL
  78. 0x02 0x04 - CHROMA MANUAL
  79. 0x02 0x02 - BRIGHT MANUAL
  80. 0x02 0x01 - CONTRAST MANUAL
  81. 0x00 0x01 - 0
  82. 0x00 0x02 - 1
  83. 0x00 0x04 - 2
  84. 0x00 0x08 - 3
  85. 0x00 0x10 - 4
  86. 0x00 0x20 - 5
  87. 0x00 0x40 - 6
  88. 0x00 0x80 - 7
  89. 0x01 0x01 - 8
  90. 0x01 0x02 - 9
  91. 0x01 0x04 - Del
  92. 0x01 0x08 - Ent
  93. 0x01 0x10 - POWER (but see below)
  94. 0x01 0x20 - DEGAUSS
  95.  
  96. == POWER ==
  97.  
  98. You only need to send a POWER keypress to turn on the monitor, but for some
  99. reason the remote does more.
  100.  
  101. Power sends five 3-byte sequences:
  102. 0x49 0x53 0x57 - switch bank
  103. 0x44 0x01 0x10 - POWER switch
  104. (1s pause)
  105. 0x49 0x43 0x43 - CC bank?
  106. 0x49 0x4d 0x54 - MT bank?
  107. 0x44 0x33 0x31 - switch?
  108.  
  109. CRT responds with:
  110. 0x49 0x43 0x43 - CC bank?
  111. <full led state report>
  112. 0x49 0x4d 0x54 - MT bank?
  113. <full led state report>
  114.  
  115. == Encoders ==
  116.  
  117. Dials are rotary encoders that send 3 bytes:
  118. 0x44 <encoder id id> <ticks>
  119.  
  120. Ticks is a two's complement byte indicating how far the dial has turned since
  121. the last message. The remote sends messages about every 100ms when the dial
  122. is turning.
  123.  
  124. You must be in the "IEN" bank first.
  125.  
  126. 0x03 - PHASE
  127. 0x02 - CHROMA
  128. 0x01 - BRIGHT
  129. 0x00 - CONTRAST
  130.  
  131. == LEDs ==
  132.  
  133. LEDs use the same groups and masks as keypresses. Every time the CRT needs to
  134. change the lights, it changes to the LED bank:
  135.  
  136. 0x49 0x4c 0x45
  137.  
  138. then sends changed switch groups:
  139.  
  140. 0x44 <group> <mask>
  141.  
  142. where <mask> is all of the active LED masks OR'd together.
  143.  
  144. == Memory Card ==
  145.  
  146. Nobody cares.
Advertisement
Add Comment
Please, Sign In to add comment