Excerpts from the Sony Serial
Protocol
28 November 1995
| Basics: | 38,400 baud, 8 data bits, Odd parity, 1 stop bit |
| Data Format: | all values are in hex, as noted by the "h" suffix |
| command/status sent by controller reply from VTR |
| Command/Status: | Sent by Controller: | Reply from VTR: | ||||||||
| device type request | ..... | 00h | 11h | 11h | ..... | 12 | 11h | DD | TT | csum |
| STOP | 20h | 00h | 20h | 10h | 01h | 11h | ||||
| PLAY | 20h | 01h | 21h | 10h | 01h | 11h | ||||
| RECORD | 20h | 02h | 22h | 10h | 01h | 11h | ||||
| STANDBY OFF | 20h | 04h | 24h | 10h | 01h | 11h | ||||
| STANDBY ON | 20h | 05h | 25h | 10h | 01h | 11h | ||||
| EJECT | 20h | 0Fh | 2Fh | 10h | 01h | 11h | ||||
| FAST FWD | 20h | 10h | 30h | 10h | 01h | 11h | ||||
| JOG FWD | 21h | 11h | data, csum | 10h | 01h | 11h | ||||
| VAR FWD | 21h | 12h | data, csum | 10h | 01h | 11h | ||||
| SHUTTLE FWD | 21h | 13h | data, csum | 10h | 01h | 11h | ||||
| REWIND | 20h | 20h | 40h | 10h | 01h | 11h | ||||
| JOG REW | 21h | 21h | data, csum | 10h | 01h | 11h | ||||
| VAR REW | 21h | 22h | data, csum | 10h | 01h | 11h | ||||
| SHUTTLE REW | 21h | 23h | data, csum | 10h | 01h | 11h | ||||
| Status: | ||||||||
| READ LTC TIMECODE | 61h | 0Ch | 01h | 6Eh | ........ | 74h | 04h | FF,SS,MM,HH,csum |
| READ VITC TIMECODE | 61h | 0Ch | 02h | 6Fh | 74h | 06h | FF,SS,MM,HH,csum | |
| READ ANY TIMECODE | 61h | 0Ch | 03h | 70h | (either of above) | |||
| Where: |
| DD, TT is a two-byte, machine-specific device type |
| Data (Jog/Shuttle Speeds) | = | 10**(N/32 - 2) |
| still | = | 0 |
| x1/30 normal | = | 16 (10h) |
| x1/10 normal | = | 32 (16h) |
| x1.0 (normal) | = | 64 (40h) |
| x2.9 normal | = | 79 (4Fh) |
| x5.6 normal | = | 88 (58h) |
| x6.5 normal | = | 90 (5Ah) |
shuttle fwd @ 2x speed = 21h, 13h, 4Ah, 7Eh
csum (hex checksum of entire message)
examples: see most messages above
| FF (timecode frames) | = | packed BCD tens and units of frames |
| SS (timecode seconds) | = | packed BCD tens and units of seconds |
| MM (timecode minutes) | = | packed BCD tens and units of minutes |
| HH (timecode hours) | = | packed BCD tens and units of hours |
| Examples: | ||
| 12:34:56:29 | = | 12h, 34h, 56h, 29h |
| 00:00:00:00 | = | 00h, 00h, 00h, 00h |
| 01:02:03:04 | = | 01h, 02h, 03h, 04h |
| 01:27:47:13 | = | 74h, 04h, 13h, 47h, 27h, 01h, FAh |
RS-2/L Extensions to the Sony
Serial Protocol
20 October 1999
| Data Format: | all values are in hex, as noted by the "h" suffix |
| command/status sent by controller reply from VTR |
| Command: | Response: | ||||||
| Power On (Sleep Mode): | 00h | 1Fh | 1Fh | 10h | 01h | 11h | |
VTR:
| Command: | Response: | ||||||
| Record Unpause: | 20h | 06h | 26h | 10h | 01h | 11h | |
| Single-Frame Cue: | 20h | 07h | 27h | 10h | 01h | 11h | |
| Frame Advance (-x1/5 speed): | 20h | 08h | 28h | 10h | 01h | 11h | |
| Frame Advance (+x1/5 speed): | 20h | 09h | 29h | 10h | 01h | 11h | |
| Insert: | 20h | 0Bh | 2Bh | 10h | 01h | 11h | |
| Edit Search +: | 20h | 0Ch | 2Ch | 10h | 01h | 11h | |
| Edit Search -: | 20h | 0Eh | 2Eh | 10h | 01h | 11h | |
Camcorder:
| Command: | Response: | ||||||
| Camcorder Start/Stop: | 20h | 0Ah | 2Ah | 10h | 01h | 11h | |
| Camera Power On/Off: | 20h | 0F4h | 14h | 10h | 01h | 11h | |
| Zoom Telephoto: | 20h | 0F5h | 15h | 10h | 01h | 11h | |
| Zoom Wide: | 20h | 0F6h | 16h | 10h | 01h | 11h | |
| Fader On/Off: | 20h | 0F7h | 17h | 10h | 01h | 11h | |
| Backlight On/Off: | 20h | 0F8h | 18h | 10h | 01h | 11h | |
| Superimpose Memory: | 20h | 0F9h | 19h | 10h | 01h | 11h | |
| Superimpose Color/Mono: | 20h | 0FAh | 1Ah | 10h | 01h | 11h | |
| Superimpose On/Off: | 20h | 0FBh | 1Bh | 10h | 01h | 11h | |
| Focus Man/Auto: | 20h | 0FCh | 1Ch | 10h | 01h | 11h | |
| Focus Far: | 20h | 0FDh | 1Dh | 10h | 01h | 11h | |
| Focus Near: | 20h | 0FEh | 1Eh | 10h | 01h | 11h | |
Notes:
Single-frame Cue cues to previous record-in point + 2 frames.
The above Control-L/LANC extensions may not apply to all
camcorders in all modes.
Many of the above commands have not been tested. They are
all included for completeness.
To perform a Backspace Record, put deck into Still (Shuttle 0),
then send in Record, followed by Record Unpause. Allow time for
each command to execute.