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. |