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