Once you managed to get a RS-232 connection between computer and tape recorder working, you can start the communication from within your terminal program. The communication between the computer (controller) and the tape recorder is a master-slave protocol. The controller is the master and takes initiative in the communication. The controller sends commands to the recorder, the recorder will respond to these commands. Responses come in the form of information in your terminal screen (e.g. after command SD?, show software date) or in the form of an action (e.g. after command PLY the recorder will start playing).
The communication between the tape recorder and the computer is implemented through ASCII coded strings of variable length. A command is always composed of the following ASCII characters: The capital characters A thru Z, the question mark, a space, digits 0 thru 9. You can simply enter these characters in your terminal screen using your keyboard. Additionally, there are 5 special control characters:
CR - Character code 0D hex, a Carriage Return sign.
LF - Character code 0A hex, a Line Feed sign.
CX - Character code 18 hex, a reset sign (use Ctrl-x in a terminal)
XOFF - Character code 13 hex, meaning transmission off.
XON - Character code 11 hex, meaning transmission on.
When working with a terminal program you can send a CR sign by pressing the Enter key. In some
terminal programs pressing Ctrl-m will work too. The recorder will mostly respond with signs
CR and LF. In your terminal screen you will see the cursor move to the beginning of the next
line, indicating it received a carriage return and a line feed.
Sign CX will reset the communication with the recorder to initial state. Depending on your terminal
program, press Ctrl-x to send this sign (or an alternative from your terminal program).
Signs XON and XOFF are meant for software flow control to prevent communication going too fast
causing overflows. Using a terminal program you will hardly ever need these signs. Modern computers
are fast enough to handle incoming data from the recorder, and the recorder is fast enough to
handle your typing speed. Should you feel inclined to prove otherwise, most terminal programs allow
you to send XOFF by pressing Ctrl-s and XON by pressing Ctrl-q.
All commands have a length of max. 3 characters and are usually terminated by a ‘CR'. Commands with parameters will vary in length. The additional characters (parameters) are inserted between the command and ‘CR'. The parameters are separated by blanks or colons. There are a few exceptions: commands that do not have a terminating character. Please refer to the individual command description for the syntax of each command. The recorder uses the sequence 'CR LF' as an acknowledge message or to terminate an answer string.
An example of a command: WNF 0400 CR
In this example WNF is the command (for controlled wind forward) and 0400 is a parameter,
indicating 4 times nominal speed. In your terminal screen you type WNF 0400 and press
the Enter key to send the terminating CR sign.
The recorder answers with a CR LF sequence that moves the cursor in your terminal screen
to the beginning of the next line, and it will start to wind forward at the chosen speed.
Not all commands listed below work with all recorders. If the recorder receives a command
that it cannot handle it will respond with a question mark.
When using a terminal program, the recorders’ serial interface can operate in 'echo mode’.
In this mode, a copy of each incoming character is echoed back to the controller/computer,
and a prompt sign '>' is sent after the answer string. Echo mode on/off can be
set via the recorder menu.
The command set available for a particular tape deck depends on model, version and the software
version of the tape deck. Whereas model and version will be known, the actual software version
will be shown as a 4-digit number in the display of the tape recorder immediately after switching on.
Number 4690 means it has the software version released in week 46 of year 1990. The software may have
been updated in the course of the recorders lifetime.
Depending on your particular machine, commands listed may or may not be available to your machine.
In the latter case you will receive an error message '?'. Additionally, your model may support
commands not listed here. Some experimenting may prove useful.
Machine families are given as 3 letter codes:
Commands may have required and optional parts, as shown in the input and output columns. Required arguments are shown between square brackets, e.g. '[ ,CR]'. Optional arguments are shown between parenthesis like this: '( 0 <= xxxx <= 5FFFh )'.
Availability of a command is shown as a dash (not implemented) or an 'x' (implemented in at least one version of this machine family).
Command 27n 807 810 812 820 816 Input Output Meaning
STP x x x x x x STP [ ,CR] CR LF Stop
EDI x - - x x x EDI [ ,CR] CR LF Edit
PLY x x x x x x PLY [ ,CR] CR LF Play
RPL x - - x x x RPL [ ,CR] CR LF Reverse play
REC x x x x x x REC [ ,CR] CR LF Record
FWD x x x x x x FWD [ ,CR] CR LF Fast forward
RWD x x x x x x RWD [ ,CR] CR LF Fast rewind
WNR speed - x - x x - WNR [ ] nnnn CR LF Controlled rewind
- - - - - x WNR [ ] nnnn [ ,CR] CR LF 0000 ≤ nnnn ≤ 5FFFh
WNF speed - x - x x - WNF [ ] nnnn CR LF Controlled fast forward
- - - - - x WNF [ ] nnnn [ ,CR] CR LF 0000 ≤ nnnn ≤ 5FFFh
TPL - - x - - - TPL [ ,CR] CR LF Tape load
TPN x - - - - - TPN [ ,CR] CR LF Tape dump on
TPF x - - - - - TPF [ ,CR] CR LF Tape dump off
F x - x - - - F [ ,CR] Forward by synchronizer (needs ESY)
R x - x - - - R [ ,CR] Rewind by synchronizer (needs ESY)
SHS x - x - - - SHS [ ,CR] CR LF Set high speed (2 speeds only)
SLS x - x - - - SLS [ ,CR] CR LF Set low speed (2 speeds only)
SSA - x - x x x SSA [ ,CR] CR LF Set play speed A (3.75 ips)
SSB - x - x x x SSB [ ,CR] CR LF Set play speed B (7.50 ips)
SSC - x - x x x SSC [ ,CR] CR LF Set play speed C (15 ips)
SSD - x - x x x SSD [ ,CR] CR LF Set play speed D (30 ips)
SVP - - - x x x SVP [ ] nnnnnn [ ,CR] CR LF Set varispeed parameter, refers to
nominal play speed. Valid values
are 00A5FE ≤ nnnnnn ≤ 018ACE
Nominal fixed speed is 010000
NS? x - - - - - NS? [ ,CR] nn CR LF Current play speed is?
nn = 03-05 for 3.75-15 ips
- x x - - x NS? [ ,CR] nn CR LF nn = 00-03 for 3.75-30 ips
- - - x x - NS? [ ,CR] nn IPS CR LF nn = 3.75, 7.5, 15 or 30
VS? - - - x x x VS? [ ,CR] nnnnnn CR LF Current varispeed is?
Values 00A5FE ≤ nnnnnn ≤ 018ACE
Nominal fixed speed is 010000
SVS x - x x x x SVS [ ,CR] CR LF Set varispeed on
CVS x - x x x x CVS [ ,CR] CR LF Set varispeed off
VEN - x - x x x VEN [ ,CR] CR LF External varispeed on
VEF - x - x x x VEF [ ,CR] CR LF External varispeed off
FEN x x - x x x FEN [ ,CR] CR LF Enable fader
FEF x x - x x x FEF [ ,CR] CR LF Disable fader
EDT - x x x x x EDT [ ,CR] CR LF Lifter mode on, tape on heads
LFT - x x x x x LFT [ ,CR] CR LF Lifter mode off, tape not on heads
LFN - x x x x x LFT [ ,CR] CR LF Lifter mode on, audio muted;
Corresponds lifter A
LOC addr - x x - - - LOC (-)hh:mm:ss CR LF Locate to address hh:mm:ss
x - - - - - LOC (-)hh:mm:ss CR CR LF
- - - x x - LOC (-)hh:mm:ss:nn CR LF nn = hundredths of seconds
- - - - - x LOC (-)hh:mm:ss:n CR CR LF n = decimals
LMV addr x x - - - - LMV xxxxxx CR CR LF Locate move roll (3 bytes hex)
- - x - - - LMV xxxxxx CR LF
- - - x x - LMV xxxxxxxx CR LF Locate move roll (4 bytes hex)
- - - - - x LMV xxxxxxxx CR CR LF
ZLO - - - x x x ZLO [ ,CR] CR LF Locate to zero
LZA x - - - - - LZA [ ,CR] CR LF Locate to zero
LAD x - - - - - LAD [ ,CR] CR LF Locate to address 1
LA? x - - - - - LA? [ ,CR] (-)hh:mm:ss CR LF Locate address 1 is?
LOP x - - - - - LOP [ ,CR] CR LF Auto loop 0000-loc 1 address
MV? x x x - - - MV? [ ,CR] xxxxxx CR LF Move roll counter is?
- - - x x - MV? [ ,CR] xx xx xx CR LF
- - - - - x MV? [ ,CR] xxxxxxxx CR LF
STM addr - x x - - - STM (-)hh:mm:ss CR LF Set timer to address
x - - - - - STM (-)hh:mm:ss CR CR LF
- - - x x - STM (-)hh:mm:ss:d CR LF
- - - - - x STM (-)hh:mm:ss:d CR CR LF
RTI - - - x x x RTI [ ,CR] CR LF Reset timer
RTM x - - - - - RTM [ ,CR] CR LF Reset timer
TRA x - - - - - TRA [ ,CR] CR LF Copy timer to locate 1 address
SLA x - - - - - SLA (-)hh:mm:ss CR CR LF Set locate 1 address to hh:mm:ss
TM? x x x - - - TM? [ ,CR] hh:mm:ss CR LF Timer is?
- - - x x x TM? [ ,CR] hh:mm:ss:d CR LF
DST - x x - - - DST [ ,CR] CR LF Enter status display mode
hh:mm:ss,x (exit this mode with CX)
status..achieved
- - - x x x DST [ ,CR] CR LF Enter status display mode
hh:mm:ss:x..nn (exit this mode with CX)
status..achieved nn = status of ST?
ST? x x x x x x ST? [ ,CR] nn CR LF Tape deck status is?
- - x - - - 00=tape out
x x - x x x 01=tape out
x x - x x x 81=tape out achieved
- - x - - - 02=tape dump
x x - x x x 02=stop
- - x - - - 82=tape dump achieved
x x - x x x 82=stop achieved
x x x x x x 03=rewind
x x x x x x 83=rewind achieved
- - x - - - 04=stop
x x - x x x 04=forward
- - x - - - 84=stop achieved
x x - x x x 84=forward achieved
x x x x x x 05=play
x x x x x x 85=play achieved
- - x - - - 06=rewind achieved
x x - x x x 86=play vari achieved
- - - x x - 07=play int ref
- - - x x - 87=play int ref achieved
- - x - - - 08=forward
x x - x x x 08=play ext ref
- - x - - - 88=forward achieved
x x - x x x 88=play ext ref achieved
x x - x x x 09=rec or rehearse rec
x x - x x x 89=rec/rehearse rec achieved
- - x - - - 0A=play
- - x - - - 8A=play achieved
x - - x x x 0B=edit
x - - x x x 8B=edit achieved
- - x - - - 0C=record
x - - - - - 0C=play fader
- - x - - - 8C=record achieved
x - - - - - 8C=play fader achieved
- - x - - - 10=locate wind
- - x - - - 12=locate play
- x - x x x 25=reverse play
- x - x x x A5=reverse play achieved
- - - x x x 26=reverse play vari
- - - x x x A6=reverse play vari achieved
- - - - x x 27=rev play int ref
- - - - x x A7=rev play int ref achieved
- - - - x x 28=rev play ext ref
- - - - x x A8=rev play ext ref achieved
- - - - x x 29=rev rec or reh rev rec
- - - - x x A9=rev rec or reh rev rec achieved
- x - x x x 40=shuttle reverse
- x - x x x C0=shuttle reverse achieved
- x - x x x 41=shuttle forward
- x - x x x C1=shuttle forward achieved
x x x x x x 42=locate rewind
x x x x x x C2=locate rewind achieved
x x x x x x 43=locate forward
x x x x x x C3=locate forward achieved
x - - - - - 45=locate play forward
x - - - - - C5=locate play forward achieved
x - - x x x 46=cueing reverse
x - - x x x C6=cueing reverse achieved
x - - x x x 47=cueing forward
x - - x x x C7=cueing forward achieved
x - - - - - 48=position play reversed
x - - - - - C8=position play rev achieved
- x x x x x 4A=rewind controlled
- x x x x x CA=rewind controlled achieved
- x x x x x 4B=wind forward controlled
- x x x x x CB=wind forward controlled achieved
- - - - - x 4C=rewind sht dev
- - - - - x CC=rewind sht dev achieved
- - - - - x 4D=wind forward sht dev
- - - - - x CD=wind forward sht dev achieved
x x x x x x 59=tape dump
x x x x x x D9=tape dump achieved
- - - x x x 5A=cut
- - - x x x DA=cut achieved
- - - x x x DD=burn in achieved
LS? x - - - - - LS? [ ,CR] nn CR LF Locator status is?
x - - - - - 00=not locate
x - - - - - 01=zero locate
x - - - - - 02=address locate
x - - - - - 03=search
x - - - - - 04=auto loop
x - - - - - 05=auto reverse
x - - - - - 10=auto rewind
x - - - - - 20=play preselected
PR? - - x - - - PR? [ ,CR] Y/N CR LF Is pressure possible?
CS? - - x - - - CS? [ ,CR] Y/N CR LF Is capstan in sync?
TP? - - - x x x TP? [ ,CR] aabbccddeeff Tape tension parameter is?
gghhiijjkkll CR LF
tape width 1/4":
aa: tension play l
bb: tension play r
cc: tension wind
dd: tension edit
ee: tension rev play l
ff: tension rev play r
tape width 1/2":
gg: tension play l
hh: tension play r
ii: tension wind
jj: tension edit
kk: tension rev play l
ll: tension rev play r
DCD DCD [ ,CR] CR LF Display capstan deviation
- - - x x - nnnn Deviation
- - - - - x CAP nnnn 8800h = nom. 9.525 cm/s
- - - - - x 9000h = nom. 19.05 cm/s
- - - - - x A000h = nom. 38.1 cm/s
- - - - - x C000h = nom. 76.2 cm/s
- - - x x - 0800h = nom. 3.75 ips
- - - x x - 1000h = nom. 7.5 ips
- - - x x - 2000h = nom. 15 ips
- - - x x - 4000h = nom. 30 ips
Exit with CX
SP? - - - - - x SP? [ ,CR] xx CR LF Number of splices?
DSN - - - - - x DSN [ ,CR] SPLICE yy:yy:yy:y Display splice number
resp. resp. takes at leader stop
TAKE xx yy:yy:yy:y xx = nr of splices resp.
takes since leader stop
updated after each event
DSF - - - - - x DSF [ ,CR] CR LF Display of splice number
resp. nr of takes since stop
Command 27n 807 810 812 820 816 Input Output Meaning
SMN - - x x x x SMN [ ,CR] CR LF Set mono (only with m/s switch)
SST - - x x x x SST [ ,CR] CR LF Set stereo (only with m/s switch)
ION - x - - - - ION [ ,CR] CR LF Insert on (set mono)
IOF - x - - - - IOF [ ,CR] CR LF Insert off (set stereo)
SNB - x x x x x SNB [ ,CR] CR LF Set NAB equalization
SCR - x x x x x SCR [ ,CR] CR LF Set CCIR equalization
STA - x - x x x STA [ ,CR] CR LF Set tape sort A
STB - x - x x x STB [ ,CR] CR LF Set tape sort B
MSN - - - x x x MSN [ ,CR] CR LF Master safe on
MSF - - - x x x MSF [ ,CR] CR LF Master safe off
SRH - x x x x x SRH [ ,CR] CR LF Rehearsal mode on
- - - x x x only with dropin/out delay on
CRH - x x x x x CRH [ ,CR] CR LF Rehearsal mode off
DDN - - - x x x DDN [ ,CR] CR LF Drop in/out delay on
DDF - - - x x x DDF [ ,CR] CR LF Drop in/out delay off
AA? x x x x x x AA? [ ,CR] aabbccdd CR LF Channel 1..8 status is?
x x x x x x aa: 0 = safe
x x x x x x 1 = ready/rec
x x x x x x bb: 0 = tape MSB(xx) : channel 8
x x x x x x 1 = input LSB(xx) : channel 1
x x x x x x cc: 0 = rep
x x x x x x 1 = sync
- x x x x x dd: 0 = demute xx = aa .. dd
- x x x x x 1 = mute
x - - - - - dd(h) = xxxxxxxx
x - - - - - xxxxxxxy y: 0/1 = mic/line
x - - - - - xxxxxxyx y: 0/1 = uncal/cal input
x - - - - - xxxxxyxx y: 0/1 = uncal/cal output
x - - - - - xxxxyxxx y: 0/1 = slow/fast
x - - - - - xxxyxxxx y: 0/1 = varispeed off/on
x - - - - - xxyxxxxx y: 0/1 = c_track off/on
REA i x x x x x x REA i [ ,CR] CR LF Set channel i to ready
- - x - - - i = 1,2,3
- - - x x - i = 1,2,3,F E = tc channel
x - - - - - i = 1,2,F F = all channels
- x - - - - i = 1,2,3,4,E,F
x - - - - - i = 1..8,F
- - - - - x i = 1,2,E,F
SAF i x x x x x x SAF i [ ,CR] CR LF Set channel i to safe
- - x - - - i = 1,2,3
- - - x x - i = 1,2,3,F E = tc channel
x - - - - - i = 1,2,F F = all channels
- x - - - - i = 1,2,3,4,E,F
x - - - - - i = 1..8,F
- - - - - x i = 1,2,E,F
INP i x x x x x x INP i [ ,CR] CR LF Set channel i to input
- - x - - - i = 1,2,3
- - - x x - i = 1,2,3,F E = tc channel
x - - - - - i = 1,2,F F = all channels
- x - - - - i = 1,2,3,4,E,F
- - - - - x i = 1,2,E,F
INP x - - - - - INP [CR] CR LF Set all channels to input
SYN i x x x x x x SYN i [ ,CR] CR LF Set channel i to synchronize
- - x - - - i = 1,2,3
- - - x x - i = 1,2,3,F E = tc channel
x - - - - - i = 1,2,F F = all channels
- x - - - - i = 1,2,3,4,E,F
- - - - - x i = 1,2,E,F
SYN x - - - - - SYN [CR] CR LF Set all channels to sync
REP i x x x x x x REP i [ ,CR] CR LF Set channel i to reproduce
- - x - - - i = 1,2,3
- - - x x - i = 1,2,3,F E = tc channel
x - - - - - i = 1,2,F F = all channels
- x - - - - i = 1,2,3,4,E,F
- - - - - x i = 1,2,E,F
REP x - - - - - REP [CR] CR LF Set all channels to reproduce
MTN i - x x x x x MTN i [ ,CR] CR LF Mute channel i
- - x - - - i = 1,2 E = tc channel
- - - x x - i = 1,2,F F = all channels
- x - - - - i = 1,2,3,4,F
- - - - - x i = 1,2,E,F
MTF i - x x x x x MTF i [ ,CR] CR LF Channel i mute off
- - x - - - i = 1,2 E = tc channel
- - - x x - i = 1,2,F F = all channels
- x - - - - i = 1,2,3,4,F
- - - - - x i = 1,2,E,F
MAN - - x - - - MAN [ ,CR] CR LF Both channels mute on
MAF - - x - - - MAN [ ,CR] CR LF Both channels mute off
MU? - - - x x x MU? [ ,CR] CR LF Mute status is?
b0/b1: 1 = mute on
SAP - x x x x x SAP i,j,xx [ ,CR] CR LF Set audio parameter
i,j,xx i=channel (1 or 2) Write in DAC's and store
j=D/A converter:
- x x x x x 0=level repro/sync
- x x x x x 1=treble repro/sync
- - x x x x 2=bass repro/sync
- - x x x x 3=eq. repro/sync
- x x x x x 4=level record
- x x x x x 5=treble record
- x x x x x 6=bias record
- - x x x x 7=eq. record
- - - x x x 8=erase current level (MkII only)
- - - x x x 9=skimming bias level (MkII only)
xx=hex value 00-FF
PAP - x x x x x SAP i,j,xx [ ,CR] CR LF Preset audio parameter
i,j,xx - x x x x x SAP i,j [ ,CR] CR LF Cancel preset audio parm
i=channel (1 or 2) Write in DAC's and store
j=D/A converter:
- x x x x x 0=level repro/sync
- x x x x x 1=treble repro/sync
- - x x x x 2=bass repro/sync
- - x x x x 3=eq. repro/sync
- x x x x x 4=level record
- x x x x x 5=treble record
- x x x x x 6=bias record
- - x x x x 7=eq. record
- - - x x x 8=erase current level (MkII only)
- - - x x x 9=skimming bias level (MkII only)
xx=hex value 00-FF
CAB speed - - - x x x CAB speed[ ,CR] CR LF Copy repro/sync parameter
speed - 1..3 tape sort A to B
1=7.5, 2=15, 3=30ips
VAB speed - - - x x x VAB speed[ ,CR] xx CR LF Verify repro/sync parameter
speed - 1..3 compare tape sort A to B
1=7.5, 2=15, 3=30ips xx: 00=failed, 01=success
AP? i,j - x x x x x AP? i,j[ ,CR] xx CR LF Audio parameter is?
i=channel (1 or 2)
j=D/A converter:
- x x x x x 0=level repro/sync
- x x x x x 1=treble repro/sync
- - x x x x 2=bass repro/sync
- - x x x x 3=eq. repro/sync
- x x x x x 4=level record
- x x x x x 5=treble record
- x x x x x 6=bias record
- - x x x x 7=eq. record
- - - x x x 8=erase current level (MkII only)
- - - x x x 9=skimming bias level (MkII only)
xx=hex value 00-FF
TS? - - - x x x TS? [ ,CR] xx CR LF Tape sort is?
xx=00 for tape A
xx=01 for tape B
EQ? - - - x x x EQ? [ ,CR] xx CR LF Equalization norm is?
xx=00 for CCIR
xx=01 for NAB
MIC x - - - - - MIC [ ,CR] CR LF Set mic on
LIN x - - - - - LIN [ ,CR] CR LF Set line on
CON x - - - - - CON [ ,CR] CR LF Set calibrate output on
COF x - - - - - COF [ ,CR] CR LF Set calibrate output off
CIN x - - - - - CON [ ,CR] CR LF Set calibrate input on
CIF x - - - - - COF [ ,CR] CR LF Set calibrate input off
CC? - - - x x x CC? [ ,CR] aa CR LF Channel configuration is?
aa=no. of channels in hex
Command 27n 807 810 812 820 816 Input Output Meaning
STD yy x - - - - - STD yy[ ,CR] CR LF Set time code data
y: C=real time
T=clock time
D=date
K=code
-=nothing
yy=CC Record real time counter
yy=TT Record clock time
yy=DD Record date
yy=KK Record code
yy=CT Record real time + clock time
yy=CC Record clock time + real time
CD? x - - - - - CD? [ ,CR] y (-)d (y (-)d) CR Read corrected data from tape
y: C=real time
T=clock time
D=date
K=code
d: hh:mm:ss counter,time
DD:MM:YY date
xxxxxx code
C (-)hh:mm:ss CRLF Real time counter on tape
D DD.MM.YY T hh:mm:ss CR LF Date + clock time on tape
K xxxxxx CR LF Code on tape
- CR LF No data on tape
UD? x - - - - - UD? [ ,CR] y (-)d (y (-)d) CR Read uncorrected data from tape
y: C=real time
T=clock time
D=date
K=code
d: hh:mm:ss counter,time
DD:MM:YY date
xxxxxx code
C (-)hh:mm:ss CRLF Real time counter on tape
D DD.MM.YY T hh:mm:ss CR LF Date + clock time on tape
K xxxxxx CR LF Code on tape
- CR LF No data on tape
ER? x - - - - - ER? [ ,CR] xxxxxx yyyy CR LF Recording errors?
xxxxxx=No. of recorded data sets
yyyy=Total number of errors
TD? x - - - - - TD? [ ,CR] y (-)d (y (-)d) CR Selected time code data?
y: C=real time
T=clock time
D=date
K=code
d: hh:mm:ss counter,time
DD:MM:YY date
xxxxxx code
C (-)hh:mm:ss CRLF Real time counter selected
D DD.MM.YY T hh:mm:ss CR LF Date + clock time selected
K xxxxxx CR LF Code selected
- CR LF No selected data
SAC x - - - - - SAC [ ,CR] CR LF Set search algorithm for recording
SAL x - - - - - SAL [ ,CR] CR LF Set search algorithm for logging apps
JCL time x - - - - - JCL hh:mm:ss[ ,CR] CR LF Search clock time
JCM addr x - - - - - JCM hh:mm:ss[ ,CR] CR LF Search real time counter
JCD addr x - - - - - JCD hh:mm:ss[ ,CR] CR LF Search clock time and date
JTD addr x - - - - - JTD hh:mm:ss[ ,CR] CR LF Search real time counter and date
TDN - - x x x - TDN [ ,CR] CR LF Time code delay on, left+right active
TDF - - x x x - TDF [ ,CR] CR LF Time code delay off, right TC active
TH? - - x x x x TH? [ ,CR] xx CR LF Time code reading head no. is?
TC? x x x x x x TH? [ ,CR] [Y,N] CR LF Is time code present on tape?
TCN - x - - - - TCN [ ,CR] CR LF Set time code delay active
TCF - x - - - - TCF [ ,CR] CR LF Set time code delay bypassed
TV? x - - - - - TV? [ ,CR] [Y,N] CR LF Verify time code
SCO code x - - - - - SCO xxxxxx [ ,CR] CR LF Set code at xxxxxx
CO? x - - - - - CO? [ ,CR] xxxxxx CR LF Code is?
CTN x - - - - - CTN [ ,CR] CR LF c_track on
CTF x - - - - - CTF [ ,CR] CR LF c_track off
TO? - - - - - x TO? [ ,CR] [Y,N] CR LF Time code option is?
SCK time x - x - - - SCK hh:mm:ss [ ,CR] CR LF Set clock at hh:mm:ss
CL? x - x - - - CL? [ ,CR] CR LF Clock is?
Command 27n 807 810 812 820 816 Input Output Meaning
LOF - - - - - x LOF xx[ ,CR] CR LF Set leader offset (00-FF hex)
LO? - - - - - x LO? [ ,CR] xx CR LF Leader offset is? (00-FF hex)
CAY - - - - - x CAY [ ,CR] CR LF Calibrate tape colour
YT? - - - - - x YT? [ ,CR] xx CR LF Tape colour is?
xx: 0/1 = magnetic/blank
SCP - - - - - x SCP [ ,CR] CR LF Start control on (play)
SCL - - - - - x SCL [ ,CR] CR LF Start control off (locate)
SC? - - - - - x SC? [ ,CR] xx CR LF Start control?
xx: 0/1 = inactive/active
LEN - - - - - x LEN [ ,CR] CR LF Set leader mode on
LEF - - - - - x LEF [ ,CR] CR LF Set leader mode off
LE? - - - - - x LE? [ ,CR] xx CR LF Leader mode is?
xx: 0/1 = off/on
VLN - - - - - x VLN [ ,CR] CR LF Vertical lifter on
VLF - - - - - x VLF [ ,CR] CR LF Vertical lifter off
VL? - - - - - x VL? [ ,CR] xx CR LF Vertical lifter is?
xx: 0/1 = inactive/active
Command 27n 807 810 812 820 816 Input Output Meaning
LCD x x x x x x LCD [ ,CR] CR LF Local keyboard disabled
LCE x x x x x x LCE [ ,CR] CR LF Local keyboard enabled
RMD x - - x x x RMD [ ,CR] CR LF Remote keyboard disabled
RME x - - x x x RME [ ,CR] CR LF Remote keyboard enabled
CFA - - - - - x CFA [ ,CR] CR LF Set standard key configuration
CFB - - - - - x CFB [ ,CR] CR LF Set broadcast key configuration
CF? - - - - - x CF? [ ,CR] aa CR LF Current key configuration is?
aa: 0/1=standard/broadcast config
SPA - - - x x x SPA [ ,CR] CR LF Save au+td parameters (recommended way to save all settings)
LPA - - - x x x LPA [ ,CR] CR LF Load au+td parameters (recommended way to restore all settings)
SCF - - - x x x SPA [ ,CR] CR LF Save key configuration
LCF - - - x x x LPA [ ,CR] CR LF Load key configuration
SMD - - - - - x SMD [ ,CR] CR LF Save function modes + addresses
LMD - - - - - x LMD [ ,CR] CR LF Load function modes + addresses
QSL - - - x x x QSL [ ,CR] CR LF Quit save/load process; if SL? state
is 1, 2 or 4 this command is lost
SL? - - - x x x SL? [ ,CR] xx CR LF Process state on save/load config is?
xx:00h=no process
01h=saving
02h=loading
03h=verifying
04h=saving done
05h=loading done
06h=verifying done
07h=saving failed
08h=loading failed
09h=verifying failed
0Ah=loading awaited
0Bh=verifying awaited
0Ch=no data found
0Dh=wrong data set load
0Eh=wrong data set verify
SMA - - x - - - SMA nnnnnn [ ,CR] CR LF Set machine serial number
MA? - - x - - - MA? [ ,CR] nnnnnn CR LF Machine serial number is?
SBA addr - - - x x x SBA xxxx[ ,CR] CR LF Set bus address (8280-FFFF)
BA? - - - x x x BA? [ ,CR] xxxx CR LF Bus address is? (8280-FFFF)
SDN x - - - - - SDN xx [ ,CR] CR LF Set device number
DN? x - - - - - SDN [ ,CR] xx CR LF Device number is?
SD? x x x x x x SD? [ ,CR] DD.MM.YY Software date is?
00.WW.YY DD.MM.YY = sw not released
00.WW.YY = week/year sw released
SDA date x - - - - - SDA DD.MM.YY[ ,CR] CR LF Set date to DD.MM.YY
DA? x - - - - - DA? [ ,CR] DD.MM.YY CR LF Current date is?
MK? - - - x x x MK? [ ,CR] aa CR LF Mark no. of software is?
aa: 00,01,? = mark I
aa: 02 = mark II
MT? - x x x x x MT? [ ,CR] aa CR LF Machine type is?
aa: 01=A820, 02=A812,
03=A820MCH, 04=A827MCH,
05=A807, 06=A816, 07=A810
x - - - - - MT? [ ,CR] aaaa CR LF C270, C274 or C278
ESY x x x - - - ESY [ ,CR] CR LF Enable synchronizer
DSY x x x - - - DSY [ ,CR] CR LF Disable synchronizer
The microprocessor and peripherals that control your tape recorder are from Motorola's A6800 family
of microprocessor chips. Some of the commands and formats known from this Motorola CPU-family made
their way to the tape recorders. Especially the A810 supports a number of these commands, but other
models and/or software versions seem to support some of these as well.
These commands allow you to access the recorders RAM and therefore can be used for backing up,
restoring and documenting audio settings.
Command Input Output Meaning
D (display) D start end CR Formatted hex dump Display RAM content from start adress (hex)
to end address (hex). See example below.
P (punch) P start end CR Exorcisor format dump Write RAM content starting at (address in hex)
to end address (in hex) in Motorola Exorcisor
format to the terminal. See example below.
L (load) L data CR CR LF Load RAM-data in Exorcisor format to recorder.
S (save) S CR data CR LF Save RAM-data in Exorcisor format to computer.
UAP UAP addr value CR CR LF Update audio parameter at hex address with
hex value.
Commands D and P can be used to access the content of RAM. The parameter range, where all settings are stored, starts at decimal address 264 (108 in hex). So for both D and P the starting address should be 108. The end address must be given in hexadecimal. In order to access the full parameter range it should be at least 26F. With an A810 connected sending command D 108 26F CR produces this output:
0 1 2 3 4 5 6 7 8 9 A B C D E F
0100 01 00 02 60 FF FE BF FF 82 70 90 AB 26 90 30 BB ...`..?....+x.0;
0110 00 00 00 00 66 39 80 87 30 A0 3E 75 62 50 96 87 .....9..0 ...P..
0120 66 39 80 6D 30 9A 2A B1 62 A0 96 61 66 30 6A 44 .9..0.*1. ...0.D
0130 30 54 46 BA 62 50 88 44 66 30 6A 61 30 39 46 E0 0TF:.P.D.0..09F`
0140 62 A0 88 61 66 38 48 26 30 1B 50 DE 62 50 60 26 . ...8Hx0.P^.P`&
0150 82 70 90 AB 26 90 30 BB 00 00 00 00 66 39 80 87 ...+&.0;.....9..
0160 30 A0 3E 75 62 50 96 87 66 39 80 6D 30 9A 2A B1 0 ...P...9..0.*1
0170 62 A0 96 61 66 30 6A 44 30 54 46 BA 62 50 88 44 . ...0.D0TF:.P.D
0180 66 30 6A 61 30 39 46 E0 62 A0 88 61 66 38 48 26 .0..09F`. ...8Hx
0190 30 1B 50 DE 62 50 60 26 82 70 90 AB 26 90 30 BB 0.P^.P`x...+x.0;
01A0 00 00 00 00 66 39 80 87 30 A0 3E 75 62 50 96 87 .....9..0 *..P..
01B0 66 39 80 6D 30 9A 2A B1 62 A0 96 61 66 30 6A 44 .9..0.*1. ...0.D
01C0 30 54 46 BA 62 50 88 44 66 30 6A 61 30 39 46 E0 0TF:.P.D.0..09F`
01D0 62 A0 88 61 66 38 48 26 30 1B 50 DE 62 50 60 26 . ...8Hx0.P^.P`&
01E0 82 70 90 AB 26 90 30 BB 00 00 00 00 66 39 80 87 ...+&.0;.....9..
01F0 30 A0 3E 75 62 50 96 87 66 39 80 6D 30 9A 2A B1 0 ...P...9..0.*1
0 1 2 3 4 5 6 7 8 9 A B C D E F
0200 62 A0 96 61 66 30 6A 44 30 54 46 BA 62 50 88 44 . ...0.D0TF:.P.D
0210 66 30 6A 61 30 39 46 E0 62 A0 88 61 66 38 48 26 .0..09F`. ...8Hx
0220 30 1B 50 DE 62 50 60 26 49 00 00 00 00 00 00 00 0.P^.P`xI.......
0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0260 00 00 00 00 00 00 00 00 00 00 00 00 00 94 7E 00 ................
This is a hexadecimal dump of the RAM-area that contains all audio settings. Each setting (parameter) occupies one byte, hence has a value between 00h and FFh (between 0 and 255 in decimal). Addresses of audio parameters can be calculated using this formula:
RADR = ARAM-12 + IDAC + ISYNC*8 + CCAB*12 + SPEED*24 + CHNL*72 + TAPE*144
RADR = Relative address in decimal, an offset from absolute address 108 hex.
ARAM = Absolute addres in RAM (in hex 108, in decimal 264).
IDAC = 0 for level repro, 1 for treble repro, 2 for bass repro, 3 for equalization repro,
4 for level record, 5 for treble record, 6 for bias record, 7 for equalization record,
8 for erase current level, 9 for skimming bias level (8 and 9 for A820 only)
ISYNC = 0 for repro mode, 1 for sync mode.
CCAB = Equalization, 0 for CCIR, 1 for NAB (at 3.75 ips always NAB, at 30 ips always CCIR).
SPEED = 0 for 3.75 ips, 1 for 7.5 ips, 2 for 15 ips, 3 for 30 ips.
CHNL = 0 for channel 1, 1 for channel 2.
TAPE = 0 for tape sort A, 1 for tape sort B (A810: 1 for A, 0 for B).
With an A810 connected sending command P 108 26F CR produces this output:
S0* A810 * S11B0108827090AB269030BB000000006639808730A03E756250968715 S11B01206639806D309A2AB162A0966166306A44305446BA6250884453 S11B013866306A61303946E062A0886166384826301B50DE6250602613 S11B0150827090AB269030BB000000006639808730A03E7562509687CD S11B01686639806D309A2AB162A0966166306A44305446BA625088440B S11B018066306A61303946E062A0886166384826301B50DE62506026CB S11B0198827090AB269030BB000000006639808730A03E756250968785 S11B01B06639806D309A2AB162A0966166306A44305446BA62508844C3 S11B01C866306A61303946E062A0886166384826301B50DE6250602683 S11B01E0827090AB269030BB000000006639808730A03E75625096873D S11B01F86639806D309A2AB162A0966166306A44305446BA625088447B S11B021066306A61303946E062A0886166384826301B50DE625060263A S11B022849000000000000000000000000000000000000000000000071 S11B0240000000000000000000000000000000000000000000000000A2 S11B0258000000000000000000000000000000000000000000947E0078 S9030000FC
This is a dump of all the parameter values in the requested RAM-area in Exorcisor format. This format is useful for load and save operations of the RAM-area that contains the audio setting parameters, because Exorcisor format contains checksums per record.
See Wikipedia for a description of Exorcisor format.
02.06.1986: EDT,LFT implemented for A812 and A820
13.06.1986: error message for A812 and A820:
CR LF "?" CR LF replaced by "?" CR LF
CR LF "INPUT FORMAT ERROR" CR LF replaced by "INPUT FORMAT ERROR" CR LF
18.07.1986: In part: "commands for internal use only" got commands
"B" break disabled
"L" load disabled
"V" verify disabled
13.08.1986: EDI disabled for A812 and A807 new implemented
02.09.1986: EMC & DMC disabled for A812 and A820
PAP new implemented for A812 and A820
15.01.1987: TC? new implemented for A812 and A820
17.09.1987: AA? new implemented for A812 and A820
21.10.1987: TDF & TDN commentary accomplished
03.11.1987: ION,IOF implemented for A807
04.11.1987: SD? implemented for all machines
09.11.1987: MIC,LIN,CON,COF implemented for C270
09.11.1987: CIF,CIN,SDN,DN? implemented for C270,C274,C278
11.11.1987: LAD, LA?, LOP, TPN, TPF implemented for C270, C274, C278
03.12.1987: RPL, SDA, DA?, SC0, CO?, CTN, CTF, STD, TD?, CD?, UD?, SAC, SAL,
JTM and JCL implemented for C274, C278
14.12.1987: ER?, DSY implemented for C274, C278
16.12.1987: ZLO and RTI implemented for A812 and A820
18.12.1987: LZA implemented for C270, C274, C278
09.02.1988: RTM, TRA, MT? implemented for C274, C278
10.02.1988: RTM, TRA, MT? implemented for C270
16.02.1988: Locator status ‘autoreverse’ implemented for C274, C278
16.02.1988: Status ‘locator play reverse’ implemented for C274, C278
16.02.1988: Status ‘locator play reverse achieved’ implemented for C274, C278
14.03.1988: LS?: additional preselected play implemented for C270, C274, C278
23.03.1988: JCD, JTD implemented for C274L, C278L
13.01.1989: TP? new implemented for A812 and A820
17.01.1989: MK? new implemented for A812 and A820
17.01.1989: SAP, PAP, AP? completed with selector values 8 and 9 for erase
current level and skimming current level (only MK II models)
18.01.1989: MT? new implemented for A812 and A820
06.06.1989: TCN, TCP implemented for A807
21.06.1989: Status RPL (reverse play) redefined from OAh/8Ah to 25h/OA5h;
Status RPV (rev play varispeed), RPI (rev play vspd int ref) and
RPE (rev play vspd ext ref) new for A812 and A820
09.08.1989: A807 audio commands completed for tc channel.
Command RPL implemented for A820 and A812
03.11.1989: Command TP? doesn’t print tape tension reverse play left/right on A812
06.12.1989: SVS, CVS, VS? and SVP new implemented for A820/A812 MkII
11.12.1989: LOC and STM corrected for A807: no CR LF at end
14.02.1990: A816: CR consequently for all commands, CC? and TO? new for A816
16.02.1990: General remarks to control x, xon, xoff protocol
24.09.1990: MT? new implemented for A810
04.04.1991: PAP without parameter now means "cancel preset audio parameter"
27.07.1992: STM description for A820, A812, A816 corrected (dms: from xxx to x)
27.08.1992: LOC description for A820, A812, A816 corrected (dms: from xxx to x)
19.10.1992: CFA, CFB and CF? for A816 for setting/requesting broadcast mode introduced
20.10.1992: SPA, LPA, SCF, LCF, SL?, QSL for A816 for saving au+td parameters, loading
au+td parameters, saving keys, loading keys, requesting process state and
quitting process introduced
02.11.1992: TDF & TDN disabled for A816 (no TC version 1)
03.11.1992: SMD, LMD for A816 for saving & loading function modes and addresses introduced
23.12.1992: ST? completed for A816 with states 4C/4D = wind with shuttle deviation
03.03.1993: For A816 error messages "SWITCH EDIT LEVER TO NORMAL POSITION, PLEASE !™ and
"OVERRUN FRAMING ERROR !" at echo mode introduced
10.03.1994: SL? has more states to be displayed: also ODh and OEh possible
24.03.1994: MU? to display channel mute state implemented for A816
27.01.1995: CC?, MU? to display ch conf & ch mute states implemented for A812/A820
14.02.1995: SPA, LPA, SL?, QSL introduced for A812MkII and A820MkII
21.03.1995: CAB, VAB introduced for A812MkII, A820MkII and A816
25.09.1996: LOF, LO? ,CAY, YT?, SCP, SCL, SC?, LEN, LEF, LE?, VLN, VLF,VL? for A816
10.10.1996: LCF and SCF for A820 2channel and A812
28.02.1997: TS? (tape sort A or B) and EQ? (ccir or nab) for A816, A812, A820
04.04.1997: DCD (display capstan deviation) for A816, A812, A820
04.04.1997: DSN/DSF (display splice nr/takes on/off) for A816
01.05.1997: DSN for A816 corrected: shows address also
22.05.1997: DSN at A816: max. splice length = 104.16mm (filter); SP? for AB16
30.07.1997: DCD response with ‘CAP ' string only for A816