BCD Home Page
AG-2560C Commands
BCD AG-2560C Commands
This document supercedes AG-2560C Commands listed in the Manual.
Initial posting of this file was 3 September 1996
Updated Documentation:
11 November 1996 (EPROM Version 1126)
14 April 1997 (EPROM Version 50a-0414)
04 March 1998 (EPROM Version 50a-0302)
09 March 1998 (Additioanl notes)
19 March 1998 (24Hr roll-over. Additioanl notes Version 50a-0319)
26 March 1998 (AG-2560CL notes)
4 May 2001 AG-2560 revisions & Command Updates
10 December 2001: added GENC documentation
General Operation and Programming Techniques
=============================================
The BCD ‘prompt’ character is ‘>‘ (greater than sign, ASCII 62). A prompt
will be returned after commands that are completed and/or when the deck is
ready to accept a new command.
DO NOT send a new command until you have received the ‘‘ prompt after having
sent the previous command. The only exception is the ESCape character
(ASCII 27). Sending an ESC will cause the current command to abort and perform
a partial reset of the controller. The prompt will then return. ESC is not
followed by a Carriage Return, Line Feed.
Character Pacing: Generally, the unit is ready to accept a command immediately
after it sends the prompt character. Under some conditions, however, there may be
a delay of several milliseconds before the first character is actually accepted.
If you supect that a command is not accepted, issue the LAST command to dump the
unit's input buffer to your terminal. If you see LAY instead of PLAY or TOP
instead of STOP, try adding a short delay between the return of the "" and the
first character of your command.
A major change in frame reporting is implemented in Version 50a-0319.
Previously, non-sophisticated users could rewind tape "past zero". As a
convenience, we made that be displayed as "-1, -2, -3, etc.". That would permit
"FIND" to search forward, even if the deck had rewound too far below zero.
Inasmuch as these the customers for these decks are now usually scientists, we made
the change to absolute frame number reporting. Thus, one frame less than
00:00:00:00 is 23:59:59:29. It is the responsibility of the user's application
program to determine what to do at the "midnight crossing" frame. This reporting
is consistent with standard SMPTE frame nomenclature.
Status reporting: Because of changes made by Panasonic, the VCR does not communicate
back to the BCD controller. Therefore, the STAT command reflects only the last command
sent by your PC application. The BCD SB-100 controls decks from Sony, Panasonic, and JVC
that are equipped with RS-232 remote ports. The SB-100 adds time code frame-accuracy to
these decks. Additionally, these decks DO report current status (Power on, tape in/eject,
etc.) If your application requires knowing what the deck is doing, we suggest the SB-100
in concert with a Sony SVO-MD9500, Panasonic AG-5710, or JVC BR-S360U, or their current
equivalent model numbers.
The BCD Command Syntax: CMMD [modifier] [parameter] CR LF
--------------------------------------------------
The command line consists of the 4-character command, sometimes followed
by a modifier, sometimes followed by a parameter, always terminated with a
Carriage Return and Line Feed.
Modifiers: Modifiers go after the command and before any parameter.
Colon (:) assigns parameter formatting and VCR replies in SMPTE format,
i.e. HH:MM:SS:FF.
If ‘FRAM’ returns 1800, then ‘FRAM:’ will return 00:01:00:00.
Semicolon (;) Several commands may be concatenated on one line,
separated by a semicolon (;).
Ampersand (&) Causes current frame number to be CONTINUOUSLY output to the
computer in SMPTE format (HH:MM:SS:FF) until another
CR is received by the deck.
Excalmation (!) Causes current frame number to be CONTINUOUSLY output to the
computer in integer format until another
or CR is received by the deck.
Pound Sign (#) Means that the following frame parameter is "relative" to the
current frame. Normally SEEK 1000 will cause FFWD or REWD toward
frame 1000 and issue the STOP command at frame 1000. SEEK # 1000
will cause FFWD for 1000 frames. SEEK -# 1000 will cause REWD for
1000 frames.
Command Syntax: CMMD CR LF
--------------------------------------------------
Typography for this command list:
'COMMAND', parameter?, parameter minimum, parameter maximum, default
parameter
This list is in alphabetical order.
CMD (parameter) min, max, default
'AUD0', none, 0, 0, 0,
Turns off audio channels. Mute
'AUD1', none, 0, 0, 0,
Turns on only Hi-Fi Channel 1
'AUD2', none, 0, 0, 0,
Turns on only Hi-Fi Channel 2
'AUDB', none, 0, 0, 0,
Turns on both Hi-Fi Channels 1 & 2
'AUDL', none, 0, 0, 0,
Turns on only Linear mono audio channel
NOTE: AUD1, AUD2, AUDB and AUDL only work during PLAY, and then only
after the machine has been stopped. (Ask Panasonic!)
*'AVID', none, 0, 65535, 0,
Send Aux Vid Input video to VCR Video Out. Aux. Video In signal is not
recorded.
'BOOT', none
Causes a cold boot of the controller system. Mainly used by BCD in testing.
'BAUD', none, 0, 0, 0,
Returns current communications Baud Rate
2400, 4800, 9600, 19200, 38400
*'BURN', allowed, 0, 1, 0,
Turns on/off Time Code Overlay
BURN 1 = ON, BURN 0 = OFF (Default)
'CHAN', allowed, 0, 255, 0,
Changes channels on the VCR tuner
'CHAN 9' changes to channel 9.
*'CODE', allowed, 0, 8, 0,
Sets or displays time code type to be used.
0 = None
7 = VITC Non-Drop Frame SMPTE
8 = VITC Non-Drop Frame SMPTE
*'CONT', allowed, 0, 1, 0,
'CONT 1' continuously outputs integer frame numbers until a CR LF is received.
*'CTYP', none, 0, 0, 0, xxx
Returns all Time Code Types detected by INIT command
This is a holdover from previous machines.
AG-2560C will return 0, 0 if no code was detected.
AG-2560C will return 0, 7 if VITC was detected.
Essentially the same as the CODE command for
determining code type.
*'DBAK', allowed, 0, 3, 0,
Sets or displays TC overlay style
0 = White characters on Black Box
1 = Black characters on White Box (default)
2 = White characters on background video
3 = Black characters on background video
'DEBG', allowed, 0, 9, 0,
Sets or displays verbose error code reporting for debugging
0 = none (zero, default)
1 = Error numbers and messages
9 = Time Code evaluation
"DEBG 9" issued during PLAY will return
OO,00,00,00, ...
The 'O' (letter oh) means that good VITC was read. There are 2 'O's, one
for each video field. A bad VITC read returns a ';' semicolon. VITC writes
the frame number on two NON-ADJACENT lines on each video field. The code is
considered 'good' only if the code in each of the two lines is identical.
The ',' comma means that a CTL (control track) frame
pulse has passed. The deck uses CTL pulses during FFWD and REWD to find
the approximate position.
NOTE: ALWAYS issue DEBG 0 (zero) before running a program or else the
returned error codes may cause unexpected results in your program.
The usual programming technique is to issue ERR? after each command
to insure that the returned code is 00000.
'DECK', allowed, 0, 255, 0
Selects the number of the deck (VCR) which you want to control.
Example: 'DECK 2; PLAY' will cause only VCR # 2 to play. All decks will
receive the command, but only DECK 2 will respond.
Deck numbers are set by the DIP switch inside the left side of the machine
in usual binary fashion.
Example: These are the switch settings for Deck 7. (^=ON, v=OFF)
8 7 6 5 4 3 2 1 0
v v v v v v ^ ^ ^
*'DPOS', allowed, 0, 255, 0,
Sets or displays TC Overlay (BURN) position. DBAK 60 is approximately the
center of the screen. DPOS is a vertical position variable only.
Horizontal position is fixed.
'DSIZ', allowed, 0, 1, 0,
TC Overlay (BURN) size.
0 = small
1 = large (default)
'ECOF', none, 0, 0, 0,
Turns off communications character echo. Default is ECON so humans can
see the command characters echoed back. Usually a program will issue ECOF
as one of its first commands.
'ECON', none, 0, 0, 0,
Permits command characters to be echoed back (full duplex) to the host
computer.
'ERR?', allowed, 0, 255, 0,
Displays the number of the most recent error. ERR? also clears the
current error after displaying it. DEBG 1 will cause the full text of the error
message to be displayed along with the error number.
NOTE: Some of the error codes below apply to other BCD control systems and will not appear using the AG-2540C.
See also STAT and ERR?.
001 'Unknown command '
002 'Argument Required '
003 'Bad hex argument '
004 'Argument range error'
005 'Unknown Disc value '
006 'Send to Disc error '
007 'Disc lid open. '
008 'Preroll too small '
009 'Argument not allowed'
010 'Unexpected motion. '
011 'NAK from Disc. '
012 'Unknown Disc error '
013 'Frame not found. '
014 'Frame does not exist'
015 'PLR Type not avail. '
016 'Retry limit exceeded.'
017 'Function. Not Avail. '
018 'Unexpected Motion '
019 'Frame Prev. Recorded '
020 'Bad Video or Sync. '
021 'Missed Cut Out Adrss.'
022 'Missed Stop Address. '
025 'Switcher Non-Sync Err'
026 'Function Not Allowed '
027 'Play to Frame Error '
029 'No Tape in VCR '
030 'Power is Off '
246 'Bad ACK value. '
247 'No Address Code. '
248 'Serial timeout. '
249 'Disc Auto Play error.'
250 'Disc Search Errror. '
251 'Bad SMPTE Code. '
252 'No frame motion. '
253 'Bad Time Code '
'ERRF', allowed, 0, 255, 0,
Same as ERR?, but for some commands, also returns the frame number
at which the error happened.
'FFWD', allowed, 0, 4x10^6, 4x10^6,
Makes the VCR Fast Forward. Actually it is a SEEK to a very big frame.
'FIND', allowed, 0, 4x10^6, 0,
FIND subtracts the PROL value from the given frame number and causes a
SEEK to that frame while showing AUX Video. If it overshoots in a forward
direction, FIND will cause the tape to REWinD until the tape is at least
PROL frames before the target frame. FIND is NOT and exact positioning
command (See STIL). (* Not frame-accurate with AG-2560CL)
FIND usually precedes PLYB.
Example: 'FIND 1800; PLYB 1830' causes a SEEK to frame (1800 - PROL).
PLYB plays forward with Aux Video(AVID), turns on Tape Video(TVID) at
exactly frame 1800, stops the VCR and switches back to AVID at frame 1830.
'FRAM', allowed, 0, 4x10^6, 0,
Sets or Returns the current frame number in the format specified. Default format
is integer format. ‘FRAM:’ causes frame number to be returned in SMPTE
format HH:MM:SS:FF. 'FRAM : 01234511' sets the current frame to 01:23:45:11 in
preparation for the RECS command. Useful to synchronize the time code generator
to the current time of day. (* AG-2560CL reports BCD's internal counter or front-panel display numbers.)
'GENC', no arguments
GENerate Code. Turns on Time Code Generation.
Stop generation with STOP.
'GRUP', allowed, 0, 4x10^6, 0,
Assigns a deck to a group. Specifies a group to receive commands.
To assign decks 2, 4, and 6 to group 1:
DECK 2; GRUP 1; DECK 4; GRUP 1; DECK 4; GRUP 1
To play all of the decks in group 1:
GRUP 1; PLAY
'INIT', none, 0, 0, 0,
Plays the tape (with AVID) for 2 seconds and attempts to read VITC
time codes. If no valid code is found, error 253 is posted and may be
retrieved with the ERR? or STAT commands.
The typical initialization process is like this:
Command Comment
INIT you wait for the prompt
ERR? you ask if there are any errors
00000 deck reports no errors
The INIT command also searches the Vertical Blanking Interval for VITC.
If VITC is found, it sets the VITC reader to that video line and to that
video line + 2. To see the first line where the VITC was found, issue RLIN.
The RLIN response of E10 means that VITC read is enabled and that the first
VITC code was found on line 10.
See also RLIN, RLN2, WLIN, WLN2
'INPT', allowed, 0, 2, 0,
Selects which of the deck’s 3 inputs will be recorded.
0 = Tuner
1 = A1 (rear set of video/audio jacks)
2 = A2 (front set of video/audio jacks)
'LAST', none, 0, 0, 0,
Displays the previous 127 characters in the deck’s input buffer, most
recent at the bottom (last). Useful in determining what your program
actually sent to the deck.
'LEND', none, 0, 0, 0,
Terminates a LOOP command.
'LOOP', allowed, 0, 4x10^6, 1,
Performs a command or a series of commands several times. Terminated by
LEND.
LOOP 10000; FIND :1800; WAIT; PLYB 3600; LEND
will play from frame 1800 to frame 3600 ten thousand times. See also WAIT
& PLYB
'MOD0', allowed, 0, 4x10^6, 0,
(MOD zero) Adds the parameter to Register 0 (REG0). See also REG0
'MOD1', allowed, 0, 4x10^6, 0,
Adds the parameter to Register 1 (REG1) See also REG0
MODE, [Not available on AG-2560C]
'MOVE', none, 0, 0, 0,
Returns ‘,MOVE.’ if the tape is moving. Returns ‘,STOP.’ if the tape is
not moving (STOP or
PAUSE).
'OFST', allowed, 0, 4x10^6, 0,
Time Code Offset to accomodate tapes whose LTC was written on a different
machine. Default is 00. Not applicable on AG-2560C.
'PAUS', allowed, 0, 4x10^6, 0,
Causes the tape to Pause. If the tape is playing and currently at frame
1000, the command PAUS 2000 will cause the tape to pause at frame 2000.
PAUS 900 will cause Error Code 4, Argument Range error because it can’t
pause in front of where it is.
'PLAY', allowed, 0, 4x10^6, 4x10^6,
Makes the tape play. If the tape is at frame 1000, PLAY 2000 will cause
the tape to play until frame 2000 and then stop.
* 'PLYA', required, 0, 4x10^6, 4x10^6,
Plays audio only from the frame designated by FIND until the end frame
specified.
FIND 1000; PLYA 2000 plays audio only from frame 1000 to frame 2000.
See also PLYB.
* 'PLYB', required, 0, 4x10^6, 4x10^6,
Plays Both video and audio from the frame designated by FIND until the
end frame specified.
FIND 1000; PLYB 2000 plays video & audio from frame 1000 to frame
2000.
In the case above, the prompt () will return at the FIND frame (1000).
If you want the prompt to return at the end of the segment, modify PLYB
with the WAIT command.
FIND 1000; WAIT; PLYB 2000 will not return the prompt until the
tape reaches frame
2000. This is the usual method so that your program can tell when the
scene has finished.
* 'PLYV', required, 0, 4x10^6, 4x10^6,
FIND 1000; PLYV 2000 plays video only from frame 1000 to frame 2000.
See also PLYB.
'PROL', allowed, 0, 4x10^6, 0,
This the preroll number of frames used by FIND. Default is 5 seconds or
150 frames.
'RECS', allowed, 0, 4x10^6, 4x10^6,
Puts the deck in Record. RECS 2000 will record until frame 2000 and then
stop. The signal
that RECS records is determined by the INPT command (Tuner, A1, A2).
'REG0', allowed, 0, 4x10^6, 0,
(REG zero) A utility register useful for storing numeric values.
May be modified by the MOD0 command.
Example: You want to STIL for 1 second on all frames from 1000 to 2000.
REG0 1000
LOOP 1000; STIL REG0; TIME 10; MOD0 1; LEND
Here is what that means:
REG 0 1000 assigns 1000 to Register 0.
LOOP 1000 do the following 1000 times.
STIL REG0 STIL exactly at the frame number in REG0.
TIME 10 Wait for approx. 1 second.
MOD0 1 Add 1 to Register 0.
LEND Repeat the loop until 1000 iterations are complete.
'REG1', allowed, 0, 4x10^6, 0,
See REG0
'REJE', none, 0, 0, 0,
Causes the tape to Eject
'REWD', allowed, 0, 4x10^6, 0,
Causes the tape to rewind. See also FFWD.
'RLIN', allowed, 0, 20, 0,
Sets or displays the first VITC Time Code Read Line.
The command "RLIN 10 sets the read lines to 10 and 12 as per
SMPTE specifications. The AG-2560C will NOT read VITC on 2
adjacent lines.
RLIN $FF or RLIN 255 sets the reader to hunt for VITC.
If hunt is enabled, RLIN will return "EHUNT".
'RLN2', allowed 0, 20, 0
Sets or displays the second VITC read line.
The command "RLN2 15 sets the second read line to 15, REGARDLESS
of what the first RLIN line was. Always be certain that the RLN2 number
is set greater than the RLIN number!
The AG-2560C will NOT read VITC on 2 adjacent lines.
'SADD', none, 0, 0, 0,
Displays the Stop Address used by FIND.
'SEEK', required, 0, 4x10^6, 0,
Causes FFWD or REWD to the specified frame number. Stops the tape when
that frame is reached. Tape will overshoot forward or backward depending
on the direction. SEEK does NOT subtract PROL as does FIND. One
advantage to SEEK in a program is that the prompt returns immediately;
therefore FRAM can be issued by your program during SEEK, but you the
programmer, are responsible for any overshoot. (* Not frame-accurate with
AG-2560CL).
'SRCH', allowed, 0, 10, 0,
Causes variable speed search, forward or backwards.
SRCH - 10 is max search reverse. (Search minus 10)
SRCH -5 is approx. PLAY reverse.
SRCH 0 is similar to pause.
SRCH 5 is PLAY
SRCH 10 is max search forward.
'SROL', allowed, 0, 4x10^6, 0,
Used by STIL. Designates how many frames before the target shall the VCR
go into slow/step mode before pausing.
'STA2', none, 0, 0, 0, (Version 50a-0319)
Used to check several variables with one command.
Returns frame, move, mode, vbit, error.
The responses are all on one line, separated by commas, and terminated
by CR LF.
'STAT', none, 0, 0, 0,
Used to check several variables with one command.
CMMD,00000,MOVE.
123456, 65535
CMMD = the last command issued
00000=error code
,MOVE.(,STOP.)=tape moving or not moving
12345=current frame number(FRAM)
65535=current Tape ID number(TPID, not used)
NOTE: ‘STAT:’ will return the numbers in SMPTE format
'STEP', allowed, 0, 4x10^6, 1,
Cause the tape to single-step (frame advance/frame reverse) one or more
frame numbers. STEP-10 will step backwards 10 frames.
* 'STIL', required, 0, 4x10^6, 0,
Causes the tape to pause/still on exactly the frame specified.
'STOP', allowed, 0, 4x10^6, 0,
Causes the tape to stop immediately or on the frame specified.
'TALK', allowed, 0, 2, 1,
Controls whether the machine returns messages or not. Default is TALK 1.
TALK 0 causes NO RESPONSE to be sent from the deck unless that deck is
specifically addressed with the DECK command.. TALK 2 will send NO
CHARACTERS AT ALL.
'THRD', allowed, 0, 1, 0,
Keeps the tape threaded during FIND. Causes the deck to use
search/shuttle instead of FFWD/REWD. Causes pause with visible picture at
end of FINDxxx;PLYByyy instead of STOP.
'TIME', required, 0, 65535, 0,
Time delay. Each unit of TIME is approx. 0.1 seconds. TIME 10 is about 1
second.
'TPID', allowed, 0, 65535, 0,
Not Implemented - See UBIT, VBIT
Sets or displays the Tape ID number. Use TPID xxxx before RECS or WRGO to
assign a Tape ID number to be written in the Time Code.
'TRAK', none, 0, 0, 0,
Engages the deck’s ‘auto tracking’ feature.
'TSPD', 2 or 6, 2, 6, 2,
Default is ‘2’. ‘TSPD 6’ is required if tape speed is changed to EP mode.
Otherwise, time code goes too fast.
* 'TVID', none, 0, 0, 0,
Switches the Video Out to display off-tape video or loop-through video
from the input source. See also AVID.
* 'UBIT', allowed, 0, 8 hex digits, 0,
Sets the SMPTE user bits to be recorded in the Time Code.
Syntax: UBIT HHHHHHHHH where H is a hex digit from 0 to F. All 8
places must be used.
Example: UBIT 1F2A3B4C
Note: UBIT displays what is being written. To read user bits, see
VBIT.
* VBIT 0,1,0
VBIT is normally a read only command.
VBIT with no parameter returns the User Bits to the computer as
8 digits. VBIT 1 causes the userbits to be displayed in the video
overlay if the overlay is turned on. Use VBIT 0 to return the overlay
to time code display.
'VERS', none, 0, 0, 0,
Displays the Contro ROM version and copyright information.
'VFST', allowed, 0, 4x10^6, 0,
VITC Offset. See also OFST.
'VINI', none, 0, 0, 0,
Reads all possible VITC lines (10 - 20) and returns the numbers of those
lines where valid VITC was found. Tape must ALREADY be in PLAY for VINI to work.
'WAIT', none, 0, 0, 0,
Modifies PLYB, PLYA, PLYV so the prompt () does not return until the end
of the video segment.
'WLIN', allowed, 0, 0, 0,
Displays the first VITC write line or sets the 2 VITC write lines.
VITC is written on lines 10 and 12 by default.
Example: WLIN 13 will set lines 13 and 15 as the write lines.
SMPTE requires that the 2 VITC lines be non-adjacent.
'WLN2', allowed, 0, 0, 0,
Sets only the second VITC write line. The WLN2 value should always be at
least 2 greater than the WLIN value. Always set WLIN before setting WLN2.
If you set WLIN to 15 and you set WLN2 to 16, the unit will NOT WRITE.
SMPTE requires that the 2 VITC lines be non-adjacent.
'WRIT', none, 0, 0, 0,
Prepares to write Time Code. Rewinds the tape to its beginning,
sets BCD’s counters and the VCR’s counter to zero.
'ZERO', none, 0, 0, 0,
Sets BCD’s counters and the VCR’s counter to zero.
Note: VCR counter CANNOT be set by BCD and does NOT reflect actual tape
Time Code frame numbers!
IR Remote Commands
All commands available on the infrared remote controller (VEQ1641) are
also available through the BCD controller via the ICMD command.
Definitions of these commands are in the Panasonic AG-2450 Manual.
Syntax : ICMD xx where ‘x’ is the number of the command as shown below.
Example: ICMD 1 makes the VCR play.
0 Stop
1 Play
2 Ffwd
3 Rewd
4 Pause
5 Power
6 Record
7 Channel Up
8 Channel Down
9 Display
10 Index (left arrow)
11 Index (right arrow)
12 Prog/Check
13 Menu
14 Clear
15 Arrow Up
16 Arrow Down
17 Arrow Left
18 Arrow Right
19 Enter
20 Timer Rec
21 OSD
22 Speed
23 Audio Out
24 VTR/TV
25 Input Select
26 Reset
27 Zero Stop
28 Tracking -
29 Tracking +
30 Auto Tracking
# # # END OF FILE # # #