Direct Sony-Style RS-422 Deck Control:
By Chris Pirazzi.
Introduction and Scope
Many developers have asked us how to make an SGI do field-accurate
capture from and laydown to a directly connected Sony-Protocol RS-422
VTR. This section provides some hints to help you accomplish this:
This section is by no means a complete tutorial on deck control,
but it should provide you with lots of hard-to-find information from
the SGI systems perspective.
- information on getting 422 in and out of your SGI machine.
- complete sample code for doing full-rate, full-size,
field-accurate uncompressed 422 deck controlled captures and laydowns
with a Sony DVW-A500 deck on an IRIX 6.3 O2 using tserialio.
- hints on how you might do deck control on an SGI system which
offers millisecond-granularity IRIX process scheduling guarantees,
which today means a multiprocessor system.
This section will assume:
Some things we specifically do not cover are:
- We have an SGI machine whose video inputs and outputs are
hooked to a VTR. The SGI and the VTR are genlocked off of
a common house sync.
- The SGI machine is capable of full-rate, full-size uncompressed
video disk i/o, and is therefore one of the platforms listed in Uncompressed Video Disk I/O: Introduction and
Scope. See below for a JPEG note.
- The SGI's serial port is hooked directly to the deck's RS-422 deck
control port (often called "remote in" port). A 232-to-422 converter
is required on some platforms (see Getting
422 in and out of Your SGI).
- The deck speaks some close variant of the protocol spoken by the
Sony DVW-A500 deck. This includes all of the Sony BVW and DVW decks
as well as hundreds of others. This protocol group is known by more
names than I can count ("Sony 9-Pin Protocol," "Sony BVW Protocol,"
"REMOTE-1 Protocol," "P2,"...). We will assume you are familiar with
the protocol, how it is very important to send commands and service
responses within a certain time after the video vertical sync, and how
this is a difficult feat to accomplish on a multitasking operating
system like single-processor IRIX.
You can obtain an aggravatingly poorly translated, overpriced jinglish
translation of Sony's "BVW/DVW Protocol Manual 9-977-544-01" by
contacting your Sony rep. Or, you can read Rick Davis'
excellent "lurker's guide" to the Sony protocol and get almost all
the same information.
Perhaps the hardest thing about implementing direct deck control is
the small but critical variations between behavior on different "Sony
Protocol" decks. Almost none of these variations are documented: you
have to have each deck to detect and work around them. Often a single
make and model of deck will exhibit variations based on its firmware
rev. We will show you code that works on a Sony DVW-A500, and point
out some of the more blatant areas where decks differ (such as edit
delay). Supporting lots of different decks is up to you.
- The goal is to capture a specified range of fields from the deck's
tape to the computer's disk in one pass, or lay down a specified range
of fields from the computer's disk to the deck's tape in one pass.
The operation transfers exactly the right fields. Much of what we
discuss here is also useful on systems that need to do multi-pass
capture or laydown.
- Non-real-time control of external video disk recorders such as
those from Abekas or Accom (Uncompressed Video Disk I/O: Introduction and
Scope describes these devices).
- V-LAN-/MiniVAS-style deck control, where the RS-422 communication
is handled on a piece of dedicated external hardware which triggers
the computer via GPI. The computer communicates with the hardware
in non-real-time using RS-232.
- Platforms that can do full-rate, full-size JPEG platforms such as
cosmo1 on Indy/Indigo2, cosmo2 on Indigo2/Octane, and ICE on O2. As
long as the platform has a working UST/MSC implementation, all of what
we describe here applies to these platforms as well. But we have
chosen to stick with the uncompressed platforms to simplify the
- Synchronized audio capture and laydown.